v0.9.0 for Squeak 5.3 and Trunk
Notable:
- Packages and other objects can now be tracked without loading them into Squeak. This is particularly useful if a project has packages for different Smalltalk dialects, which cannot all be loaded at the same time. #130
- To not load a package, toggle it off in the dialog during a checkout or merge that would introduce the package.
- Unloaded packages can later be loaded during checkouts or merges by toggling them on in the same way.
- The dummy object that represents other non-Squeak files in the working copy is automatically added as unloaded now.
- When merging, the current branch is now fast-forwarded if possible. #287
- Changes to the load order of the packages in the project can now be seen in diffs and can be excluded like other changes.
Fixes:
- Fixed error when opening the Git Browser right after installing it in Squeak. #288
- Tonel repositories are now recognized as such by Metacello. #277
- Added packages are now in the same package format (FileTree or Tonel) as other packages already in the repository. #278
- When a subtree of diff nodes are deactivated, and a child node is activated again, the parent nodes will be reactivated as well. #89
- Classes and methods are now sorted in the merge window, like in the checkout/load and save windows.
- Class trait changes are now grouped next to the changes to the base trait. #280
- The splitter between the diff tree and the diff text can now be moved in the checkout/load window, like in the save and merge windows.
- When there is an error while pushing, the displayed error message contains more information now. #264
- Proposing a remote name when adding a new remote #205
- Commit timestamp is now when the commit is actually created, not when the save window was opened. #281
- Preserve author timestamp when cherry picking #281
- Remotes can no longer get invalid names. #248
- Progress is displayed when comparing Git commits. #220
- No erroneous reflog entries when switching the branch while the repository is still empty.
- .squot file is no longer broken when it didn't exist yet and must be created, but at the same time packages were added or removed.
- List of commits was not cleared when selecting a project with an empty repository.
- Packages can now be added via the objects list when no commit is selected (empty repository).
- Squeak's new directory chooser dialog is now used when adding packages, and its text tells the purpose of choosing a directory. #185
- Fixed error that appeared when fetching from an empty repository. #204
- Changes to class traits can be properly ignored (excluded from commits by default).
- Hide diff tree node for internal change of a property called "objectsReplacedByNames" #259
Minor changes:
- Renamed "Change tracked packages" to "Add or remove packages" in the projects menu of the Git Browser. #246
- Instance methods are separated from class methods in the load/merge/save dialogs. #227
- The commit message pane will show some advice when an empty project is selected. #247 #271
- Packages can be added via the objects list in the Git Browser. #245
- Reordered menu items in the object list: split into operations on the historic object, on the working copy object, and general operations on all objects, such as adding or removing packages.
- Newly created branch will be selected in the Git Browser.
- Added remote will be selected in the Remotes Browser.
Refactorings:
- Extracted progress display into a separate class (to make changes to it in a central place).
- Renamed SquotChangedArtifactsChooser to SquotChangesChooser. The old class name is retained as an immediate empty class in the hierarchy until the next release.
- Reorganized categories to better separate tools from the basic non-UI functionality.
Miscellaneous notes:
- Removed code that was deprecated in v0.8.0
- The self-update will no longer load from "master", but from "latest-release" now. master will be kept in synch with latest-release for a while longer.