Cascade Release Notes --------------------- Copyright (C) 2008 Conifer Systems LLC. All rights reserved. Cascade contains valuable trade secrets and other confidential information belonging to Conifer Systems LLC. This software and its associated documentation may not be copied, duplicated or disclosed to third parties without the express written permission of Conifer Systems LLC. Known Issues ------------ We are aware of the following issues and limitations. If any of these are a major problem in your environment, please let us know so that we can prioritize a fix appropriately. - Cascade cannot commit changes to a Subversion server using the "svn://" repository access method. "svn://" Subversion servers are currently read-only. Cascade can only commit changes using the "http://" and "https://" Subversion repository access methods. - When Cascade is using "https://" Subversion repository access or accessing a Cascade Manager server via https, the server's certificate is not validated, so it is possible that someone impersonating the server could intercept the traffic. (In practice, many Subversion server certificates are self-signed or otherwise not signed by a standard CA; validating the certificates would not provide much added security in this case.) - Alienbrain support is somewhat experimental at this point in time and is not included in this release. Please contact us if you are interested in using Cascade with Alienbrain so we can set you up with an Alienbrain solution. - Some Perforce servers -- those with the "security" counter set to 3 (you can check this by typing "p4 counters") -- do not accept passwords for authentication; they only accept tickets. When Cascade prompts you for a password to such a Perforce server, you need to enter your ticket and not your password. "p4 tickets" will show you a list of your tickets. You may have more than one, if you use multiple Perforce servers or different Perforce usernames, so make sure to select the right one. The ticket itself is the 32-digit hex value at the end of the line. - If you change your password, you must manually delete the .csc directory in your home directory to flush old cached passwords. - On Windows, some operations such as "csc update" do not work correctly after renaming a file between uppercase and lowercase (but not otherwise changing its name). - The installer does not check whether you have enough disk space for your Cascade storage files. - CFS reports almost all of its "disk space" as being free, no matter how many files you've edited that it's had to make local copies of. - The Cascade Proxy protocol sends all information, including usernames, passwords, and file contents in cleartext. Do not run Cascade Proxy over the public Internet, only on a private network, over an appropriately configured VPN that uses IPSec, PPTP, or other packet-level encryption, or via an SSH tunnel. - The caches in CFS and Cascade Proxy may allow one user to gain access to another user's cached data -- cached information is not tagged with the username. Therefore, Cascade Proxy is not suitable for use in an multi-user environment where you need file-level (not just repository-level) read permissions, nor are multi-user shared instances of CFS. If repository-level read permissions (i.e. if a user can access one file in a repository, it is OK if they can access all files) are sufficient, this is not an issue. It is also not an issue if all of the users with access to a particular CFS or Cascade Proxy instance have the same file access rights. - Multi-user shared instances of CFS are not secure under Windows, only under Linux/Macintosh. That is, on CFS under Windows, any user logged into the system can view and modify any other user's CFS trees. (On Linux and Macintosh, your CFS trees are private and no one else can access them.) - Once you have set up your repositories in Cascade Manager and hit Start on the Admin page, you cannot add more repositories or edit these repositories. If you need to change any of the repository information, you will need to start again from a fresh Cascade Manager database (delete all of the files in the Cascade Manager database directory). - PowerPC Macintosh systems are not currently supported by Cascade, only x86. - CFS on the Mac is a 32-bit binary and will not run in 64-bit mode on 64-bit-capable systems. (This reduces performance, but does not affect functionality.) Note that MacFUSE support for x86_64 is still listed as "experimental" by the MacFUSE developers. - Extremely slow performance (on the order of minutes) has been observed with certain forms of the "p4 dirs" query on very large Perforce repositories. If you encounter this problem, for a large Perforce repository, you may want to use a narrower repository URL such as: p4://perforce:1666/depot/main/project rather than just p4://perforce:1666 (Of course, if you do this, you will only be able to see a subset of the repository.) Changes and Bug Fixes from Cascade 1.1.1 to Cascade 1.2.0 --------------------------------------------------------- - Cascade Proxy is no longer a separate service. It is now built into the CFS service. - Added column provider interface to shell extension. This adds support for "Author", "Revision", "Merge Revision", "Last Commit Revision", and "Last Commit Time" columns in Windows Explorer's "Details" view. - Removed buggy "csc checkpoint -svn" and "csc checkpoint -ab" commands. We will consider reintroducing this feature at a later date. - Added "-d" argument to "csc checkpoint", "csc launch", and "csc commit" to specify the change's description. Added description to the printout from "csc status". Removed "csc describe" command. - Added "-n" argument to "csc checkpoint", "csc launch", and "csc commit" to specify the checkpoint's name, and corresponding "Checkpoint Name:" field in "Checkpoint/Commit..." dialog. This name can be used with "csc clone" or the "Clone..." dialog in the shell extension to clone from that named checkpoint. - Added support for checkpointing/committing a subset of the edited files in a tree. On the command line, you can specify a list of paths as arguments to "csc checkpoint", "csc launch", and "csc commit". In the shell extension's "Checkpoint/Commit..." dialog, you can select which files to checkpoint via checkboxes in the file list view control. - Added exclusive file locking via "csc lock" and "csc unlock" commands, plus corresponding shell extension functionality and "Admin/Lock Management" page in Cascade Manager. - Added "csc log" command and "Log..." shell extension dialog to display a file's history. - Added "csc blame" command and "Blame..." shell extension command to display who last modified each line in a file. - Eliminated requirement that Perforce be installed on the computer hosting Cascade Manager in order to be able to commit changes to Perforce servers. - Fixed Cascade Manager diffs of files that are part of checkpoints when Cascade Manager is hosted under Windows. - Added "edit repository" feature to Cascade Manager to accomodate cases where the URL, username, or password for the repository server have changed. - Performance enhancements to some of Cascade's Perforce queries. - More locking/concurrency optimizations. - Disabled Windows Explorer's Recycle Bin functionality for the CFS drive. - Non-administrators can now bring up the shell extension "Settings..." dialog, although they cannot modify any of the settings. - Various minor bug fixes to the Linux/Mac installer. - Added README to the Linux/Mac installer, directing users to look up the manual online. - On Linux, eliminated dependencies on libstdc++.so. Old "compatibility" versions of this library no longer need be installed to use Cascade. Changes and Bug Fixes from Cascade 1.1.0 to Cascade 1.1.1 --------------------------------------------------------- - Locking/concurrency optimizations to Cascade Proxy, Cascade File System, and Cascade Manager. - Cascade Manager now logs all database transactions. This logging is enabled by default and cannot currently be disabled. - Cascade Manager is now capable of acting as a WSGI application. This means it can now be served up by any WSGI-capable web server, not just the bundled standalone web server or Apache/mod_python. mod_python support is still included in this release and if you have an existing Apache/mod_python server it should continue to work for now, but the documentation has been updated to assume that you are using WSGI. - Added Cascade Manager support for using pysqlite2 instead of the builtin sqlite3 Python module. The version of pysqlite that is bundled with Python 2.5.2 has a serious deadlock bug that is fixed in pysqlite 2.5.0, so it is strongly recommended that you upgrade pysqlite. Instructions are provided in the installation section of the manual. - Can now click on edited files in the Cascade Manager "Revision" pages to bring up a diff showing what was edited in that file at that revision. - Cascade Manager Revisions page now highlights revisions in red if a skipped task failed at a previous revision. This makes it more clear which revisions can qualify for "last known good" status. - Optimized CFS and Cascade Proxy support for large storage files on 32-bit operating systems. - Optimized "csc status" and shell extension icon overlays. - Invalidate shell extension icon overlays after a commit, revert, or update. - The Windows Cascade installer now preserves your old settings by default when you install a new version of the product. - Added CFS_IGNORE to the shell extension's "Settings..." dialog. - Fixed various bugs in CFS_IGNORE support. - Added support for an "ignored" icon overlay state for files matching CFS_IGNORE or a .cfs_ignore file. - Added "Explore To" menu option from context menu inside "Checkpoint/Commit..." dialog. - Added "csc merge -s" and "Skip Merge..." to mark a file as not needing a merge, without doing a real merge. - Added checkbox to disable icon overlays to the shell extension's "Settings..." dialog. - Can now sort the files in the "Checkpoint/Commit..." dialog by different criteria by clicking on their list column headers. - Fixed email support for SMTP servers that allow anonymous sending of emai. - Added "logout" feature in Cascade Manager. Changes and Bug Fixes from Cascade 1.0.2 to Cascade 1.1.0 --------------------------------------------------------- - There is no longer a time-locked "trial edition" of Cascade. Cascade is now free to use in a single-user environment, and licensing is handled exclusively through Cascade Manager's license key scheme. - Added read-only support for svn:// Subversion repository access method. - Added support for task timeouts. By default, a task times out after 600 seconds and is killed, but this timeout can be customized per config. - Added support for specifying environment variables for tasks in a config. - Output files of tasks can now be directories and not just files. - Performance enhancements to "csc clone" from a checkpoint. - Performance enhancements to tasks with large numbers of output files. - Performance enhancements to traversing directories in Perforce with large numbers of files. - Performance optimizations to HTTP requests made by command line client, Cascade Worker, and Subversion commit. - Concurrency optimizations to Cascade Manager to reduce database lock contention. - Added support for ".cfs_ignore" files. The contents of these files are added to the CFS_IGNORE environment variable to filter the list of edited files. - CFS no longer attempts to restrict access to the /results mount point based on whether you've edited any files since your last clone/checkpoint. - Shell extension "Clone..." now supports cloning from a checkpoint. - The "Checkpoint/Commit..." dialog is now modeless. You can bring up a diff of a file by double-clicking on it, and you can diff or revert any set of files by selecting them and right-clicking to bring up a menu. - Added "Settings..." page to shell extension. - Improved handling of relative paths in command lines in Cascade Worker on Windows. - A commit now automatically does an update to "latest". - Revert at a mount point or higher up no longer destroys the tree structure. - Fixed newlines in edited text files cloned from a checkpoint. - Several bug fixes to handling of Unicode (filenames, task logs, etc.). - Deleting a config now enqueues a new revision, just like adding or editing one. - Cascade Manager Revision page now shows skipped tasks, with a link to their most recent results. - Improved quality of dependency tracking results on Windows. - csc_db_purge picks up the database path from the CSC_DATABASE config var. - Cascade Worker now suppresses the Windows error reporting dialog box when a task crashes. - Fixed bug in commits to Perforce servers with multiple depots. - Fixed bug in Cascade Manager support with multiple repositories where the second and subsequent repositories' latest revisions did not update. - Added "Send Test Email" feature in Cascade Manager. Changes and Bug Fixes from Cascade 1.0.1 to Cascade 1.0.2 --------------------------------------------------------- - Performance enhancements to checkpoint and commit operations. - Performance enhancements to enumerating the list of files modified in large Perforce changelists. - The command line client is now available as "cascade" in addition to the shorter name "csc". - Certain errors in CFS on Windows no longer cause Explorer to display a "The disk in drive X is not formatted" dialog box. - Various bug fixes to handling of case-insensitive file system semantics on Windows. - Fixed Cascade Manager hang when adding output files on Windows. - Windows tasks are no longer run under the cmd.exe shell by default. - Cascade Manager web pages now require that you enter passwords twice to help prevent typos. - Added "Clone Latest" and "Update to Latest" menu items in shell extension. - Shell extension now properly supports context menus with multiple files selected. - The shell extension's "Checkpoint/Commit" dialog now has a a "Refresh" button. - Cascade Manager now records the name of the user who edited a task configuration as the username associated with the new revision this enqueues. - More correct handling of the #, @, %, and * special filename characters in Perforce. - Fixed bug in committing to a P4 repository from a Windows instance of Cascade Manager: it would succeed but show an error to the user anyway. - Fixed bug in computing the list of files modified by a change for mount points that refer to only part of a repository. - Fixed support for mount points more than a single level of directories deep in "Clone" from the shell extension. - "Update" in the shell extension now works from a subdirectory of the tree rather than just from the top of the tree. Changes and Bug Fixes from Cascade 1.0.0 to Cascade 1.0.1 --------------------------------------------------------- - CFS for Windows now supports directory change notifications. This improves the usability of Windows Explorer in CFS trees. - Increased performance of shell extension icon overlays. - Cascade Manager's "Admin" drop-down menu now displays properly in IE5 and IE6. - The "Delete Tree" and "Revert" commands in the Cascade shell extension now prompt the user for confirmation. - Repositories can now be deleted in Cascade Manager, but only before the system has started up. - Fixed boundary condition error in Add Repository with an explicitly specified revision that is the same as the latest revision. - More character encodings have been included in the Python distribution that ships as part of Cascade for Windows. This should fix some problems encountered by non-US English users of Cascade under Windows. - The Linux and Mac uninstall no longer deletes the /var/csc_manager directory. It is usually desirable to keep this database around when upgrading to a newer version of Cascade. This also makes the Linux and Mac uninstall behavior consistent with the Windows uninstall, which has never deleted the Cascade Manager database. - The Linux installer script now refers to the "useradd", "userdel", and "ldconfig" programs by their absolute paths "/usr/sbin/useradd", "/usr/sbin/userdel", and "/sbin/ldconfig", in case /sbin and /usr/sbin are not in the user's PATH (as is generally the case if the installer was run from an "su" shell rather than "su -" or "sudo"). - The standalone (non-Apache/mod_python) version of Cascade Manager will now rebuild a new, empty database if you delete the existing database while it is already running. Previously, if you deleted the existing database while it was running (i.e. without typing "net stop csc_manager" first), you would be left with a corrupted database. - To match Perforce's behavior for long passwords, Perforce passwords longer than 16 characters are now truncated to 16 characters by Cascade.