Use NSAccessibilityUnignoredDescendant to streamline code
Ensure the com.macromates.visibleIndex attribute value is valid

Also skip checking for saved selection / visible index if there is no text in the buffer (since in this case, teh only valid values for seleciton / visible index are the default values).
Add commit message to history even if user cancels the dialog

The rationale is that while the user is writing a commit message they might be reminded of something that should be fixed before committing, so they’ll cancel but wish to come back to the partially written message later.
utf16::distance: End iterator may point into multi-byte character

This function is (indirectly) used by a lot of code, and not all of it provide with valid indexes, though it seems like an issue that can be fixed locally, hence why I have decided to allow it (coupled with this being the main reason for crashes).

It is however still not allowed when building in debug mode (rationale being that running it in debug mode and getting an assertion failure should provide enough info to fix the issue).
Fix error message for command requirements with no variable
Support requirements where existing variable has a space

For example setting TM_NINJA to “/usr/local/ninja -j6” will use the variable as-is if “/usr/local/ninja” is an executable.
Add tests for command requirements
Do not inherit numbered variables for potential regexp captures

If the format string itself does a replacement with potential captures $1-$n then we ensure that $1-$n are not inherited from the environment (which could be a parent regexp match).
Missing broadcast when changing “on disk” in document_t::set_path

This resulted in missing proxy icon update e.g. when saving an untitled document over an existing one, as we would first set the path to the new location (and indirectly change the “is on disk” status without sending the proper notification).
Disable buffer completion when there is no prefix/suffix

We still enable it when a custom completion command provides us with completion candidates. For example user might hit escape in a context where a file name should be inserted, without providing any initial prefix or suffix (as the number of expected candidates is small).
Ensure clipboard data is UTF-8
No need to sanitize UTF-8 data in editor_t::paste

We now have the clipboard_t::entry_t ensure that the data is UTF-8.