SmartGit 24.1 RC 5 (2024-10-29) =============================== ## New Features, Improvements - Log and Working Tree window: - Files view: Fix Case-Change now available in context menu ## Fixed Bugs - Changes view: in Unified mode, too few selection-related operations were available (regression from 23.1) - GitHub: - reading pull requests failed if page limit was reached - fixed misleading error message if OAuth token was invalid - GitHub Enterprise: - could not add hosting provider - possible error trying to read pull request comments - Preferences: - Git config: modifications were not saved (regression from 23.1) - Remove Worktree: removing or opening the repository in one window while removing the worktree in another caused internal errors - Reverting files from a commit produced weird default commit message - Standard window: - Commit: internal error when committing to detached HEAD and having the Push option selected - Log window: - Graph: misleading empty-message in several scenarios, e.g. when filtering - Log and Working Tree window: - the low-level property `commit.allowToCreateEmpty` did not work properly ## Other Noteworthy Changes - Setup wizard: show a warning and switch back to Style page when having selected the Standard window, but registered a non-commercial license SmartGit 24.1 RC 4 (2024-10-18) =============================== ## New Features, Improvements - Fix Case-Change: allow (partially) for modified files, too ## Fixed Bugs - Checkout: possible error "Could not resolve HEAD" - Pull/Push/others: external credential.helper may be overridden even if "Use SmartGit for authentication" was unselected - Syntax: - C++: allow 0x0C (Formfeed) as whitespace character - Shell: emojis break syntax coloring - Log window: - Files view (for selected commit): could not drag file to external application, e.g. editor - Standard window: - could not drag file to external application, e.g. editor - internal error clicking certain notifications for which the related repository tab already has been closed ## Other Noteworthy Changes - updated translations, especially Japanese SmartGit 24.1 RC 3 (2024-10-10) =============================== ## Fixed Bugs - Clone, Directory Name input field (Windows): internal error entering a drive letter followed by colon - Commit dialog: mnemonics for controls after the message input field did not work any more (regression) - GitLab: possible error "Token was revoked" after updating personal access token in the Preferences - Log graph: the first filtering caused a noticable flickering - Split Off Files: setting the low-level property `log.splitOffFiles.prefix` to empty produces commit message starting with "null" - Syntax: - Markdown: characters >= 0x80h were not parsed correctly - Shellscript: backslash in conditional expression was not parsed correctly - several languages: possible internal error with \ on end of line SmartGit 24.1 RC 2 (2024-10-07) =============================== ## Fixed Bugs - Clone: changing a missing Git executable in the occurring preferences dialog required the Clone wizard to be reopened - Commit dialog: Alt+M does not select message input field, but popup button - File Compare (Show Changes): line endings could become duplicated if they were stored as CR LF in the repository - Syntax: - HTML: incorrect parsing - Working Tree window: working tree with --separate-git-dir is not correctly refreshed - Linux: - maximizing a window remembers the location (0, 0) instead of the previous one - Ubuntu 24.04: not restoring window's maximized state SmartGit 24.1 RC 1 (2024-09-26) =============================== ## Fixed Bugs - Clone: possible unexpected credential helper dialogs and other weird behavior in combination with background refreshs - Compare, syntax-based-diff: plain text areas were not handled correctly - File Compare: Export to HTML: produced hard-to-read colors on dark theme - GitHub: internal error trying to access non-existing repository - Preferences, Git executable: combobox might not show other options - proxy environment: catch potential NPE in JDK - syntax coloring: - HTML/XML: internal error for invalid syntax which might happen when editing - Shellscript: incorrect parsing of nested structures - Standard window: - Graph: unepected back-and-forth layout if an invisible ref was on one commit ## Other Noteworthy Changes - Standard window: - "Open in Browser": renamed to "Open in GitHub" - Pull request from a fork is not shown SmartGit 24.1 Preview 13 (2024-09-11) ===================================== ## Fixed Bugs - MacOS: notarization was silently broken - GitHub: for transferred repository, pull requests did not show up - Syntax: - Innosetup Script: did not support `{ }` or `(* *)` block comments in `[code]` section - Standard window: - pull requests sometimes don't show up ## Other Noteworthy Changes - Standard window: - GitHub: improved performance for fetching many pull requests SmartGit 24.1 Preview 12 (2024-09-05) ===================================== ## New Features, Improvements - Changes view: Apply Line should work for equal-size-block, too (similar to File Compare) - GitHub: ability to select issue similar to JIRA support - Investigate: optionally follows insignificant merges (experimental) - Rollback: should work (for Files) in Graph diff mode, too, if one of the selected commits is HEAD - Standard window: - Commit: allow Push option also for local (non-tracking) branches - Directories: Subdirectory Log - Finish Feature: pull only relevant branches ## Fixed Bugs - Changes view: misleading "Submodule does not exist" error for non-existing commits - Git configuration: custom HOME env variable (and thus custom ~/.gitconfig) was not honored anymore - GitHub: - internal error when refreshing pull requests - NPE when author was "ghost" (obsolete user account) - NPE while iterating pages for Repositories - Graph: several drag and drop related regressions - Investigate: possible error "Could not resolve HEAD" - Remove: should not be enabled for submodules (it's not working anyway) - Revert: extended rebase logic - Split Commit: could not commit with Commit dialog (but with Commit view) - MacOS: - Repository | Edit Git Config | Repository: could immediately hide the window if the mouse was over a window part that showed a tooltip - possible umlaut problem - Standard window: - internal error when selecting virtual and regular commit ## Other Noteworthy Changes - About dialog: show license identifier (like Contact Support) - "External credential helper detected" notification: optionally make SmartGit handle the authentication - GitHub/GitLab/others: improve error handling - Index Editor and other windows: improve felt opening performance - license-server: proxy support - Preferences: - Git Config: show paths of detected Git config files - Stash Selection: improve error handling if selection contains conflicting (= unstashable) files - update SWT: - workaround for https://github.com/eclipse-platform/eclipse.platform.swt/issues/924 - workaround for performance problem for characters < 0x20 - Working Tree window: - Branches: show content for bare repositories, too - Working Tree/Log windows: - Checkout: for the Stash/Discard dialog in case of local changes, let the user confirm Discard a second time SmartGit 24.1 Preview 11 (2024-08-22) ===================================== ## New Features, Improvements - Blame/Investigate: honor "diff.renames=copies" when following renames/copies - Blame: for "View Commit", denotes if the file path has been changed - Changes View, File Compare: rework "Ignore Whitespace" option(s): - "Ignore Whitespace" option instead of "Ignore Leading" and "Ignore All" - Changes view: added toggle button in view header - the option is automatically reset for local files if a different one is selected (to avoid unintentionally commit unseen whitespace changes); in committed files it is preserved - Log, Working tree window: - optionally stage/unstage on double-clicking a local file (Preferences, page "User Interface") - Preferences: - Git Executable: added option for using own credential helper (ignoring any system one) - Linux and macOS: - bundled Git now comes with ready-to-use LFS configuration like the Windows bundled Git ## Fixed Bugs - Changes view: - possible internal error when applying lines for syntax-dependent tokenizing - Apply Selection: should only be applicable for full line of an added block, not for arbitrary subsets - GitHub/others: - Edit dialog continued to reject configuration after having created a token for an overlapping account once - possible internal error when opening a github.com repository, but having configured an on-premise GitHub Enterprise instance only - Refresh: - `.gitattributes` "working-tree-encoding" was not honored - possibly confusing missing-untracked detection - is now tolerant for FileSystemLoopException - External credential helper notification showed wrong config path - Syntax: - Java: buggy parsing of text block containing double-quotes - Shellscript: internal error for herefodc in file with Windows line endings - Standard window: - Configure Features: did not save empty feature prefix - Integrate: - did not update submodules - did not work for empyt feature prefix - Linux: - bundle still used old Java version ## Other Noteworthy Changes - update bundled Git to version 2.46.0 - Add Repository: change default of low-level property `repository.suggestMostAppropriateGroup` because the behavior often was unexpected for users - Changes view: - Apply Selection: is now tolerant if full line content but line endings has been selected - Completion: introduce low-level property `completion.useAltAsModifier` to be able to get Alt+Space (instead of Ctrl+Space) working on MacOS if Ctrl+Space is already used by switching keyboard layouts - JIRA: better default query for "Select from JIRA" - GitHub: uses new libary Apollo GraphQL - Log graph: - Hamburger menu, Author Avatar > Only If Changed: changed default to unselected (raised too many questions by users) - Proxy: support NO_PROXY and no_proxy environment variables - Refresh: - added low-level property `refresh.evaluateContentChangesForModifiedFileMode` - SSH: removed outdated and unused SSH libraries - Standard window: - Pull: optionally allow local modifications by setting low-level property `standard.pull.allowDirtyWt` - Log window: - Files: improve table columns for working tree state - Linux: - disable SVG support (can be re-enabled with `changesView.showSvgAsText`) because it was not supported on other platforms and was not very good - WSL: warn for host-mounted repositories - macOS: - trying to use the home directory as repository did not work because of file permission issues SmartGit 24.1 Preview 10 (2024-08-05) ===================================== ## New Features, Improvements - File Log: provide Open link for appropriate hosting provider - Git-Flow: - Finish Release: support fast-forward master - Rebase: when invoking on a commit from the HEAD history, offer to rebase this single commit - Rebase Continue: warn before applying unstaged working tree changes ## Fixed Bugs - Azure DevOps: Create Pull Request opened wrong URL - Git: possible inconsistent processing of gitconfig file - GitFlow: - Finish Release with squash did not work for custom base branch - GitHub (and others): - refreshing failed for multiple configurations for the same hosting provider - GitLab: token expires too frequently - Log graph: - possible internal error related to invalid commit data, e.g. no author - dragging a single commit onto its history should offer to Rebase, too - internal error when clicking bugtraq link - Preferences, Tools: Add/Edit dialog may grow too large - Refresh (file monitoring): fix for Windows directory mounts - Syntax coloring: - ANTLR: did not support \u{12345} escape - C#: failed to parse double-quote character literal '"' - HTML: did not report whitespace correctly - JavaScript/TypeScript: incorrect lexing of recursive template mode - JavaScript/TypeScript: failed on @ - Ruby: failed on @ - Shellscript: failed on $ - Swift: failed on @ - Swift: identifiers can contain unicode characters, e.g. emojis - Log window: - GitHub (and others): - fetching pull request did not properly reveal anymore (regression from 23.1) - Log and Working tree windows: - show "current" branch for empty repository - Standard window: - Commit: for empty repository, show the correct branch which will be used when committing ## Other Noteworthy Changes - history-related commands: improved message if commit reorganization is not possible/supported - Preferences: - Git executable page: show also LFS version - Setup: ask user (again) which Git executable to use; don't ask if only the bundled git was found - Syntax coloring: - Ruby: support heredoc - Syntax diff: instead of crashing for buggy lexer, highlight remaining part of the file as invalid 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