Cornerstone 4.2 is now available! Dark mode, full macOS 10.15 support, in-app license key management, and more. Release notes.

Release Notes for 2.0

Filed under: Cornerstone,Release Notes — Administrator @ 1:49 pm

Important

Cornerstone 2 does not support Mac OS X 10.4 Tiger.

Do not upgrade to version 2 if you are running Cornerstone on Tiger.

New Features

  1. Merge functions added

    Cornerstone 2 adds a new merge view for merging between branches. The merge view supports four different types of merges which can be selected using the buttons at the top of the view:

    • Synchronize Branch
    • The synchronize branch merge type merges all changes made on the source branch (usually trunk) into the target branch (usually a feature branch). This is generally appropriate when synchronizing a feature branch with the changes made by other team members against the project’s trunk.

    • Reintegrate Branch
    • The reintegrate branch merge type merges all changes made on the source branch (using a temporary feature branch) into the target branch (usually trunk). This is generally useful when reintegrating the changes for a feature when the feature was developed in parallel to the rest of the project on a separate branch.

    • Cherrypick Changes
    • The cherrypicking merge type allows a set of revisions to be merged from one branch to another. This is particularly useful when back-merging bug fixes and minor changes from trunk to a maintenance branch for a previous release.

      The cherrypicking options GUI includes a new revision range set control which allows sets of revisions to be easily specified. It also conveniently displays which revisions have already been merged from the source branch.

    • Advanced Merge
    • The advanced merge type allows the differences between any two revisions of any two branches to be compared and applied to a third branch.

  2. Text diff view now supports blame annotations

    Blame support was added to the text diff view. Enabling annotations for a text file (or multiple files when comparing) results in annotation bars being displayed which describe the author and relative age of each revision which contributed to the file’s current state, with the width of the section’s bar indicating the relative age of those lines and the color identifying the revision’s author.

    Pointing the mouse at an annotation bar causes a callout to be displayed which shows log information for the associated lines. This information includes the author’s name, the commit date and the revision number. Clicking to select a bar expands the callout to display the revision’s log message.

    Clicking a revision’s annotation bar highlights all lines changed in that revision for the entire file, with markers displayed in the diff view’s vertical scroller allowing the user to gain a quick overview of the changes made in any one revision.

    In addition, statistics for the file are displayed in a new HUD-style panel, which provides additional blame-related information. This includes:

    • Legend

      A legend displaying the color used for each of the file’s authors along with the percentage of the file’s contents which the authors have each contributed and icons indicating who contributed to the file recently (i.e. within one month of the file’s last committed modification).

      This makes it extremely easy to determine who is primarily responsible for a file (based on percentage contributed) as well as who has been working on the file recently.

    • Revision Timeline

      The legend also includes a timeline which plots the file’s revisions (i.e. the revisions of the contributions from which the file’s current contents are composed) against the file’s set of current authors. The result is a two-dimensional chart which provides a visual overview of who has contributed the file’s current contents over time.

      The points on the timeline can be clicked to select all lines contributed with a particular revision.

    • Summary Information

      Information about the file’s earliest and latest revisions, including the revision number and date.

    (#292)

  3. Text diff view supports editing of differences

    Differences shown in the compare view can be copied from left-to-right or right-to-left if either of the files displayed is WORKING. This is useful for example when reverting individual edits to their BASE equivalents, or when reverting sections of a file back to a previous (i.e. BASE) state.

    Once reverted to the original version, edits can be undone either by clicking the edit button again or by undoing the action using the standard Edit > Undo and Edit > Redo functions.

    The ability to revert individual edits in a modified file compliments the existing file revert function found in pre-2.0 versions of Cornerstone. (#443)

  4. Tagging and branching functions added

    Version 1.5 and earlier provided full support for tagging and branching by option-dragging files or folders in the repository browser to copy them.

    This functionality is still available in Cornerstone 2, but was augmented by two new functions which add a simple user interface for creating tags and branches.

    Selecting Tag… or Branch… from the File menu displays an option window which allows the user to specify the name of the tag/branch and the folder it will be created in. The source revision can also be specified.

    In both cases Cornerstone will try to locate the closest related tags or branches folder and suggest that as the default location. (#134, #709)

  5. Text diff view now highlights intraline differences

    The text diff view was extended to highlight the intraline differences between the left and right versions being compared.

    Intraline differences are displayed by default but can be turned off using the new Show Line Differences option in the Compare menu. (#446)

  6. New option enables invisible characters to be displayed in text diff view

    The new Compare > Show Invisibles function allows the user to toggle the display of space, tab, left tab, newline and page break characters in the text diff view.

    Combined with the text diff view’s new ability to highlight intraline differences, this makes comparing whitespace changes signitificantly easier than in previous versions of Cornerstone.

    Enabling Show Invisibles does have a minor impact on text diff rendering performance. For this reason the option is not enabled by default. (#931, #932)

  7. Find function added to text diff view

    The text in the diff view can now be searched using the new find bar which is displayed using the standard Edit > Find… menu item (key equivalent Cmd+F).

    The find bar allows the user to specify whether the left and/or right files should be searched, as well as how the text specified by the user should be matched (i.e. whole string, substring match at start or end of word, etc.). (#145)

  8. Pending repository update summary is shown as badge in working copy source list

    The number of pending repository updates (i.e. the number of changes committed to the repository but not yet updated in the working copy) is now shown as part of the summary badge in the working copy source list.

    Cornerstone monitors changes in repository status and updates the badge on a low priority background thread to minimize additional load.

    Repository monitoring can be disabled if necessary with the new Show repository change summary in source list setting in the Working Copy preference pane. (#652)

  9. Working copy changes are displayed in a badge in the Dock

    Cornerstone can now display the working copy change summary in a badge on the application icon in the Dock.

    A new setting in the General preferences allows the user to select from the following behaviors:

    1. Show the total changes for all working copies
    2. Show the changes for the selected working copy
    3. Do not show a badge in the Dock

    A badge is not shown when no changes are found.

    By default Cornerstone shows the total number of changes for all working copies. (#13)

  10. Add Repository window provides improved support for connecting to hosted repositories

    The Add Repository window now contains a new Cloud Service repository type which simplifies connecting to select cloud hosting providers.

    Zennaware has partnered with Codesion (formerly CVSDude) to provide Cornerstone’s first cloud service integration. The Codesion cloud service page greatly simplifies connecting to a Codesion-hosted repository by requiring only organization, project and account information from the user.

    The Codesion window also provides Sign Up for a Repository button which allows a user to quickly and easily sign up for a free or trial hosting plan with Codesion.

  11. Log View was improved

    The log view now provides more context information when viewing the log for working copy items. Specifically, the item’s working version is highlighted in the log, as are newer revisions committed since the item was last updated. (#969)

    A filter (Newer) was added to the log view to make it easy to focus in on those revisions which are newer than the working version.

    In addition, revisions since the last update (i.e. newer revisions) now have an Update button. Pressing this button updates the selected item (i.e. the file or folder which was selected before entering the Log View) to the specified revision. (#972)

  12. Support added for Perforce’s P4Merge and Sofa’s Kaleidoscope

    Cornerstone now includes integrated support for using Perforce’s P4Merge and Sofa’s Kaleidoscope as external compare tools. (#927, #939)

  13. 64-bit support added

    Cornerstone 1.5 shipped as a 2-way universal binary, with support for 32-bit Intel and PowerPC processors. Cornerstone 2 adds support for 64-bit Intel processors and will run in 64-bit mode on 64-bit enabled Macs (i.e. Core 2 and newer) when running on Mac OS X 10.6 Snow Leopard.

    Cornerstone will run in 32-bit mode on Mac OS X 10.5 Leopard (Intel and PowerPC) and on Snow Leopard with 32-bit Intel processors. (#732)

  14. SASL support added

    Cornerstone 2 can connect to repositories via svn:// which utilize SASL for authentication. (#598)

Performance Improvements

  1. Externals window performance was improved

    The performance of the externals window was improved such that changing filters and switching between list and text views is now much faster for folders with large numbers of externals.

Usability Improvements

  1. Lock function was improved

    In Cornerstone 1.5 and earlier, the lock function could only reliably determine if a selected file was already locked if the View > Show Repository Status option was enabled. If this option was disabled and a file was already locked then an attempt to steal the lock from another user would silently fail.

    Cornerstone’s lock function was significantly improved for version 2 to:

    • Read the lock information for the selected files in the background in order to display reliable lock information in the Stolen Locks section.
    • The Stolen Locks section is no longer collapsible in order that this important information is always visible and less easily overlooked.

    Stealing a lock is a potentially destructive operation that can result in conflicts and loss of work. Cornerstone therefore now always prompts the user for confirmation before stealing locks.

  2. Subversion configuration changes are automatically adopted by the Subversion configuration preference pane

    The Subversion configuration preference pane now automatically picks up Subversion configuration changes made by other applications and refreshes the pane’s contents accordingly. (#859)

  3. The global ignores editor in the Subversion preference pane was improved

    Adding a value to the global ignores value in the Subversion preference pane resulted in the default global ignore values being replaced. As a result, files which are ignored by default (e.g. .DS_Store). This was a consequence of Cornerstone setting a value in Subversion’s configuration which resulted in Subversion adopting this value instead of the default.

    The global ignores editor was improved in version 2 to allow the user to adopt the default value as the basis for the user’s global ignore list. (#912)

  4. The log view’s compare view now supports navigation

    The log view’s compare view was extended to include a popup menu and navigation (i.e. left/right) buttons allowing the user to navigate through a revision’s changes without leaving the compare view. (#863)

  5. The Save Differences as Patch… function now supports the generation of patch files which use relative paths

    1.5 always created patch files which used absolute paths. For Cornerstone 2 a popup button was added to the patch save panel allowing the selection of the following path types:

    • Absolute (same behavior as 1.5)
    • Relative to working copy
    • Relative to selected folder

    When a file is selected the third option is Relative to parent folder. (#893)

  6. Option added to control whether externals are included in updates

    In 1.5 and earlier, updating a working copy without updating its externals required the use of the Working Copy > Update… function, which required several interactions for each update operation.

    Version 2 adds a new Include Externals in Updates option to the Working Copy menu which controls whether the Update to Latest Revision function updates externals.

    The addition of this option should simplify using Cornerstone with working copies which contain large numbers of externals or externals that change infrequently. (#639)

  7. Support added for tree conflicts

    Items with tree conflicts are now displayed as conflicted in the working copy browser. The Inspector was also extended to display a description of the cause of the tree conflict.

  8. Commit view comparisons refreshed following file system changes

    The commit view’s compare view now listens for file system changes and automatically refreshes when the file being displayed changes. (#850)

  9. The log view’s compare view now supports arbitrary revisions

    It’s now possible to enter HEAD as well as arbitrary number/date revisions into the compare view when opened from a log change. (#923, #924)

  10. Copied files are compared against the copy source’s BASE revision

    The compare view was improved to compare copied, moved and renamed files against the BASE revision of the copy source. This applies both when comparing from the working copy browser and the commit view. (#928)

  11. Diff view option buttons were improved

    The small buttons located next to the horizontal scroller at the bottom of the text diff view (controlling whitespace comparison, line difference comparison etc.) were improved. The new icons are larger, more descriptive and make these functions more discoverable.

  12. svn:needs-lock added to auto-properties in preferences window

    The auto-properties section of the Subversion preferences (Cornerstone > Preferences…) was improved to add support for the svn:needs-lock property. (#946)

  13. Overwrite handling in the file browser was re-written

    The prompt displayed before overwriting a file during a move or copy operation was improved to:

    • More closely reproduce the interface and terminology of the equivalent prompt in Finder
    • Support replacing all files being moved or copied
    • Support key equivalents for the alert’s buttons
    • Only provide options for multi-file operations when multiple files are actually being copied or moved

    (#309)

  14. Check out depth is now displayed in the working copy file browser

    A new column was added to the working copy file browser which displays the check out depth for folders. An icon is not displayed for folders which have the default check out depth of Infinity (i.e. all folders and sub-folders).

    The file browser can be sorted by check out depth and a tooltip is displayed when the mouse is hovered over the icon.

    The file inspector was also extended to display the depth icon for the selected folders(s). (#638)

  15. Shutdown handling was improved

    Network issues can cause very long timeouts with Subversion, so Cornerstone 2 now displays a progress window during shutdown.

    This window also also allows the user to quit the application immediately if desired (i.e. without waiting for background activities to complete). (#973)

  16. Tooltips added for file browser columns

    Tooltips are now displayed for the status, repository status, property, lock and depth columns. (#436)

  17. Status overlay window is shown by the compare view when loading files

    The compare view now displays a Loading… overlay window while exporting files from the repository for comparison. (#930)

  18. Quad-clicking text in the compare view selects a section’s text

    Quad-clicking (i.e. clicking 4 times) in Cornerstone’s compare view now selects all text in the section under the mouse.

  19. Key equivalent added for Show Differences in Whitespace

    The View > Show Differences in Whitespace function now has the key equivalent Cmd+'. (#889)

Compatibility

  1. Mac OS X 10.4 Tiger is no Longer Supported

    Cornerstone 2 does not support Mac OS X 10.4 Tiger.

  2. Compatible with Mac OS X 10.5 Leopard and 10.6 Snow Leopard

    Cornerstone is compatible both with Mac OS X 10.5 Leopard and the more recent Mac OS X 10.6 Snow Leopard.

    Both Intel and PowerPC processors are supported on Leopard. Only Intel processors are supported on Snow Leopard.

  3. Subversion Updated to 1.6.12

    The 1.6-level version of Subversion included with Cornerstone was updated to 1.6.12.

Compatibility

Backwards Compatibility

Cornerstone 2 is fully backwards-compatible with 1.5. All configuration and settings are transparently migrated to version 2 when the new version is run for the first time.

Forwards Compatibility

The Cornerstone 2 configuration databases are forward-compatible with 1.5, i.e. you can run versions 1.5 and 2 against the same configuration databases in your Application Support/Cornerstone folder.

Issues Resolved in Cornerstone 2 Beta 1

# Description
13 Aggregate working copy changes into badge shown on application icon in Dock
134 Tagging and branching should be better supported
145 Add find function to text compare view
172 Display tooltip information for events in timeline view
292 Integrate blame-like annotations into text diff view
309 Overwrite prompt options need to be improved
436 Add tooltips for status to outline view in working copy browser views
443 Make compare/diff view editable
446 Add character-based differencing to text diff view
598 Add support for SASL authentication and encryption
638 Visualize check out depth of folders in working copy browser
639 Working copies should retain state of the “Update contents of external definitions” option
652 Show repository change summary in the working copy source list
709 Copy in repository browser to branch/tag should be more discoverable/intuitive
732 Provide 64 bit version of Cornerstone
848 Dragging the icon in the inspector should not cause the application to activate and come to the foreground
850 The commit’s compare view is not refreshed following file system changes
859 Ensure that the Subversion configuration panel automatically refreshes when the underlying configuration file(s)’s contents change
860 Canceling an update operation while an external is being updated doesn’t cancel the top-level update operation
863 It should be possible to navigate though changes made to a single revision in the log view’s compare view
864 The commit menu item/tool bar item should be disabled for missing files in the working copy browser
885 Text field in patch output sheet does not display vertical scroller
889 Add key equivalent for Compare > Show Differences in Whitespace
893 Save Differences as Patch function should support creation of files with relative paths
908 Authentication panel may be displayed when choosing a source directory in the external editor, even though credentials are available in the keychain
912 Editing the initially empty global ignore field in preferences results in .DS_Store files no longer being ignored
918 The Open Left/Open Right commands should open the file(s) in the application as specified in the Inspector’s Open With… setting
922 Open Externals button in Inspector is enabled for unversioned folders
923 Can’t compare against HEAD in compare view opened from log item
924 Swapping revisions in a compare view opened from a log item results in an error
927 Add support for P4Merge (Perforce) visual comparison tool
928 Files scheduled to be added as the result of a copy should be compared against the BASE version of their copy source in the commit view
929 Deleted files listed in popup menu shown when comparing in the commit view should be disabled
930 Status should be more clearly visible in the compare view when loading files from the repository
931 Compare view should provide option to display invisible characters (e.g. spaces, tabs and newlines)
932 Page breaks cannot be distinguished from normal spaces in the compare view
936 The folder selection displayed in the inspector changes when a field in the inspector is clicked to begin receiving keyboard input
937 Text diff view incorrectly displays differences in files containing non ASCII characters which use substituted fonts (e.g. arabic and kanji characters)
939 Add support for Sofa’s Kaleidoscope as an external compare tool
944 Ensure leading white spaces are preserved when log messages are rendered in the log view
945 Repository can’t be deleted from source list if one or more folders referenced by working copy sources are not valid working copies
946 Provide support for the svn:needs-lock property in auto-property preferences
947 Differences in trailing newline characters are not displayed correctly by the compare view
949 Collapsed sub-folders are re-expanded in file browser when the previously-collapsed parent folder is re-expanded

Issues Resolved in Cornerstone 2 Beta 2

# Description
172 Display tooltip information for events in timeline view. Standard tooltip replaced by anchored popover window which displays more, better-presented information with scrolling support for long messages (that were previously truncated)
953 Add tooltips for change summary badges in working copy source list
954 Error is displayed (“path does not exist”) when browse button in path field is clicked if working copy source list contains a reference to a non-existent folder
955 Source is not selected in open panel invoked from merge source/target path field when source does not exist for related repository
956 Vertical ordering of working copies and repositories in merge source/target open panel should be reversed to be consistent with main window’s source list
957 Run background status checks for repository updates in low priority threads
960 Working copy change summary displayed in source list can sometimes get out of sync with the working copy file browser
961 Background working copy status checks should be performed sequentially instead of in parallel to reduce CPU and disk load at start-up
962 Horizontal scrolling performance in timeline view is very poor with large numbers of revisions
963 Change summaries (local and remote) in working copy source list should include thousand separators

Issues Resolved in Cornerstone 2 Release Candidate 1

# Description
Improved appearance of popover windows, in particular black popovers displayed over compare view annotations, which now use a style more consistent with Mac OS X’s HUD windows.
Improved appearance of application’s modal sheets (options for update, import, export functions etc.)
959 Externals editor displays broken proxy icon for repository items
964 “Loading…” bezel displayed by the compare view while loading documents remains visible after exiting view
965 Attempting to load a non-existent file for a particular revision in the compare view results in an activity which never terminates.
966 Compare menu items for difference navigation (e.g. Previous Difference, Next Difference etc.) should be disabled when single document is displayed
967 An error is displayed intermittently while opening a new svn:externals editor
968 Tooltip in working copy source list gets stuck onscreen if tooltip is displayed for item when spinner stops
969 Log view should indicate the working revision for the selected working copy item
970 Cornerstone doesn’t prompt for confirmation before reverting when revert function is invoked with a working copy source selected
971 Option in “Update…” window for extending sparse working copy (“Permanently extend working copy to this depth”) is misleading
972 Extend the log view to support updating the selected file or folder to a revision visible in the log
973 Cornerstone can appear to hang while quitting if running activities run into long timeouts as a result of network problems

Issues Resolved in Cornerstone 2 Release Candidate 2

# Description
Updated help book documentation for 2.0.
Added help book section on text diff editing.
Added help book sections on annotations.
Added help book sections on merging.
854 Quick Look emits silent warning to console on Mac OS X 10.6 Snow Leopard
974 New Objective C 2.0 keywords such as @property, @synthesize etc should be syntax colored
977 Compare view doesn’t prompt to discard edits before toggling whitespace comparison
978 Undo in compare view can stop working in some circumstances

Issues Resolved in Cornerstone 2 Final Release

# Description
979 Add tooltip for the recent modification column in the repository file browser view
980 Add a help book section describing the repository browser view
981 Picker window displayed by revision field in the update window is displayed under the menu if application toolbar is set to “Text Only” or “Icon Only”
982 Error is displayed when opening the compare view under certain conditions
983 Cornerstone crashes due to a Subversion assert when a server name containing upper case characters is entered in the “Add Repository” window
984 Control layout issues arise when log message sheet window is resized in collapsed state