SmartGit 24.1 Preview 9 (2024-07-12) ==================================== ## New Features, Improvements - Azure DevOps: include link to profile for Cloud settings dialog - Changes view, Compare: improved inner-line diff based on syntax of selected language - Checkout: warn if switching will change `.gitmodules` (it might be harder to switch back; sometimes happens trying to check out the wrong branch by accident) - Clone, GitHub: - added options which kind of repositories to query - more efficient repository query which gives almost all repositories of the old, expensive query - Log: honor `diff.renames=copies` when following renames/copies ## Fixed Bugs - Cherry-Pick/Squash Commits: possible internal error related to invalid Git commits - Hosting Providers: configuration of 23.1 is not properly upgraded (UUIDs are missing) - Investigate: merged changes are not detected as origin - Refresh: packed refs/replace were not processed - Window | Reset Perspective: keeps previous layout - Syntax: - Pascal: missed keyword `const` - Perl: incorrect lexing after slash - PHP: incorrect lexing - XML: might be confused by conflict markers - Standard window: - Push: `remote.pushDefault` was not honored ## Other Noteworthy Changes - JIRA: improve authentication dialog for JIRA cloud - Refresh: check and warn in case of external `credential.helper` - Log window: - Branches view: delete multiple stashes using Delete-key - Working Tree and Log window: - Push: honor `remote.pushDefault` for new branches - Standard window: - Log, Files: commit diff logic should honor the commit times for selection of what's left and right SmartGit 24.1 Preview 8 (2024-06-26) ==================================== ## Other Noteworthy Changes - Update Git to 2.45.2 fixing some vulnerabilities SmartGit 24.1 Preview 7 (2024-06-21) ==================================== ## New Features, Improvements - Clone: - asks for Credential Helper configuration when cloning for the first time - preselects the repository's *active* branch - "URL or Path" should be tolerant if the user pastes "git clone " - Preferences: added option to configure the Credential Helper during a clone - Standard window: - Merge/Rebase: are rejected now if there are local changes - Open in Browser for GitHub repositories - Syntax: - C#: support for verbatim, interpolated strings, string escapes, etc. - HTTP authentication: ensure that SmartGit's own credential helper is called first - Setup/Register: should handle URLs which are entered into the License File field and vice versa - Working Tree, Log window: - Repositories view: added Copy Path context menu item ## Fixed Bugs - Branch, Rename: must not overwrite other branches differing in case only - Clone: - fixed possible internal error when configuring Hosting Provider in on-top dialog - if the master password was canceled, "Searching..." was still shown - might have failed to ask for passwords of submodule repositories (Standard window only) - GitHub: - Hosting Provider configuration might have failed for specific org setups - should not warn for multiple accounts anymore (they are supported now) - HTTP authentication (credential helper): - fixed multiple, recurring prompts when working with multiple GitHub profiles - fixed various credential-related problems (regressions since 23.1) - might have failed if SmartGit needs to be started up - Log window: - Copy Name/Path: did nothing on Commit selection - Reveal: revealing a commit might have hung - Refresh: - gitattributes: attributes for the same file might have been processed in the wrong order - should be tolerant in case of "access denied" for (global) config file - Standard/Log: staged file which has been untracked-renamed in the working tree did not show up ## Other Noteworthy Changes - Bundled Git rolled back to version 2.43.0 due to LFS-related regressions in version 2.45.1: https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.45.2.txt - gitattributes: - support for macro attributes (CGit compatibility) - support for "global" and "system" files (CGit compatibility) - JRE upgraded to Java 21 - Rollback: added low-level property `rollback.message` to configure/prevent setting the commit message SmartGit 24.1 Preview 6 (2024-05-23) ==================================== ## New Features, Improvements - Update Git to 2.45.1 fixing some vulnerabilities ## Fixed Bugs - Changes view: - Unified view: selection-related operations should only be available if reasonable for the selected "side" type - internal error when trying to stage "left" block at line 0 - internal error for Unstage Selection for last block in unified diff view - Log Graph (and Commits view): - for .mailmap lines containing <>, mapping is not applied - for email-only .mailmap lines, the original Author name is lost - Refresh: possible internal error if mailmap.file contains an invalid path - Standard window: - adding, e.g., *Reset Advanced* to toolbar fails for "Basic" configuration - Linux, several text input fields: - internal error undoing changes after having typed Chinese characters with Pinyin ## Other Noteworthy Changes - Syntax: - Verilog: add support for more literal formats - Text editors: - Find and Replace: should replace the initial selection, too (if matching) - Move/Select word: added low-level property `styledtext.wordCaretMovementType` to customize the behavior; the `_` will be treated as word-character, e.g. also for double-click - Standard window: - Commit view: - for empty repository, show default branch name (to which the first commit will go) - file completion: the currently selected file will be preselected (if possible) SmartGit 24.1 Preview 5 (2024-05-10) ==================================== ## New Features, Improvements - Preferences: - Git Executable: added option to easier selecting bundled Git - Standard window: - Copy URL on current repository tab - Windows: - Show case-changed files - Ability to fix case-changed files - Local, Files: fine-tuned context menu ## Fixed Bugs - Files context menu: Submodule | Add should only be applicable on nested roots - Files: fixed display of case-changed files in Index - GitHub: notification "could be configured" should only show up for GitHub repositories - Preferences: - Updates: options for in-place/light-weight updates was not remembered - Log window: - Edit Message: "Select from Log" was only shown for non-HEAD commit - Standard window: - possible display of non-existing renamed in Working Tree list, related to case-changes files - Linux: internal error undoing typed Chinese (and maybe others) characters ## Other Noteworthy Changes - Compare: - inner-line diff improvements for small equal areas at beginning/end - inner-line diff improvements for lines with many identical characters - Files, context menu: group submodule commands, so it is obvious that they are related - JIRA: improve authentication dialog for JIRA cloud - Refresh: improved refresh performance for large repositories (UI related) - Submodules: - allow to deinit modified submodules - Standard window: - double clicking a working tree file defaults to Compare instead of Stage, because it is more defensive - Files: improve commands in context menu SmartGit 24.1 Preview 4 (2024-04-16) ==================================== ## New Features, Improvements - Hosting Provider improvements: - separate configurations for "cloud" and "enterprise" - GitHub: - support OAuth-authentication for Git executable with multiple remotes - show warnings which GitHub reports about OAuth-inaccessible organizations - Standard window: - Submodule toolbar button with popup for faster switching to submodule; removed previous Submodule category ## Fixed Bugs - Clone: URL input field was not preselected if clipboard contained URL - Directories view (Standard window, Log window): sorting was not case-insensitive as in other parts - Preferences, Hosting Providers: double-click did not invoke Edit - Push: internal error when trying to push multiple repositories at once - Linux, MacOS: cloning from URL did not work (URL was treated as file) ## Other Noteworthy Changes - Clone, Repository selection: - allow filtering by group - ability to repository copy URL - File editor (git config files): optional auto-save - Hosting providers: - hid simple providers by default; can be enabled with low-level property - hid "Use oauth-token for repository authentication (instead of password)" - use low-level properties `*.useTokenForRepositoryAuthentication` for not recommended password access - Refresh: - performance improvements for index-only changes, e.g. after Stage - do not display index path for case-changed directories - Standard window: - Commit view: during rebase show the rebased branch instead of "HEAD" - removed inline help controls - reduced space between toolbar buttons - MacOS: - environment variable detection: invoke shell with interactive option (-i) SmartGit 24.1 Preview 3 (2024-03-22) ==================================== ## New Features, Improvements - Clone: - easier cloning from hosting providers - the hosting provider repositories are shown in a tree structure instead of a table ## Fixed Bugs - Changes view, Compare, ...: several problems resolved for display of non-US-ASCII characters that are not supported by the selected font - Hosting providers: for some configurations the Domain input field was missing - Refresh (config): possible internal error if config file ends after subsection name [CgConfigState.parse Buffer.nextGetIndex BUE (2)] - MacOS: on some systems the row height of tree and table controls was increased ## Other Noteworthy Changes - Split Commit: - Continue: if all changes of the original commit were committed, allow to skip the confirmation dialog - updated SWT - Standard window: - Branches: improved anchor branch selection (source vs. target branch) for pull requests SmartGit 24.1 Preview 2 (2024-03-11) ==================================== ## Fixed Bugs - Standard window: - Graph view: for multi-selection the commit popup was shown when clicking at ref - MacOS: - Commit, Line Length Guides: if the message contained tab characters, the max-length-bars were drawn at wrong position - environment variable detection failed if `pwsh` was selected - Windows: - Commit, Rewrap: wrapped incorrectly - WSL: if appending Windows path was disabled, browser window could not be opened ## Other Noteworthy Changes - Clone: - the local path is now split into parent directory and directory name making it easier to place repositories into one or more parent directories - even for the first repository a path is suggested - i18n: updated Chinese translation - Preferences, Hosting Providers, Add: use popup button to select the type of repository - Repository Search: - if all repositories and groups were deleted before opening the Repository Search, it will group them by path like the repositories found during the Setup wizard - Setup wizard: stream-lined - main window selector became first page - Git executable and SSH client are configured by default and can be changed in the preferences - updated SWT - fixing drawing of non-US-ASCII characters in the Changes view and Compare - Log and Working Tree windows: - Files: "Renamed Path" shows new (target) path for rename sources - Standard window: - improved keyboard navigation, e.g. Window | Branches cycles through Ref selector of My History and All Branches + Tag; Window | Files cycles through Local Files and History Files SmartGit 24.1 Preview 1 (2024-02-12) ==================================== ## New Features, Improvements - Syntax coloring: - support for Gettext .po files - Log window, Standard window: - added the power-user feature "Rollback To" which allows to set the working tree or index to the one of the selected commit - Add Remote dialog: for GitHub forked repositories without an upstream remote, it will be suggested - Standard window: - added Edit Ignore File to find a Git ignore file that ignores a certain file, or edit one of the Git ignore files ## Fixed Bugs - Add Remote: dialog should forget failed previous remote if the repository was changed - Add Submodule wizard: second page could become too wide - File Tables (Std/Log/WT): when filtering for ignored files, matching files should be displayed - Preferences: - Git executable page: Git version was not shown if this page was last used before closing the dialog - Pull: inactive submodules must not be initialized - Submodules: if "submodule..active" can't be parsed, it should be considered active (not inactive) - Standard window: - Add Remote did not remember a failed url/name pair - Graph: context menu may become disabled in case of concurrent background refresh - Index Files: file sorting should not be influenced by Working tree state - Linux: the temp directory was not reliably cleared on exit resulting on warnings on the next start - MacOS: - File completion did not work at all (no event was sent for Ctrl+Space, using Alt+Space now) - preferences and other dialogs: - certain controls, especially labels, checkboxes, radio buttons, comboboxes were vertically misaligned ## Other Noteworthy Changes - updated bundled Git to version 2.43.0 - Background Fetch: initialized submodules are fetched now even if deactivated - Changes view: - Goto Prev/Next Change: won't move the caret into the opposite direction, e.g. if caret is before first/after last change in file - Changes view, Compare, Conflict Solver, ...: - the focused selection color is now kept until a different text control is getting focused (before even showing a context menu or the Find file dialog caused the harder to see unfocused color to be used) - JIRA resolve dialog: improved texts - Push: for a forced push the confirmation branch shows the branch name - Repository Search: starting a manual search aborts now the automatic one - startup logging to console has been reduced - Submodule | Deactivate: works now on multiple selected submodules - Syntax coloring: - Markdown: several improvements and fixes for quotes, underscores and - Verilog: several improvements and fixes for number literals without bit count, or with ?xz states, backtick constants, missing keywords, identifiers starting with underscores - Standard window: - the Commit button is now disabled if there is definitely nothing to commit - Open in Browser (GitHub): when invoked on commit, open /commit/ instead of /tree/ - Ignore: should only be available for ignorable files - tabs: - the middle-mouse-click should trigger on non-dragged mouse-released - the left-mouse-click should only select if no modifier is pressed - the left-mouse-click with Shift held should close the tab (similar to middle-mouse-click) - Working Tree window: - if a subdirectory inside an open repository is selected, the title will keep showing the repository