Skip to content

v0.9.0 for Squeak 5.3 and Trunk

Compare
Choose a tag to compare
@j4yk j4yk released this 02 Dec 20:30
· 282 commits to latest-release since this release

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.