Skip to content
  • Florian 
  • 6 min read

Kaleidoscope 4.3 improves Git File History and Git Merges with Markdown and more

For the previous two feature releases, Kaleidoscope gained and improved the ability to talk to git. We did this to be able to add awesome new features:

  • Kaleidoscope 4.1 added the ability to show the Git File History of any file and let you compare any two revisions of a file. This can be crucial in understanding how the current state of a file came about.
  • When trying to resolve a merge conflict–one of the most tricky aspects of working with git–we can provide you with more context information. Kaleidoscope 4.2 added the Merge Context Shelf to give you additional insight on how the conflict was created and, most importantly, what are the best steps to resolve it without losing any work.

For this release, we wanted to take some time to refine and improve those features and add smaller bits, with the goal to increase your productivity and make Kaleidoscope more fun.

What is Kaleidoscope?

Kaleidoscope is the premier merge and diff tool for macOS. It understands text and image files and can compare entire folder hierarchies. While there is a focus on developer-related tasks, Kaleidoscope is also being used by writers and creators to compare revisions of contracts, photos, and more.

Kaleidoscope comes with a 14-day free trial. If you need more time or want check out the new features, send us a short note and we will happily give you another two weeks to test.

This blog post is a little unusual, as it focuses on describing the changes of a particular release in greater detail. We hope you will find this valuable. As usual, we love hearing your feedback!

Showing references

Let’s start with the merge context header added in the previous release: in Kaleidoscope 4.3 we now also show references pointing to a commit. In the context header, we only show the local ones, as space is precious. Most of the time, seeing the branch name or HEAD should not be surprising, as you are often merging two branches when a conflict occurs. However, in the commit details popover, you’ll also see all remote references. Also, if Kaleidoscope knows how to open the remote branch in the browser (more on that below), it will offer that option. You can either click the branch name or show a contextual menu, which also offers to copy the branch name for other use.

Local branch names are shown in the Git Merge Context header. The details popover also shows remote references.

Support for moved and renamed files in Git

Naming and placing files in a project is hard. It’s not uncommon that files will be moved or renamed over time in a Git repository. Kaleidoscope can now track those changes. It shows the entire history of a file, across name and path changes. The commit details popover informs about any change in files name or location for that commit. The filter at the bottom of the File History allows searching for all past names of a file.

The commit details popover gained a new section showing name and/or file path changes.

Links to tickets, commits, branches

Kaleidoscope 4.3 looks at the remote of a Git repository. When it detects a common one, such as a GitHub, GitLab or Bitbucket URL, it tries to be smart and automatically offers links to tickets, commits, and branches. We find this to be a huge time saver in our daily work. Changes to files are typically related to tasks. Specific tasks have tickets in an issue tracker, and in the commit message, we tend to reference tickets a lot, as that helps in associating changes to tasks. Being able to immediately jump to that ticket is great. Sometimes you also want to see an entire commit, not just changes to the file currently open in Kaleidoscope. That’s now just one click away.

Links everywhere! Commit messages referencing issues allow jumping to those, commit hashes can be clicked, and branches become links.

Repository Settings

There’s a new configuration window for that remote account. Currently, Kaleidoscope only supports a few select account types, so there’s not much to see. Let us know what other services you need.

In case your repository has multiple remotes, you can choose here which one to use for links in the bottom left.

The new Repository Settings window lets you to choose which remote to use.

Markdown in Commit Messages

While we already added support for links in commit messages, we went further and implemented support for Markdown, a brilliant invention by John Gruber. Unfortunately, most Git clients do not encourage and support authoring of Markdown.

But even then, we had been using a small amount of Markdown in our work already over the years. After all it’s fairly natural to write lists of stuff, and even wrapping keywords in backticks feels normal when you are used to documenting your code. The beauty with Kaleidoscope 4.3 is that this Markdown content is now being rendered properly, making digging into past work on a file much easier and more fun.

Kaleidoscope 4.1 (left) vs. Kaleidoscope 4.3 (right). Markdown makes longer commit message so much easier to digest.
Those rdar:// URLs should become links if you have a supporting app.

Other Improvements

P3 Color Profile

Image files saved with the Display P3 profile will now be interpreted and displayed correctly. iPhone photos since iPhone 7 are saved in this color profile and most recent Mac displays can render that gamut as well, so it makes sense that Kaleidoscope can interpret that color profile correctly. Thanks to our friend Max for bugging us about this and even helping to get the implementation right!

Window Locations

Recent documents now reopen their window where they were when you closed them. Sounds trivial, but I really love it.

Enjoy working with Kaleidoscope!

We do sincerely hope that this new version of Kaleidoscope makes comparing and merging files and inspecting file changes more efficient and more fun! If we missed adding an important feature of have other ideas or feedback, you know how to reach us.