# SmartGit 25.1.038 Preview (2025-04-18) ## New Features, Improvements - Blame, Investigate: honors configured text file encoding - Standard window: - All Branches + Tags: - add remotes - including context commands for fetching, renaming, deleting, ... - branches and tags are grouped by prefix, except for *Sort by Date* (for which it makes no sense) - Log and Standard window: - Checkout (Enter): by default will check out local branch(es) on the selected commit ## Fixed Bugs - Standard window: - preferences option "Allow modifying pushed commits: - "Only for feature branches" did not work for empty feature prefix - low-level property "push.forcedPushConfirmationForSafeBranches" should also be honored if force-pushing is allowed "For all branches" ## Other Noteworthy Changes - Branches/Graph: added low-level property "core.refs.additionalTopLevelRefs" to parse additional top-level refs - Master password dialog: make hint visible - Preferences: - Low-level Properties: removed confirmation button and show all by default - updated SWT - Standard window: - Repositories tab: - add link to select obsolete repositories - Filter: - entered (valid) path is taken as default for *Add or Create Repository* - use Ctrl/Cmd+Enter to invoke the *Add* or *Initialize* command for existing repositories/directories - Stashes view: auto-select newest stash # SmartGit 25.1.029 Preview (2025-04-02) ## New Features, Improvements - AI integration: - Commit: improved message generation and rewording capabilities - Clone/Fetch operations: - display progress for "Finding sources" - more accurate progress display - GitLab: option to create upstream remote - Graph and UI: - issue links for github.com and gitlab.com repositories (for freshly cloned) - only display single, selected pull request from Branches view - Pull Requests and branch management: - added new option to allow force-pushing to only specific branches - during Rebase, hide all other branches in Log - right-clicking a pull request only shows PR related commands - Syntax coloring improvements: - ERB: improvements for the frontmatter - Dart: improved strings, string interpolation, escapes - V: improved strings, string interpolation, and escapes - Standard window: - ensure the GUI is correctly invalidated once a repository becomes invalid - Files: show tooltip for LFS-inconsistent files - Reflog: turn "showIntermediateCommits" into hamburger menu option - Azure DevOps: added option to use empty username for token authentication with on-premise instances - Changes view: do not show diff highlighting for binary files - Compare: shift blocks similar to other options in syntax-based comparison - Refresh: warn in case of too many untracked files ## Fixed Bugs - Branch operations: - switching branches within a worktree isn't possible anymore - history-related operations are disallowed if force-pushing is not enabled - Graph and UI: - HEAD jumps back when selecting PR for HEAD - possible internal error in Log - Push and Pull: - Pull Requests: successful forced push needs to pull to update - Push toolbar button: no menu shown when clicking v with Files focused - Refresh and Files: - possible "No such file" error for missing LFS files - Syntax: - Pascal/Delphi: identifiers can now start with & - Preferences: - Accelerators: removed unexpected entries in Debug mode # SmartGit 25.1.016 Preview (2025-03-06) ## New Features, Improvements - Branches view: Hamburger option "Except for single refs" is now unselected by default - Commit: opt-in AI commit message generation (https://docs.syntevo.com/SmartGit/Latest/Manual/Integrations/AI) - Files table: show moved+modified with a different icon than moved+unchanged - Graph: - Refresh: include node about how to increase the performance limit - denote worktrees - Checkout will now open the other worktree (instead of fail) - Pull Requests: - Fetch/Merge should only retrieve the corresponding ref, without including tags - Run Garbage Collector command: added LFS prune - Syntax coloring: - Dart: added escape sequences, string interpolation - Nix - Log window: - Checkout should follow the same "default branch" name logic as Add Branch - Files: Save As for a commit diff shows the commit IDs on the buttons - Log and Working Tree window: - Files view: show details in the tooltip of renamed files - Standard window: - added tracking commands (Set Tracking, Stop tracking) - added worktree commands (Add, Remove, Prune) - added Push-to command - All Branches + Tags: the filter should be case insensitive - Discard: optionally also deletes untracked files - Integrate Feature: do not merge (for certain scenarios), but always rebase - Graph: - long-running filters should report results on-the-fly - denote refreshing state for background operations (e.g. filtering) - Refresh: improved performance of local refresh - Start Feature: - for multi-base-branch setups, preselect the closes base branch - can also be triggered from a selected commit ## Fixed Bugs - Checkout: problem when switching a submodule to a plain directory (or visa versa) - Graph: - Alt+Down did not reload on an "arrow" - do not try to extend in filtered mode - GUI: "More Options" checkbox in multiple dialogs was lacking the mnemonic - Repositories view: dragging an entry beyond the last one seemed to accept it - Syntax: - Powershell: possible internal error - Worktrees: branch of rebasing/bisecting worktrees was not properly detected - Standard window: - could not invoke terminal tools in opened submodule - Graph: - right-clicking a ref did not use that refs in external tool for `${commit}` - possible endless refreshing for repositories with very short history - Undo Last Commit: should check for untracked files, too # SmartGit 25.1.002 Preview (2025-01-08) ## New Features, Improvements - Files view: denote unexpanded LFS files - Preferences: - Syntax coloring configuration: - clicking a token in the preview selects the corresponding color - Push To: preselect the matching remote for the selected ref - Syntax coloring: - Kotlin: valid/invalid escapes, string templates - Powershell - TCL - Standard window: - Commit: allow to create empty merge commit - Files: introduce "Open in GitHub" - Finish Feature: if branch was not deleted, don't suggest to delete it the next time ## Fixed Bugs - Edit Commit Message: silently failed for empty commits - Graph: dragging a remote ref must not be allowed - Revert: commit messages containing patterns `${sha}` or `\n` might be expanded - Standard window: - switching from Local Files to History did not focus any control - Windows 11 24H2: menu and scrollbar background was bright in dark theme ## Other Noteworthy Changes - Revert and Rollback: use low-level property to configure message templates - new version numbering - JIRA Resolve dialog: scroll selection into view - Log window: - right-clicking a commit should show "Reveal Commit" instead of "Select Commit" - Standard window: - Local Files toolbar button: in case of conflict show only the number of conflicting files, not all changed files