- Add cli support for repositories, users and groups ([#1987](https://github.com/scm-manager/scm-manager/pull/1987), [#1993](https://github.com/scm-manager/scm-manager/pull/1993))
### Fixed
- Table in code view breaks at certain screensizes ([#1995](https://github.com/scm-manager/scm-manager/pull/1995))
- Freezing browser if large files with syntax highlighting were displayed ([#2010](https://github.com/scm-manager/scm-manager/pull/2010))
- Multiline highlighting with line numbers ([#2010](https://github.com/scm-manager/scm-manager/pull/2010))
- White space next to button group in code action bar missing at screen size 769px ([#2006](https://github.com/scm-manager/scm-manager/pull/2006))
- Wrong label displayed above the action column in mobile mode for keys ([#1990](https://github.com/scm-manager/scm-manager/pull/1990))
- Do not process index types which no longer exist ([#1985](https://github.com/scm-manager/scm-manager/pull/1985))
- Incorrect log warning "could not set executable flag"
- Correct styling of syntax highlighter .section elements ([#1984](https://github.com/scm-manager/scm-manager/pull/1984))
- Improve organization of variables in scss ([#1976](https://github.com/scm-manager/scm-manager/pull/1976))
- Small tweaks in darkmode ([#1976](https://github.com/scm-manager/scm-manager/pull/1976))
- Escape parenthesis for entity names to fix routing ([#1998](https://github.com/scm-manager/scm-manager/pull/1998))
- Unnecessary re-render of markdown view ([#1999](https://github.com/scm-manager/scm-manager/pull/1999))
- Handling of illegal lfs pointers ([#1994](https://github.com/scm-manager/scm-manager/pull/1994))
- Open file handle prevent deleting a repository on Windows ([#2008](https://github.com/scm-manager/scm-manager/pull/2008))
- Make focused buttons clearly visible ([#2009](https://github.com/scm-manager/scm-manager/pull/2009))
- Label on focused button in high-contrast mode has enough contrast ([#2009](https://github.com/scm-manager/scm-manager/pull/2009))
### Changed
- Skip syntax highlighting on very large files ([#2010](https://github.com/scm-manager/scm-manager/pull/2010))
- Omit default port in protocol urls ([#2014](https://github.com/scm-manager/scm-manager/pull/2014))
- Branch decoding in overview ([#1963](https://github.com/scm-manager/scm-manager/pull/1963))
- Replace escaped characters in search syntax with html-encoded characters to display syntax and examples ([#1963](https://github.com/scm-manager/scm-manager/pull/1972))
- Triangle of notifications area points towards bell ([#1971](https://github.com/scm-manager/scm-manager/pull/1971))
- Do not redirect after simple data updates ([#1965](https://github.com/scm-manager/scm-manager/pull/1965))
### Changed
- Split frontend code by routes ([#1955](https://github.com/scm-manager/scm-manager/pull/1955))
- Enhance ui-elements to be more accessible on smaller screens ([#1950](https://github.com/scm-manager/scm-manager/pull/1950))
- Default theme is selected according to system defaults ([#1969](https://github.com/scm-manager/scm-manager/pull/1969))
- initial focus, submission on pressing enter and fix trap focus for modals ([#1925](https://github.com/scm-manager/scm-manager/pull/1925))
- Add compare view to see changes between branches, tags and revisions ([#1920](https://github.com/scm-manager/scm-manager/pull/1920))
- Security notifications to inform the running instance about known security issues ([#1924](https://github.com/scm-manager/scm-manager/pull/1924))
### Fixed
- Set HEAD to correct branch in new git repositories ([#1929](https://github.com/scm-manager/scm-manager/pull/1929))
- Fix bugs in unit tests which occur on Windows only ([#1927](https://github.com/scm-manager/scm-manager/pull/1927))
- Encrypt myCloudogu refresh token on file system ([#1923](https://github.com/scm-manager/scm-manager/pull/1923))
- Autocompletion has sorted suggestions ([#1918](https://github.com/scm-manager/scm-manager/pull/1918))
### Changed
- Keeps the selection whether to add a user or a group in the repository permission dialog ([#1919](https://github.com/scm-manager/scm-manager/pull/1919))
- Autocompletion for namespaces ([#1916](https://github.com/scm-manager/scm-manager/pull/1916))
- Show additional branch details information ([#1888](https://github.com/scm-manager/scm-manager/pull/1888) and [#1893](https://github.com/scm-manager/scm-manager/pull/1893))
- Add move capabilities to modify command ([#1859](https://github.com/scm-manager/scm-manager/pull/1859))
- Adds compatibility for OCP and ICP ([#1870](https://github.com/scm-manager/scm-manager/pull/1870))
- Show additional information on branches overview ([#1876](https://github.com/scm-manager/scm-manager/pull/1876))
### Fixed
- High contrast mode flaws ([#1892](https://github.com/scm-manager/scm-manager/pull/1892))
- Cleanup html errors ([#1869](https://github.com/scm-manager/scm-manager/pull/1869))
- Fix extension point "main.route"
- Closing of repository while getting the latest commit asynchronously ([#1903](https://github.com/scm-manager/scm-manager/pull/1903))
- Search highlighting in jsx ([#1886](https://github.com/scm-manager/scm-manager/pull/1886))
- Syntax highlighting on non highlighted fields ([#1901](https://github.com/scm-manager/scm-manager/pull/1901))
- Ellipsis on new lines in code syntax highlighting ([#1901](https://github.com/scm-manager/scm-manager/pull/1901))
- Ellipsis on content start or end in non code fields ([#1901](https://github.com/scm-manager/scm-manager/pull/1901))
- Closing of file streams ([#1857](https://github.com/scm-manager/scm-manager/pull/1857) and [#1868](https://github.com/scm-manager/scm-manager/pull/1868))
- Exit of retry loop for deletion of files ([#1857](https://github.com/scm-manager/scm-manager/pull/1857) and [#1868](https://github.com/scm-manager/scm-manager/pull/1868))
- Personal footer links ([#1882](https://github.com/scm-manager/scm-manager/pull/1882))
- Better error descriptions for gpg key import ([#1879](https://github.com/scm-manager/scm-manager/pull/1879))
- Highlight only queried fields ([#1887](https://github.com/scm-manager/scm-manager/pull/1887))
- Overview document title ([#1885](https://github.com/scm-manager/scm-manager/pull/1885))
- Do not display ellipsis if search result matches start or end of content ([#1896](https://github.com/scm-manager/scm-manager/pull/1896))
- Source view for files with colons ([#1881](https://github.com/scm-manager/scm-manager/pull/1881))
### Changed
- Improved quick search experience for screen readers ([#1898](https://github.com/scm-manager/scm-manager/pull/1898))
- Keep whole lines for code highlighting in search ([#1871](https://github.com/scm-manager/scm-manager/pull/1871))
- Use more accurate language detection for syntax highlighting ([#1891](https://github.com/scm-manager/scm-manager/pull/1891))
- Method to delete files recursively in modify command ([#1821](https://github.com/scm-manager/scm-manager/pull/1821))
- Internal api to determine email address for DisplayUser ([#1815](https://github.com/scm-manager/scm-manager/pull/1815))
- Set author for merge as DisplayUser ([#1815](https://github.com/scm-manager/scm-manager/pull/1815))
- Add method to delete whole configuration store ([#1814](https://github.com/scm-manager/scm-manager/pull/1814))
- Move DangerZone styling to ui-components (([#1814](https://github.com/scm-manager/scm-manager/pull/1814)))
- Extension points for source tree ([#1816](https://github.com/scm-manager/scm-manager/pull/1816))
### Fixed
- Bugs in svn and source tree for folders with a % in the name ([#1817](https://github.com/scm-manager/scm-manager/issues/1817) and [#1818](https://github.com/scm-manager/scm-manager/pull/1818))
- Edge cases in mirror command with cached workdirs ([#1812](https://github.com/scm-manager/scm-manager/pull/1812))
- Use correct logger for mercurial internal commands ([#1804](https://github.com/scm-manager/scm-manager/pull/1804))
- Deletion of repositories from search index ([#1813](https://github.com/scm-manager/scm-manager/pull/1813))
### Changed
- Bind mappers automatically to mapper implementations ([#1807](https://github.com/scm-manager/scm-manager/pull/1807))
- Clear external group cache on explicit user logout ([#1819](https://github.com/scm-manager/scm-manager/pull/1819))
- Replace styled-components with bulma helpers ([#1783](https://github.com/scm-manager/scm-manager/pull/1783))
- Embedded repository in search result hit ([#1756](https://github.com/scm-manager/scm-manager/pull/1756))
- Base revision in modifications command to compute modifications between revisions ([#1761](https://github.com/scm-manager/scm-manager/pull/1761))
- Bounding box for plugin avatar ([#1749](https://github.com/scm-manager/scm-manager/pull/1749))
- Support for enum fields during indexing ([#1792](https://github.com/scm-manager/scm-manager/pull/1792))
- Central Work Queue for coordinating long-running tasks ([#1781](https://github.com/scm-manager/scm-manager/pull/1781))
- Api to modify multiple indices at once ([#1781](https://github.com/scm-manager/scm-manager/pull/1781))
- Event which is fired whenever the default branch of a repository changes ([#1763](https://github.com/scm-manager/scm-manager/pull/1763))
- Proxy support for pull, push and mirror commands ([#1773](https://github.com/scm-manager/scm-manager/pull/1773))
- Option for local proxy configuration to mirror command ([#1773](https://github.com/scm-manager/scm-manager/pull/1773))
- Show repository avatar in quick search ([#1759](https://github.com/scm-manager/scm-manager/issues/1759))
- Add additional help to quick search and an advanced search documentation page ([#1757](https://github.com/scm-manager/scm-manager/pull/1757)
- Support for different types of analyzer per field ([#1755](https://github.com/scm-manager/scm-manager/pull/1755))
### Fixed
- Missing encoding of useBranch api ([#1798](https://github.com/scm-manager/scm-manager/pull/1798))
- Post 'post receive repository hook event' after import ([#1754](https://github.com/scm-manager/scm-manager/pull/1754))
- Preserve request method on force base url ([#1771](https://github.com/scm-manager/scm-manager/issues/1771) and [#1778](https://github.com/scm-manager/scm-manager/pull/1778))
- Search queries containing hypens ([#1743](https://github.com/scm-manager/scm-manager/issues/1743) and [#1753](https://github.com/scm-manager/scm-manager/pull/1753))
- Fix disabled local proxy configuration being used over global config ([#1780](https://github.com/scm-manager/scm-manager/pull/1780))
- Fix HalRepresentationWithEmbedded type ([#1793](https://github.com/scm-manager/scm-manager/pull/1793))
- Error message for parse error on search result page ([#1768](https://github.com/scm-manager/scm-manager/pull/1768))
- Remove deletion of empty modalRoot node to allow a different modal to continue to exist ([#1779](https://github.com/scm-manager/scm-manager/pull/1779))
- Broken login page if login info response could not be parsed ([#1791](https://github.com/scm-manager/scm-manager/issues/1791) and [#1795](https://github.com/scm-manager/scm-manager/pull/1795))
- Submission of empty search queries ([#1769](https://github.com/scm-manager/scm-manager/pull/1769))
- Too heavy logging of SchemeBasedWebTokenGenerator ([#1772](https://github.com/scm-manager/scm-manager/issues/1772) and [#1777](https://github.com/scm-manager/scm-manager/pull/1777))
- Prevent multiple working copy pools ([#1797](https://github.com/scm-manager/scm-manager/issues/1797))
- Repository viewer filename with hash ([#1766](https://github.com/scm-manager/scm-manager/issues/1766) and [#1776](https://github.com/scm-manager/scm-manager/pull/1776))
- Fetch clone modal data on first opening ([#1784](https://github.com/scm-manager/scm-manager/pull/1784))
- Branch selector display revision if selected instead of first branch ([#1767](https://github.com/scm-manager/scm-manager/pull/1767))
- Show empty files instead of endless loading spinner ([#1762](https://github.com/scm-manager/scm-manager/pull/1762))
- redundant git repo closing in some commands ([#1789](https://github.com/scm-manager/scm-manager/pull/1789))
- Keep quick search input on page reload ([#1788](https://github.com/scm-manager/scm-manager/pull/1788))
### Changed
- One index per type instead of one index for all types ([#1781](https://github.com/scm-manager/scm-manager/pull/1781))
- Use central work queue for all indexing tasks ([#1781](https://github.com/scm-manager/scm-manager/pull/1781))
- Keep search result type if searched from result page ([#1764](https://github.com/scm-manager/scm-manager/pull/1764))
- Expose content type resolver api to plugins ([#1752](https://github.com/scm-manager/scm-manager/pull/1752))
- Improve Search API ([#1755](https://github.com/scm-manager/scm-manager/pull/1755))
- The simple workdir cache has a maximum size, an lru semantic and blocks on parallel requests ([#1735](https://github.com/scm-manager/scm-manager/pull/1735))
- Add username/password authentication to push command ([#1734](https://github.com/scm-manager/scm-manager/pull/1734))
- Decrease log level of DefaultAdministrationContext from info to debug
- Initial admin user has to be created on first startup ([#1707](https://github.com/scm-manager/scm-manager/pull/1707), [#1722](https://github.com/scm-manager/scm-manager/pull/1722))
- Patch endpoint for global configuration ([#1629](https://github.com/scm-manager/scm-manager/pull/1629))
- Show hg binary verification error messages ([#1637](https://github.com/scm-manager/scm-manager/pull/1637))
- Add global notifications ([#1646](https://github.com/scm-manager/scm-manager/pull/1646))
- Add extension point for custom link protocol renderers in markdown ([#1639](https://github.com/scm-manager/scm-manager/pull/1639))
### Fixed
- Show correct default branch for repository if not configured yet ([#1643](https://github.com/scm-manager/scm-manager/pull/1643))
- Flickering form elements on repository initialization ([#1644](https://github.com/scm-manager/scm-manager/issues/1644) and [#1645](https://github.com/scm-manager/scm-manager/issues/1645))
- Messages from post commit hooks for git ([#1647](https://github.com/scm-manager/scm-manager/pull/1647))
- External links and anchor links are now correctly rendered in markdown even if no base path is present ([#1639](https://github.com/scm-manager/scm-manager/pull/1639))
### Changed
- Show only relevant information on repository information page ([#1636](https://github.com/scm-manager/scm-manager/pull/1636))
- external nav links now correctly collapse when used in a menu ([#1596](https://github.com/scm-manager/scm-manager/pull/1596))
- Response with exception stack trace for invalid urls ([#1605](https://github.com/scm-manager/scm-manager/pull/1605))
- Do not show repositories on overview for not existing namespace ([#1608](https://github.com/scm-manager/scm-manager/pull/1608))
### Changed
- Show "CUSTOM" name instead empty entry for permission roles ([#1597](https://github.com/scm-manager/scm-manager/pull/1597))
- Improve error messages for invalid media types ([#1607](https://github.com/scm-manager/scm-manager/pull/1607))
- Allow all UTF-8 characters except URL identifiers as user and group names and for namespaces. ([#1600](https://github.com/scm-manager/scm-manager/pull/1600))
- Encode revision on extension points to fix breaking change ([#1585](https://github.com/scm-manager/scm-manager/pull/1585))
- Index link collection in repository initialize extensions ([#1594](https://github.com/scm-manager/scm-manager/issues/1588) and [#1587](https://github.com/scm-manager/scm-manager/issues/1594))
- Mercurial encoding configuration per repository ([#1577](https://github.com/scm-manager/scm-manager/issues/1577), [#1583](https://github.com/scm-manager/scm-manager/issues/1583))
- Authentication names in open api spec ([#1582](https://github.com/scm-manager/scm-manager/issues/1582))
- Sometimes no redirect after login ([#1592](https://github.com/scm-manager/scm-manager/pull/1592))
- Navigate after search ([#1589](https://github.com/scm-manager/scm-manager/pull/1589))
- Diff for mercurial and subversion ([#1588](https://github.com/scm-manager/scm-manager/issues/1588) and [#1587](https://github.com/scm-manager/scm-manager/issues/1587))
- Repository data can be migrated independently to enable the import of dumps from older versions ([#1526](https://github.com/scm-manager/scm-manager/pull/1526))
- XML attribute in root element of config entry stores ([#1545](https://github.com/scm-manager/scm-manager/pull/1545))
- Add option to encrypt repository exports with a password and decrypt them on repository import ([#1533](https://github.com/scm-manager/scm-manager/pull/1533))
- Make repository export asynchronous. ([#1533](https://github.com/scm-manager/scm-manager/pull/1533))
- Lock repository to "read-only" access during export ([#1519](https://github.com/scm-manager/scm-manager/pull/1519))
- Warn user to not leave page during repository import ([#1536](https://github.com/scm-manager/scm-manager/pull/1536))
- Import repository permissions from repository archive ([#1520](https://github.com/scm-manager/scm-manager/pull/1520))
- Loading of cache configuration from plugins ([#1540](https://github.com/scm-manager/scm-manager/pull/1540))
- Missing error message for wrong password ([#1527](https://github.com/scm-manager/scm-manager/pull/1527))
- Sporadic error in reading git pack files ([#1518](https://github.com/scm-manager/scm-manager/issues/1518))
- Fix permission check for branch deletion ([#1515](https://github.com/scm-manager/scm-manager/pull/1515))
- Fix broken mercurial http post args configuration ([#1532](https://github.com/scm-manager/scm-manager/issues/1532))
- Do not resolve external groups for system accounts ([#1541](https://github.com/scm-manager/scm-manager/pull/1541))
- Wrong redirect on paginated overviews ([#1535](https://github.com/scm-manager/scm-manager/pull/1535))
### Changed
- Config entry stores are handled explicitly in exports ([#1545](https://github.com/scm-manager/scm-manager/pull/1545))
- Allow usage of cache as shiro authentication and authorization cache ([#1540](https://github.com/scm-manager/scm-manager/pull/1540))
- Implement new changelog process ([#1517](https://github.com/scm-manager/scm-manager/issues/1517))
- Fire post receive repository hook event after the repository import has been finished. ([#1544](https://github.com/scm-manager/scm-manager/pull/1544))
- improve frontend performance with stale while revalidate pattern ([#1555](https://github.com/scm-manager/scm-manager/pull/1555))
- Change the order of files inside the repository archive ([#1538](https://github.com/scm-manager/scm-manager/pull/1538))
- Temporary data for repositories is kept in the repository directory, not in a global directory ([#1510](https://github.com/scm-manager/scm-manager/pull/1510))
- Accidentally blocked requests with non ascii characters ([#1480](https://github.com/scm-manager/scm-manager/issues/1480) and [#1469](https://github.com/scm-manager/scm-manager/issues/1469))
- Initialization of new git repository with master set as default branch ([#1467](https://github.com/scm-manager/scm-manager/issues/1467) and [#1470](https://github.com/scm-manager/scm-manager/pull/1470))
- Healthcheck for docker image ([#1428](https://github.com/scm-manager/scm-manager/issues/1428) and [#1454](https://github.com/scm-manager/scm-manager/issues/1454))
- Unexpected mercurial server pool stop ([#1446](https://github.com/scm-manager/scm-manager/issues/1446) and [#1457](https://github.com/scm-manager/scm-manager/issues/1457))
- Support anonymous file download through rest api for non-browser clients (e.g. curl or postman) when anonymous mode is set to protocol-only ([#1402](https://github.com/scm-manager/scm-manager/pull/1402))
- Add RepositoryCreationDto with creation context and extension-point for repository initialization ([#1324](https://github.com/scm-manager/scm-manager/pull/1324))
- Add "sonia.scm.restart-migration.wait" to set wait in milliseconds before restarting scm-server after migration ([#1308](https://github.com/scm-manager/scm-manager/pull/1308))
- Fix plugin installation error if previously a plugin was installed with the same dependency which is still pending. ([#1300](https://github.com/scm-manager/scm-manager/pull/1300))
- Fixed error in update step ([#1237](https://github.com/scm-manager/scm-manager/issues/1237) and [#1244](https://github.com/scm-manager/scm-manager/issues/1244))
- The old frontend extension point `changeset.description` is deprecated and should be replaced with `changeset.description.tokens` ([#1231](https://github.com/scm-manager/scm-manager/pull/1231))
- Fixed installation of debian packages on distros without preinstalled `at` ([#1216](https://github.com/scm-manager/scm-manager/issues/1216) and [#1217](https://github.com/scm-manager/scm-manager/pull/1217))
- Fixed restart with deb or rpm installation ([#1222](https://github.com/scm-manager/scm-manager/issues/1222) and [#1227](https://github.com/scm-manager/scm-manager/pull/1227))
- Fixed broken migration with empty security.xml ([#1219](https://github.com/scm-manager/scm-manager/issues/1219) and [#1221](https://github.com/scm-manager/scm-manager/pull/1221))
- Do not force java home of recommended java dependency for rpm and deb packages ([#1195](https://github.com/scm-manager/scm-manager/issues/1195) and [#1208](https://github.com/scm-manager/scm-manager/pull/1208))
- Option to configure jvm parameter of docker container with env JAVA_OPTS or with arguments ([#1175](https://github.com/scm-manager/scm-manager/pull/1175))
- Fixes configuration of jetty listener address with system property `jetty.host` ([#1173](https://github.com/scm-manager/scm-manager/pull/1173), [#1174](https://github.com/scm-manager/scm-manager/pull/1174))
- Add class to manually validate rest data transfer objects with javax validation annotations ([#1114](https://github.com/scm-manager/scm-manager/pull/1114))
- Removed the `requires` attribute on the `@Extension` annotation and instead create a new `@Requires` annotation ([#1097](https://github.com/scm-manager/scm-manager/pull/1097))
- Build on windows ([#1048](https://github.com/scm-manager/scm-manager/issues/1048), [#1049](https://github.com/scm-manager/scm-manager/issues/1049), [#1056](https://github.com/scm-manager/scm-manager/pull/1056))