Komodo IDE/Edit 6.1 Release Notes
These Release Notes cover what's new, detailed changes and bug fixes and known issues for Komodo IDE and Komodo Edit.
What's New in Komodo IDE/Edit
6.1
- Better Support for Django:
- better syntax highlighting and smarter indentation for templates,
- syntax checking for templates,
- automatic code completion for Django template tags and filters,
- hyperlinks to easily jump to template file locations and
- directory name matching in "Go to File" for quickly opening project files
- Projects: By popular demand, file and directory references have been reintroduced. These can be organized in Groups to keep things logical and tidy.
Detailed Changes and Bug Fixes in Komodo IDE/Edit
Changes related to debugging, interactive shells, source code control, the HTTP Inspector, the Rx Toolkit, the Code Browser, and the Sections List apply to Komodo IDE only.
6.1.2 Bug Fixes
- Code Intelligence:
- PHP: provide completions for classes defined in namespaces. (Bug 88964)
- PHP: provide completions for variables defined in namespaces. (Bug 88964)
- PHP: show calltips for inherited class constructors. (Bug 90156)
- PHP: ensure parent class lookup resolves namespaces correctly. (Bug 89755)
- Python: detect class instance variable assigned via tuples. (Bug 89416)
- jQuery: updated API catalog to version 1.6.1. (Bug 89475)
- CSS: removed empty string completion items for 'text-align', 'content' and 'quote'. (Bug 90055)
- Places:
- SCC:
- Code Formatters:
- Remote Files:
- Database Explorer: when editing a row, show scroll bars if there are too many columns to fit on the screen. (Bug 90087)
- Debugging: Ruby: correctly encode attribute values that contain special characters. (Bug 90564)
- Project Templates: improve compatibility with v5 extensions and macros. (Bug 89750)
- Django: trigger syntax checking when the Python interpreter changes. (Bug 89573)
6.1.1 Bug Fixes
- Projects: Fix "Browse" and "Browse Remote" buttons in project properties. (Bug 89296)
- Places: Fix performance issue caused by files changes. (Bug 89377)
- Debugging: Komodo could hang when starting/stopping debugging sessions. (Bug 88439)
- Startup: Remove Komodo-specific environment variables. (Bug 89345)
- Fast Open: Sort directory listings.
- CSS: Improve CSS3 syntax checking for unknown at-rules. (Bug 85396)
- CSS: Improve CSS3 syntax checking for unknown properties. (Bug 87425)
- Tcl: Lexer must escape '['. (Bug 89290)
- Allow opening directories from the command line. (Bug 89364)
- Editor: Ensure 'Close Others' on tabs offers to save unsaved files. (Bug 89304)
- Sections List: Use "Ctrl+L" keybinding instead of "Ctrl+F8". (Bug 89399)
- Keybindings: Allow "Ctrl+Space" keybinding on Mac OS X. (Bug 89069)
- Vi Emulation: Ensure a repeat of the ">>" command works properly. (Bug 89370)
6.1.0 Bug Fixes
- Editor:
- Places:
- Debugger:
- Go to File:
- JavaScript:
- Python
- Perl: Fix completions for installed site lib modules. (Bug 89106)
- CSS: Show completions for HTML5 tag names. (Bug 89143)
- Rx Toolkit: Allow choice of delimiter (delimiters) for Perl and PHP. (Bug 88637, 88637)
- Rx Toolkit: Allow customization of the Regex fonts. (Bug 88035)
- Preferences: Ensure Unicode entries are saved correctly. (Bug 84566)
- Preferences: allow user to save prefs, leaving erroneous entries unchanged (Bug 84919)
- Don't show the current file name when creating an unnamed new file. (Bug 89062)
- Ensure pasting of code keeps the right tab settings. (Bug 89115)
- Stop the editor from scrolling when resizing in Linux. (Bug 88968)
- Database explorer reverses value of "Nullable?" when viewing Sqlite3 table schema. (Bug 89074)
- Add command-line "-n" option to open a new Komodo window. (Bug 89071)
- Add a command to switch between Komodo windows. (Bug 88970)
- Hyperlinks: for relative paths, resolve through the current file path. (Bug 89057)
- Formatting: Keep place in file after applying a format operation. (Bug 83418)
- SCC: Git: Use "git difftool" when external diff is selected. (Bug 88778)
- Stop hyperlinks from interfering with rectangular column selections. (Bug 89114)
- Vi Emulation: Stop doubling of delete commands after using a visual replace command. (Bug 89041)
- When switching tabs, ensure the focus stays on the editor. (Bug 89163)
Known Issues
To view the status of outstanding Komodo issues, including those that have been fixed in this release, or to add comments or additional issues, please visit the Komodo Bug Database.
Installation & Upgrade
- Windows Vista will prompt you to either 'Allow' or 'Deny' the installation. Click on 'Allow' and Komodo will install normally.
- The Komodo installer requires up to 230 MB in your TMP directory (as indicated by the value of your 'TMP' environment variable) during installation, even if you plan to install Komodo to another drive. If you do not have the required space on this drive, manually set the 'TMP' environment variable to another directory with sufficient space. Ensure that you have enough space, temporarily, for installation. (Bug 7057)
- If you try to install Komodo on Windows and the MSI install fails with error 2355, your MSI file is corrupt. Please download Komodo again and re-run the MSI install. (Bug 7405)
Startup
- The first time Komodo is run after installation, it must register a number of components with the operating system. This causes the first launch to be considerably slower than subsequent launches.
Editing
- Tabstop syntax has changed in Komodo 5.0. Abbreviation from the Toolbox|Samples directory of pre-5.0 versions of Komodo will not work as expected with the current implementation. Delete the older versions to use the ones featured in the "Samples (5.0.0)" directory. Alternatively, if you have made modifications to these snippets or have implemented your own using tabstops linked by name, consult the documentation and revise them using numbered linking.
- By design, Komodo does not attempt Replace in Files operations on unknown file types. However, file association preferences can be used to associate a user-defined extension with a language category (e.g. "Text") which then enables replacements for that file type.
- Linux users may need to install the SCIM platform packages for non-ASCII text entry. See "Linux Software Prerequisites" in the Installation Guide for details. (Bug 70812)
- While autocomplete on many of the modules in the Python PyWin32 packages works, Komodo's PyWin32 API catalog currently does not have information for: pythoncom and the binary sub-modules of win32com.
- The macro recorder will record events that it cannot handle, such as the opening of dialogs. The only dialog that can be opened via a macro is the Find dialog; other dialogs will cause the macro to stop.
- Languages that are read right to left and Asian languages are not supported. All Latin and Cyrillic languages are fully supported. (Bug 29702)
- On slow networks, users may notice performance degradation when editing files on network machines. Performance can be improved by disabling the Komodo function that checks if files on disk have changed. Use the Editor Preferences to disable this feature. (Bug 18297)
- Interpolation shortcuts in snippets are not executed when the snippet is inserted in the Editor Pane via dragging and dropping.
- On Linux, GTK2 hard codes 'Ctrl'+'Shift' to use
international input. Therefore, all key bindings
involving 'Ctrl'+'Shift'+ (any valid hexadecimal
character) do not work in Komodo. A workaround is to
start Komodo with the command:
export GTK_IM_MODULE=xim; ./komodo'
. Otherwise, key bindings of this kind must be changed. (Bug 38205) - When copying text that does not have Windows line endings into another application, which expects Windows line endings, the text may not retain the desired formatting. The text is often pasted as a single line. (Bug 36791)
- Code snippets that are 8-bit-encoded and contain high-bit characters may have the wrong encoding (or no encoding) when inserted from the Toolbox into a UTF-8 encoded file in the Editor Pane. (Bug 36769)
- When editing a code comment in Komodo you may use <Shift+Enter> to start a new line within the comment -- the comment prefix is added automatically. Komodo may fail to properly add the comment prefix if many new lines are added quickly with repeated <Shift+Enter> presses. (Bug 38658)
Debugging
- PHP: The
xdebug.remote_autostart
option will interfere with local debugging configuration in Komodo if it is enabled. If you need this option enabled for remote debugging, set the Path to alternate PHP configuration file under Preferences|Languages|PHP to point to a copy of php.ini without this option. - PHP: A non-empty
doc_root
setting in php.ini causes a 'No input file specified' error when starting a local debugging session with CGI emulation. The Web Developer Suite 2.0 package and others use this setting, and it is copied into the debugging version of php.ini during PHP auto-config. Comment this setting out in the file specified in 'Preferences|Languages|PHP|Path to alternate PHP configuration file' to avoid this problem. - Python: Breakpoints will not work with the Psyco extension enabled. The Komodo FAQ has a work-around solution.
- Tcl 8.5: Tcl Beta releases contain
only version-specific executables (e.g.
tclsh85.exe
andwish85.exe
). Komodo does not automatically find these in the path. To use them, specify the executables manually in Edit|Preferences...|Languages|Tcl|Interpreters, or create non-versioned symlinks/shortcuts to the versioned executables. - The Perl debugger uses
alarm()
internally. This can conflict with some Perl frameworks and modules (such as POE) which usealarm()
as well. To work around this problem, addalarm=0
to thePERLDB_OPTS
environment variable (in the Environment tab of the Debugger Options) which stops the debugger from usingalarm()
. With this work-around in place, the Break Now button and menu item will not work in debugging sessions. - Using the JavaScript debugger on files with mapped URIs can yield confusing results. Komodo will open the mapped source file rather than querying Firefox for the runtime JavaScript.
- Python debugging with IronPython does not currently work as there is no support for Python debugging hooks in IronPython.
- In PerlApp executables, it is now possible to step into loaded modules, but not to set breakpoints in them.
- The Komodo JavaScript Debugger is incompatible with the FireBug Firefox extension. FireBug must be manually disabled (Tools|Firebug|Disable Firebug) for the JavaScript debugger to work. (Bug 47208)
- PHP 5.0.0, 5.0.1 and 5.0.2 do not work with the debugger extension. Use PHP versions 4.3.10 or greater, or 5.0.3 or greater, including 5.1.
- If the debug listener (Debug|Listen for Debugger Connections) is off, multithreaded applications may not run or debug as expected. Only the main thread operates through the debugger. To debug multithreaded applications, turn on debug listening prior to debugging. (Debug listening is turned on by default.) (Bug 32776)
- PHP configurations that use Zend Extensions (such as PHP Accelerator) are not compatible with the Komodo PHP debugger. (Bug 21890)
- Due to the way the core Perl interpreter works, it is not possible to step over "require" statements. (Bug 18776)
- You cannot debug 'freestanding' executables created with the PDK in Komodo. Instead, build a 'dependant' executable, which requires a local install of ActivePerl.
- The variable watcher does not work when debugging
\\machine\d$\path\to\perl_script.pl
. It does work when opening the same file via a UNC path that does not include a '$' character. (Bug 19558) - When debugging remote applications, Komodo fails if the remote process does not have valid stdout and stderr handles. GUI applications, such as those started with "wperl.exe" or "pythonw.exe", or those using the Pythonwin or wxPython frameworks, or those with certain embedded applications, can have invalid stdout and stderr handles. Until we resolve this issue, try to run and debug your remote program under perl.exe or python.exe.
- Python, XSLT and PHP debugging require TCP/IP to be installed and properly configured, even if you are debugging scripts locally. While TCP/IP is configured by default on most systems, early versions of Windows may require manual TCP/IP configuration.
- When debugging a GUI script in Komodo, adding a "watched variable" when not stopped at a breakpoint can cause Komodo to hang. You must manually terminate the script being debugged to stop Komodo from hanging. The problem occurs because the GUI script, while in its message loop, does not respond to Komodo's request for the variable value. (Bug 23516)
- If the Komodo debugger is configured to use a specific port, when Komodo is shut down, the port is sometimes not immediately released. If Komodo is restarted before the port is released by the operating system, a message is displayed advising that the system is unable to bind that port. As a workaround, we suggest configuring port 0 as the Komodo debugging port and using the debugger proxy for remote debugging. (Bug 32821)
- Breaking into a running Perl script can only occur while crossing sub boundaries in the Perl code, as that's currently the only chance the Perl debugger has to check to see if the IDE has sent the break command. (Bug 35611)
- When debugging Perl, if you set a breakpoint on the
while
statement, the debugger stops on the breakpoint only once, namely before the first pass through the loop. This is a limitation in the Perl interpreter. (Bug 34866) - Komodo debugger uses TCP/IP networking for communications. On systems with firewalls installed, the debugger may fail if the firewall is not configured to allow Komodo to listen for connections. On Windows, you may see a "Windows Security Alert" dialog asking if you want to allow Komodo to listen for connections, you will need to unblock Komodo. (Bug 21684)
- The Perl debugger cannot trap fatal runtime errors.
Users can accomplish this in their code by wrapping
problematic code in an
eval
block, and then testing for an exception. (Bug 33855) - Komodo does not provide proper source debugging in
Python
exec
andeval
statements. This is a limitation of Python's interpreter. (Bug 40336) - When debugging PHP on a remote Linux machine from a local Windows machine, the debugging option "Try to find files on the local system when remote debugging" has no effect. This is due to differences in Unix and Win32 file paths. (Bug 39137)
- When debugging Python, Komodo does not permit you to set local variables in the interactive shell. However, you can edit those values from the program's variable viewers, such as the Watch and Locals panes on the Debug tab. (Bug 36794)
- When debugging PHP scripts on Komodo with CGI
emulation, you may need to change the setting for
cgi.force_redirect
in the php.ini file. You may also need to set an environment variable in the Debugger Options dialog box: "REDIRECT_STATUS=200 OK". These settings vary depending on your system and the configuration of PHP. (Bug 35021) - When Debugging PHP, the HTML pane of the Output tab does not refresh automatically. To refresh the contents of this pane, click the "Reload HTML view" button on the Output tab. (Bug 36999)
- Komodo supports full Unicode debugging with Perl 5.8. Although Perl 5.6 can be used for debugging programs with single-byte encodings (e.g. cp1251), it is recommended that programmers with multi-byte character sets upgrade to Perl 5.8.5 or better. (Bug 36760)
- When debugging Python, if you launch the debugger from a directory containing a module with the same name as one of the modules used by the debugger, the wrong file is used. For example, if you have a file named logging.py in the directory where the debugger is launched, the debugger will fail. (Bug 36783)
- When stepping through Perl files, the Komodo debugger displays the wrong print results in the Locals window of the Debug tab. This is because Perl provides only one iterator for each collection variable. The Komodo debugger must iterate through a hash or an array in order to display the values in Komodo. A workaround is to display the Watch pane instead of the Locals pane, and type the names of the expressions that you want to view. (Bug 33668)
- As of Komodo 5.0, the Perl debugger emits numeric hash keys with embedded underscores. For example, a hash key of '123456789' now appears in the variables tabs as '123_456_789'.
- Breakpoints don't work in files with symlinks in their path. The debugger engine calculates whether to break based on the actual file path. To work around this limitation, load the file in Komodo using the real path, or create a hard link (e.g. on Linux, use 'ln' without the '-s' option). (Bug 79147)
Interactive Shell
- The interactive shell does not initialize properly when invoked while the Command Output tab has focus. To avoid this, switch focus to another tab or sidebar before starting the interactive shell.
- Perl: Only pattern variables $1 .. $9 are preserved across each query. (Bug 34528)
- Python: The getpass package requires the use of a tty on UNIX systems. Komodo does not provide a tty in its interactive shell so getpass will fail with an exception. (Bug 34259)
Source Code Control
- The SCC Checkout wizard does not correctly handle password authentication. SCC checkouts requiring password authentication should be done at the command line.
- A bug in CVS will cause WinCVS and TortoiseCVS to detect file changes when a Komodo project has merely been opened. The problem is likely a bug in the cvshome.org executable or in the cvsnt.org executable, which are used by both WinCVS and TortoiseCVS. (Bug 21085)
- Komodo's integration with the Perforce commit/submit command cannot commit files that are not in the default changelist. These files must be submitted via an external interface (e.g. p4, P4Win). Note that any files checked out inside Komodo are in the default changelist, so this limitation should only apply to users who already use an external interface to their Perforce repository. (Bug 27070)
- If the Perforce connection cannot be established, checking the status of files in a Perforce repository will hang Komodo. (Bug 35058)
- If you are using CVS Source Code Control, note that the very first time you log in to a repository, cvs.exe fails to create the .cvspass file correctly and will return an error. Repeat the command to login a second time and correctly generate the file. This is a CVS bug. (Bug 20353)
Mac OS X
- If you have two drives with the same name, and you use the file open dialog in a Mozilla application, the directory menu (top middle of dialog) may crash when clicked. To avoid this, rename one of the hard drives.
- New Custom Menus created in a Project or in the Toolbox will not appear until Komodo has been restarted.
- Throughout the Komodo documentation there are references to key bindings that use the 'Cmd' key. This key may be better known to OS X users as the 'Command' key. (Bug 41959)
- Komodo will shut down and restart itself the first time it is run after installation. (Bug 40143)
- Display of text during editing ("painting") may sometimes be slow or pause momentarily.
- Certain UI elements stop working after changing key bindings. Restarting Komodo fixes this. (Bug 38683)
- When saving a file, Komodo does not set file information (type and creator) for the OS X Finder to know that Komodo created the file. (Bug 38745)
- Breakpoints cannot be removed when debugging XSLT scripts. (Bug 40072)
- PHP debugging will not work with the PHP build
distributed with OS X because it does not load external
modules. To use PHP debugging on OS X, build PHP from
source or download a binary from http://www.entropy.ch/software/macosx/php
(Bug 39901) - Komodo is sometimes recognized as a web browser by some applications on OS X (e.g. Safari's "Default Web Browser" setting). Using Komodo as the default web browser is not recommended.
- Application menu items that have multi-key key bindings will not show their key bindings in a pop-up tool tip on OS X. This is a limitation in OS X.
- Context menus may not display unless you hold down the mouse button for a period of time. This is because the Komodo editor is implemented in Mozilla as a plugin, and it does not access the appropriate context menu event to handle this behavior properly without interfering with other mouse events (for example, drag and drop). (Bug 41216)
- Due to a limitation in the Mozilla code base, key bindings for the Next File and Previous File options on the Window menu are not displayed next to the menu items. The key bindings are 'Cmd'+'PageDown' to view the next file and 'Cmd'+'PageUp' to view the previous file. (Bug 40716)
Linux
- The Fonts and Colors pane in the Preferences dialog box displays the same list of fonts in both the Fixed and Proportional lists. There is no programmatic way to identify whether a font is proportional or not on GTK; therefore, users must know the properties of the individual fonts when modifying these values. (Bug 27206)
- Install Komodo into a directory path that only includes alphanumeric characters. Komodo is known to have trouble with paths that include spaces and some non-alphanumeric characters.
- Key bindings defined in the window manager (such as KDE) take precedence over Komodo key bindings. In the case of conflicts, you must either change the Komodo key bindings or the window manager key bindings. (Bug 30926)
- You cannot move an existing Komodo installation to a new directory. You must uninstall Komodo from the existing location and reinstall it in the new location. (Bug 19478)
- Red Hat Linux 9.0 is known to have threading library bugs in its glibc that may cause Komodo to hang in certain situations. The recommended solution is to upgrade to the latest glibc for Red Hat Linux 9.0. (Bug 24340)
- Using colon-separated include paths in the Perl
shebang line causes a parse failure on some versions of
Perl. Instead of using "/usr/bin/perl -cwT
-I/path1:/path2 yourscript.pl", try using multiple
include arguments such as "/usr/bin/perl -cwT -I/path1
-I/path2 yourscript.pl"
(Bug 33524) - Komodo may not start up correctly on some Linux
systems if C++ compatibility libraries have not been
installed. On Fedora and Red Hat systems, install the
"compat-libstdc++" package. On SuSE, install the "compat"
package. On Gentoo, as root, run
emerge lib-compat
. This is not thought to be a problem on Debian systems. (Bug 36244)
Other
- A limitation in the parser used by the DOM Viewer causes HTML elements embedded in JavaScript strings to appear as element nodes of the current document. Placing the JavaScript in a CDATA section or a comment avoids this problem.
- Komodo inherits a Mozilla bug whereby certain video drivers on Windows cause Komodo to crash. If you experience this behavior, upgrade your video driver to the latest version. If the problem persists, reduce the color definition assigned to the driver (Control Panel|Display|Settings). (Bug 32746)
- Komodo inherits a Mozilla bug regarding display on dual-monitor systems where the secondary monitor is to the left of the primary monitor (causing negative coordinate results). The Komodo display occasionally fails to refresh; Komodo must be stopped and restarted to fix the display (Bug 26852)
- When using Komodo's Preview in Browser feature, users running Mozilla on Windows XP Pro, Windows 2000 Pro and Windows 98 may find that they cannot exit Komodo if Mozilla is still open. If this should occur, close all open browser windows before exiting Komodo. (Bug 26431)
- The Palm Desktop for Windows software makes exclusive use of the 'Ctrl'+'Shift'+'T' key combination, thus making this combination unavailable in Komodo. (Bug 27851)
- When using the PDK Build Standalone Application feature in Komodo with Perl 5.8.0 on a Linux installation where the environment is set to use UTF-8, you must add a module 'utf8' on the modules tab. This is the equivalent of 'perlapp --add utf8'. This does not affect Perl 5.6.x or future versions of Perl 5.8.1 or higher. (Bug 26898)
- On Windows NT, some interactive commands may not work properly when run from the Command Output tab of the Output Pane. You must run these commands in a separate shell. (Bug 23176)
- Perforce client version 2001.1 and previous for Windows is known to hang when used for Komodo's Perforce integration. Upgrading to the most recent version of Perforce is known to fix the problem. (Bug 19959)
- The Output tab cuts off lines at 250 characters. (Bug 20711)
- Macros will not record certain commands, including (but possibly not limited to) 'Ctrl'+'Shift'+'B'|'R'|'E'|'D' (toggle toolbars or button text), 'Ctrl'+'Shift'+'N' (new default file), and View as Language menu items.
- If you are using the Pop-Up Stopper ad-blocking program (Pop-Up Zapper on OS X), it will close the Rx Toolkit window immediately after it is opened. (Bug 21768)
- When you schedule a new file to be added using CVS, CVS will not permit you to remove the file from the repository using the "revert changes" command. (Bug 27192)
- Users of the Japanese version of Windows XP may experience difficulties in starting Komodo.
- The Open field in the Open/Find Toolbar does not automatically display a drop-down list of directories when an UNC path is typed. Currently, the list is only displayed when a the path includes a subdirectory. (Bug 29011)
- When creating a "diff" in Komodo (Tools|Compare Files), the line endings of the files are normalized to Unix style line endings. Lines in files that have different line endings are not displayed differently in the diff (unless other differences are present), but a warning is provided to the user in the 'diff' window, or the 'no difference' dialog. (Bug 32932)
- In Komodo's Rx Toolkit, the match offsets for Unicode or high-bit data are incorrect. When matching, the program does not account for UTF-8 multi-byte characters. (Bug 33287)
- When adding new key bindings via the Preferences dialog box, Komodo displays a message indicating that the key bindings will not take effect until Komodo is restarted. However, some changes do take effect immediately.(Bug 36710)
- If you rename a folder that was added to a custom menu, the name is changed in Komodo's Toolbox but not on the menu itself. A workaround is to move the renamed folder out and then back into the associated custom menu icon in the Toolbox. (Bug 36679)
- A newly created custom menu is added to the Toolbox but is not immediately displayed alongside existing toolbars. Restarting Komodo causes the new toolbar to display. (Bug 40078)