SmartGit 23.1 Preview 4 (2023-03-08) ==================================== Fixed Bugs ---------- - Changes view: submodule comparison may continue to show error banner from previously selected file - Git-Flow: Configure was incorrectly enabled - Tag Grouping: was not applied if ~/.gitconfig contained [taggrouping] section without any key - Theming, default theme: table did not reset yellowish background after filtering - Log: - Commits view: - did not update after re-configuring Tag-Grouping - with tag-grouping configured, branch calculations (like "on", "closest tags") were not performed for standalone tags - possible deadlock when opening submodule - Standard window: - Commit, file name completion: possible internal error - Repositories tab: fixed layout for small screen sizes - WSLg: - on a fresh system (without ~/.config/) the settings were written to wrong location - installation update failed - restarting SmartGit after settings change did not work - windows did not show minimize/maximize buttons Other Noteworthy Changes ------------------------ - Branches view: apply Tag-Grouping even if no "title:" has been configured for group-patterns - Changes view: for non-binary files which are simply too large, "File content not loaded" instead of "File is considered as binary" is shown now - Conflict Solver: better description for left/right side - GitHub: display pull requests from non-existing users - Graph: - tag and ref background is better noticable now (according to Twitter/Mastodon) poll - too long, truncated ref names show now tooltip with full name - Standard window: - Repository tab context menu: added Close to the Right - WSLg: - add-menuitem.sh and remove-menuitem.sh create icon on Windows host - license file and a few settings are copied from the Windows host system SmartGit 23.1 Preview 3 (2023-02-23) ==================================== New Features, Improvements -------------------------- - Commit: preferences option for ignore comment lines, use message literally, or ask the user - Rename Commit, Split-Off, Squash dialogs always use the message as provided - Changes view, Submodule change: ability to open submodule log in compare mode - Split-Off Files: optionally create the new commit before or after the original commit - Log window: - Create Pull Request: optionally allow to open the web browser to create the pull request at GitHub - Standard window: - Finish Feature: - optionally allow to open the web browser to create the pull request at GitHub - detect protected branches and in that case default to Create Pull Request - Graph: loads more commits when scrolling to the bottom Fixed Bugs ---------- - Background commands: - for poll, disable partial clone logic - memory leak if Detect Local Changes was enabled - Changes view, Resolve: possible error "Input length = ..." error for conflict files with specific encodings - Move and Squash: could create # in commit message of the resulting commit though the original message did not contain # - Refresh: possible problems with Git filter-invocations (low-level property core.git.invokeFilterDirectly) - Syntax: - Clojure: symbols might contain some non-letter character - PHP: backslash in single-quoted strings was incorrectly parsed - TypeScript: - underscore in numbers was not allowed - "any", "number", "string" and "undefined" were not highlighted - WSLg: - GUI was broken for 200% zoom level without configuring the low-level property ui.dpiFactor - Standard window: - Feature commands: for multiple main branches wrong main branch was suggested - Configure Features: - accepted input which was rejected later - did not show remote-only branches - lost pattern-based configurations after reopening - switching back grom pattern to simple branch did not work - configuration was picked up delayed - Open (file): for some extensions wrong default tool was used (on Windows) - Mini-log: bold (pushable) commits were not identical in all cases with Graph - Rebase: false-positive warning about already pushed commits Other Noteworthy Changes ------------------------ - Add or Create Repository: - if a path inside a repository is provided, open that repository - if a path inside a submodule is provided, ask whether to open the submodule or outer-most repository - update bundled Git to 2.39.1 and Git-LFS 3.3.0 - theming: - make it easier to override only specific colors on top of an existing theme: https://docs.syntevo.com/SmartGit/Latest/Theme-Customization.html - improved default (light) theme on macOS (less gray) - smartgit.properties: support UTF-8 - Syntax: - JSON: support // and /* ... */ as in TypeScript's tsconfig.json - macOS: ignore events for disposed widgets causing assertions - Log window: - Changes view: opening Submodule re-uses current window when selecting "Existing window" - Drop Local Data (for pull requests): works on multiple pull requests at once - Standard window: - Commit: unset "Amend", if "Amend" was set automatically by clicking the HEAD commit in the mini-log, and the user edits the commit message - Files view: - if the space is not enough to display the full name or path, especially for renamed files, give the name more place - for renamed files, the renamed part is highlighted - show "empty commit" if no files are available - Finish Feature: more efficient GitHub query (Finish dialog comes up faster) - Integrate Feature: in dialog-less mode, show warning for diverged main branch - My History view: if a local branch is different from its remote branch, show the remote branch as separate line below the local branch; this simplified selecting the remote branch in the Graph - Refresh: - performance improvements (by using a .git/index cache like the Log window) - reduced memory consumption for repositories containing many files - Tools main menu: contains only tools that operate on the repository root; if the tool should operate on a specific directory or file, invoke the tool from the directory's or file's context menu SmartGit 23.1 Preview 2 (2023-01-25) ==================================== Fixed Bugs ---------- - Completion: selection is lost if the popup is open and the selection is modified - Refresh: possible problems with Git filter-invocations (low-level property "core.git.invokeFilterDirectly") - Windows might be possible to come to front if focus is changed while in background (regression) - Standard window: - some menu items are enabled if no repository was opened - My History: even branches where shown packed Other Noteworthy Changes ------------------------ - Standard window: - Apply Stash: should only switch to WT if there are local changes - Mini-Log: use log.useCommitMessage.prefix, except of when amending - Repositories tab: - allow to copy path of selected repository - Filter input field: - don't suggest Initialize for roots or parent dirs of known repositories - show Add suggestion even if repositories with this prefix are known, except if the found root is already known SmartGit 23.1 Preview 1 (2023-01-20) ==================================== New Features, Improvements -------------------------- - Azure DevOps: support OAuth authentication for multiple cloud accounts - GitHub integration: switch OAuth to loopback-callback for improved convenience and security - Syntax coloring: - support for Lua/Nelua - support for Odin - Standard window: - allow to reorder tabs with drag and drop - Features: support for multiple "main branches", e.g. develop, release-v1, release-v1.1 - My History: added option in Hamburger menu to show tags pointing to the displayed commits - My History, All Branches + Tags: selecting 2 refs selects them in the graph, too, for easier comparison Fixed Bugs ---------- - Changes view: - did not update properly for Index-only changes - might show outdated diff after switching repositories - Changes view, Compare, Conflict Solver, Index Editor: - possible problems with increased line heights caused by non-US-ASCII characters resulting in selection problems, Goto Next/Prev Change selecting wrong lines - Find did not find text inside selection - Syntax - Crystal: numbers can have suffixes like _i8 - C#: hex literal may start with 0X (uppercase x) - Conflict Solver: problem with conflict at end of file with/without line separate in last line - Spell Checker: old (removed) language is still shown in context menu for typo - SSH: possible problems with ! in GIT_SSH path on Windows - GUI: - File completion: selection is lost if popup is open and the selection is modified (with Shift+Left) - Graph: tooltip for truncated messsage did not hide if mouse was moved - Output dialog: could get too large (high) - Table controls: multi-selection could break for refreshs - Standard window: - Graph: main branch was not always layouted left-most - Refresh: possible "missing object" error when opening repository - Start Feature: must not reset diverged local main branch onto remote branch - Repositories tab: possible is-disposed error when renaming a repository Other Noteworthy Changes ------------------------ - Clean Working Tree: reworked options to make more obvious what is done - Delete Branch: cleans up Git-Flow branch information in Git config files - Discard submodule: can operate on multiple selected submodules now - History-related operations: are enabled for inapplicable commits, but show an information explaining why they are not available - Refresh: files inaccessible due to file system permissions are denoted by a "inaccessible" state - Squash: authorship defaults to oldest author with most recent date (low-level property "squash.authorshipDefault") - Log window: - Branches, context menu: "Toggle" is only available where reasonable - Changes view: a different font is used (on Windows) so the comments are better readable (font can be configured with low-level property "changesView.comment.fontName") - Discard should not abort commands (it is too easy to confirm, e.g. while bisecting) by default (low-level property "discard.canAbort") - Graph: distinct popup menus for Pull Request and Stashes - while Bisecting: all commands that make no sense are disabled - Standard window: - Checkout commit: will create a temporary branch - Commit: added low-level property "standard.selectIndexOnFocusCommitMessage" to always select Index when focusing commit message input field - Directories view: can delete untracked directories - Files views: can group by state - Repositories tab: - ability to Mark as Favorite (putting repositories at begin of group) - filter input field can filter by full path now - if repository at path is not known, it can be added/opened - if directory at path is no repository, it can be initialized - Features: - reads .gitflow file for the defaults - commands work for repositories without remote, too - Start Feature: - checks for diverged main branch earlier - update submodules - is also available in My History toolbar - Integrate Feature: improved wording and display of progress - Undo Last Commit: requires only clean Index, but allows dirty working tree - added Clean Working Tree (requires "standard.actions.advanced.clean" to be set to "true") - updated bundled Java to 17.0.5 - updated SWT to v4958r2