look-behind regex. This is a recommended ticket extraction from Atlassian itself (for Jira) and we also
implemented it for Redmine, or tickets
- bonus: report errors on patterns in preview window
- fixes#5601
- cleanup file edit/delete/add to use common breadcrumbs functions
- make the urls with ref names persistent in case we have the landing ref selected
- in most cases we only want to show refs instead of full commit-id, this is how other types of tools work anyway
- dont load all results for repositories in admin
- speed up loading admin repos page by narrowing results based on permissions
- some small speed ups and code optimizations on permission loading
- fixed generated update message comments + invalid anchor linkes generated to the changed files
- unified headers on all email messages for pull requests
- more consistent UI for emails
- nicer formatting, plaintext emails
- major cleanup and fixes lots of incosistencies
- additionally debug-style now allows to test emails in browser for faster development
- elasticsearch new query lang and searcher
- much more advanced query lang
- added context aware search in repository groups, repository, commits, files view
- optimized quick search bar speed when using full text search
- added option to increase hits per file number from query URL using max_lines
- search results can be now marked inside a text file using ?mark=HIGHLIGHT_TEXT added to the url
- make buttons wider to handle longer names for SAML plugins
- make order of plugins sorted again because it tends to jump arround in order
without that sorting.
- social is now external auth
- ability to expose output to users from rcextensions
- new docs
- linking to the code makes the tests always check the integrity of rcextensions
- added new hook variables and described them to end users
- use new exceptions for branch permissions
- detect if we need to check permissions
- calculate super-admin the same way as regular users for override capabilities
- added new tests for branch permissions
- .invalidate() does a delete of cached valued under a key, which means
in previous logic we delete, get_or_create, and compute.
- .refresh() is simply replacing exising key with newly computed values, this
creates less locks, and it's faster.