We are proud to present the release of Gitea version 1.14.0.
We have merged an incredible [641](https://github.com/go-gitea/gitea/pulls?q=is%3Apr+milestone%3A1.14.0+is%3Amerged) pull requests to release this version.
You can download one of our pre-built binaries from our [downloads page](https://dl.gitea.com/gitea/1.14.0/) - make sure to select the correct platform! For further details on how to install, follow our [installation guide](https://docs.gitea.com/installation/install-from-binary).
<!-- Do it in markdown, they said. It will be fun, they said. -->
Now, on to the changes!
## Breaking Changes (or potentially breaking)
:exclamation: Tag webhooks are now only sent once - you may need to check your CI webhooks to ensure that they are correctly firing. ([#15078](https://github.com/go-gitea/gitea/pull/15078))
:exclamation: The access logger no longer logs accesses to `/api/internal` ([#14475](https://github.com/go-gitea/gitea/pull/14475))
:exclamation: We have migrated from [Macaron](https://go-macaron.com/) to the [Chi](https://github.com/go-chi/chi) framework. ([#14293](https://github.com/go-gitea/gitea/pull/14293))
:exclamation: We no longer provide binary builds for MIPS architectures as it appears that they are not being used. ([#14174](https://github.com/go-gitea/gitea/pull/14174)) Instead we now provide binary builds for the M1 architecture. ([#14951](https://github.com/go-gitea/gitea/pull/14951))
:exclamation: We have improved the mechanism for [customizing the default logo](https://docs.gitea.io/en-us/customizing-gitea/#changing-the-default-logo) ([#13974](https://github.com/go-gitea/gitea/pull/13974)) ([#14136](https://github.com/go-gitea/gitea/pull/14136))
:exclamation: We now inline the `manifest.json` - users that expect to see requests for this file should adjust templates as necessary. ([#14038](https://github.com/go-gitea/gitea/pull/14038))
:exclamation: The default location for repository data (`[repository]` `ROOT`) will now be in a subdirectory of the `APP_DATA_PATH` path. ([#13991](https://github.com/go-gitea/gitea/pull/13991))
:exclamation: The logging of failed attempts in the internal SSH has been changed to make them a little more consistent. Users with fail2ban set-ups may need to adjust their configuration. ([#13962](https://github.com/go-gitea/gitea/pull/13962))
:exclamation: Organization descriptions now support markdown. There may be some presentational differences. ([#13549](https://github.com/go-gitea/gitea/pull/13549))
:exclamation: There has been a few changes of how the CLI for user management works. ([#6001](https://github.com/go-gitea/gitea/pull/6001)) ([#10492](https://github.com/go-gitea/gitea/pull/10492))
:exclamation: We now default to using a pure Git backend. The Go-Git backend remains in place and can be built using the build tag `gogit`. ([#13673](https://github.com/go-gitea/gitea/pull/13673))
:exclamation: We have integrated the environment-to-ini command in to the docker - this allows override of any app.ini setting with [specially constructed environment variables](https://docs.gitea.io/en-us/install-with-docker/#managing-deployments-with-environment-variables). ([#14762](https://github.com/go-gitea/gitea/pull/14762))
### Reviews can now be dismissed ([#12674](https://github.com/go-gitea/gitea/pull/12674))
Pull Request Reviews can now be dismissed.
_Thanks to [**@a1012112796**](https://github.com/a1012112796)_
### Pull requests can now be marked as manually merged manually ([#12543](https://github.com/go-gitea/gitea/pull/12543))
Pull requests can be marked as merged manually by setting the SHA of the merge commit and automatic detection of merged PRs can be switched off.
_Thanks to [**@a1012112796**](https://github.com/a1012112796)_
### Dump github/gitlab/gitea repository data to a local directory and restore to gitea ([#12244](https://github.com/go-gitea/gitea/pull/12244))
Currently online migrating is possible but in fact, it depends on the internet network status what's a mess. This PR makes it possible to dump a repository on GitHub/GitLab/Gitea to a disk directory and then transfer it to another Gitea instance via the possible transfer method. And then restore the repository on the target Gitea instance.
i.e. Gitea repository itself in GitHub spent about 80 GB but transfer 80GB online is almost impossible. Then we can dump the repository to a host nearby Github's host and then compress it and transfer it to another host.
A new Gitea command has been added to do this.
_Thanks to [**@lunny**](https://github.com/lunny)_
### Create DB session provider ([#13031](https://github.com/go-gitea/gitea/pull/13031))
It is now possible to simplify configuration of the database sessioning and just use the common database configuration. Simply set `[session]``PROVIDER = db` and the database will be used.
_Thanks to [**@zeripath**](https://github.com/zeripath)_
* Remove possible resource leak ([#15067](https://github.com/go-gitea/gitea/pull/15067)) ([#15082](https://github.com/go-gitea/gitea/pull/15082))
* Handle unauthorized user events gracefully ([#15071](https://github.com/go-gitea/gitea/pull/15071)) ([#15074](https://github.com/go-gitea/gitea/pull/15074))
* Restore Access.log following migration to Chi framework (Stops access logging of /api/internal routes) ([#14475](https://github.com/go-gitea/gitea/pull/14475))
* Migrate from Macaron to Chi framework ([#14293](https://github.com/go-gitea/gitea/pull/14293))
* Deprecate building for mips ([#14174](https://github.com/go-gitea/gitea/pull/14174))
* Consolidate Logos and update README header ([#14136](https://github.com/go-gitea/gitea/pull/14136))
* Store repository data in data path if not previously set ([#13991](https://github.com/go-gitea/gitea/pull/13991))
* Rename "gitea" png to "logo" ([#13974](https://github.com/go-gitea/gitea/pull/13974))
* Standardise logging of failed authentication attempts in internal SSH ([#13962](https://github.com/go-gitea/gitea/pull/13962))
* Add markdown support in organization description ([#13549](https://github.com/go-gitea/gitea/pull/13549))
* Improve users management through the CLI ([#6001](https://github.com/go-gitea/gitea/pull/6001)) ([#10492](https://github.com/go-gitea/gitea/pull/10492))
* FEATURES
* Create a new issue with reference to lines of code from file view ([#14863](https://github.com/go-gitea/gitea/pull/14863))
* Repository transfer has to be confirmed, if user can not create repo for new owner ([#14792](https://github.com/go-gitea/gitea/pull/14792))
* Allow blocking some email domains from registering an account ([#14667](https://github.com/go-gitea/gitea/pull/14667))
* Create a new issue based on reference to an issue comment ([#14366](https://github.com/go-gitea/gitea/pull/14366))
* Add support to migrate from gogs ([#14342](https://github.com/go-gitea/gitea/pull/14342))
* Add pager to the branches page ([#14202](https://github.com/go-gitea/gitea/pull/14202))
* Add Restricted Field to User ([#14630](https://github.com/go-gitea/gitea/pull/14630))
* Add support for ref parameter to get raw file API ([#14602](https://github.com/go-gitea/gitea/pull/14602))
* Add affected files of commits to commit struct ([#14579](https://github.com/go-gitea/gitea/pull/14579))
* Fix CJK fonts again and misc. font issues ([#14575](https://github.com/go-gitea/gitea/pull/14575))
* Add delete release by tag & delete tag ([#14563](https://github.com/go-gitea/gitea/pull/14563)) & ([#13358](https://github.com/go-gitea/gitea/pull/13358))
* Add pagination to ListBranches ([#14524](https://github.com/go-gitea/gitea/pull/14524))
* Add signoff option in commit form ([#14516](https://github.com/go-gitea/gitea/pull/14516))
* GetRelease by tag only return release ([#14397](https://github.com/go-gitea/gitea/pull/14397))
* Add MirrorInterval to the API ([#14163](https://github.com/go-gitea/gitea/pull/14163))
* Make BasicAuth Prefix case insensitive ([#14106](https://github.com/go-gitea/gitea/pull/14106))
* Add user filter to issueTrackedTimes, enable usage for issue managers ([#14081](https://github.com/go-gitea/gitea/pull/14081))
* Always set the merge base used to merge the commit ([#15352](https://github.com/go-gitea/gitea/pull/15352)) ([#15385](https://github.com/go-gitea/gitea/pull/15385))
* Upgrade to bluemonday 1.0.7 ([#15379](https://github.com/go-gitea/gitea/pull/15379)) ([#15380](https://github.com/go-gitea/gitea/pull/15380))
* Turn RepoRef and RepoAssignment back into func(*Context) ([#15372](https://github.com/go-gitea/gitea/pull/15372)) ([#15377](https://github.com/go-gitea/gitea/pull/15377))
* Move FCGI req.URL.Path fix-up to the FCGI listener ([#15292](https://github.com/go-gitea/gitea/pull/15292)) ([#15361](https://github.com/go-gitea/gitea/pull/15361))
* Show diff on rename with diff changes ([#15338](https://github.com/go-gitea/gitea/pull/15338)) ([#15339](https://github.com/go-gitea/gitea/pull/15339))
* Fix handling of logout event ([#15323](https://github.com/go-gitea/gitea/pull/15323)) ([#15337](https://github.com/go-gitea/gitea/pull/15337))
* Fix bug in Wrap ([#15302](https://github.com/go-gitea/gitea/pull/15302)) ([#15309](https://github.com/go-gitea/gitea/pull/15309))
* Drop the event source if we are unauthorized ([#15275](https://github.com/go-gitea/gitea/pull/15275)) ([#15280](https://github.com/go-gitea/gitea/pull/15280))
* Prevent NPE in CommentMustAsDiff if no hunk header ([#15199](https://github.com/go-gitea/gitea/pull/15199)) ([#15200](https://github.com/go-gitea/gitea/pull/15200))
* should run RetrieveRepoMetas() for empty pr ([#15187](https://github.com/go-gitea/gitea/pull/15187)) ([#15190](https://github.com/go-gitea/gitea/pull/15190))
* Move setting to enable closing issue via commit in non default branch to repo settings ([#14965](https://github.com/go-gitea/gitea/pull/14965))
* Show correct issues for team dashboard ([#14952](https://github.com/go-gitea/gitea/pull/14952))
* Ensure that new pull request button works on forked forks owned by owner of the root and reduce ambiguity ([#14932](https://github.com/go-gitea/gitea/pull/14932))
* Only allow issue labels from owner repository or organization ([#14928](https://github.com/go-gitea/gitea/pull/14928))
* Fix alignment of People and Teams right arrow on org homepage ([#14924](https://github.com/go-gitea/gitea/pull/14924))
* Fix overdue marking of closed issues and milestones ([#14923](https://github.com/go-gitea/gitea/pull/14923))
* Prevent panic when empty MilestoneID in repo/issue/list ([#14911](https://github.com/go-gitea/gitea/pull/14911))
* Fix migration context data ([#14910](https://github.com/go-gitea/gitea/pull/14910))
* Handle URLs with trailing slash ([#14852](https://github.com/go-gitea/gitea/pull/14852))
* Add CORS config on to /login/oauth/access_token endpoint ([#14850](https://github.com/go-gitea/gitea/pull/14850))
* Make searching issues by keyword case insensitive on DB ([#14848](https://github.com/go-gitea/gitea/pull/14848))
* Prevent use of double sub-path and incorrect asset path in manifest ([#14827](https://github.com/go-gitea/gitea/pull/14827))
* Fix link account ui ([#14763](https://github.com/go-gitea/gitea/pull/14763))
* Fix preview status switch button on wiki editor ([#14742](https://github.com/go-gitea/gitea/pull/14742))
* Fix github download on migration ([#14703](https://github.com/go-gitea/gitea/pull/14703))
* Switch from SimpleMDE to EasyMDE ([#13333](https://github.com/go-gitea/gitea/pull/13333))
* Group Label Changed Comments in timeline ([#13304](https://github.com/go-gitea/gitea/pull/13304))
* Make the logger an interface ([#13294](https://github.com/go-gitea/gitea/pull/13294))
* Fix PR/Issue titles on mobile ([#13292](https://github.com/go-gitea/gitea/pull/13292))
* Rearrange the order of the merged by etc. in locale ([#13284](https://github.com/go-gitea/gitea/pull/13284))
* Replace footer and modal icons with SVG ([#13245](https://github.com/go-gitea/gitea/pull/13245))
* Issues overview should not show issues from archived repos ([#13220](https://github.com/go-gitea/gitea/pull/13220))
* Show stale label for stale code comment which is marked as resolved ([#13213](https://github.com/go-gitea/gitea/pull/13213))
* Use CSS Variables for fonts, remove postcss-loader ([#13204](https://github.com/go-gitea/gitea/pull/13204))
* Add mentionable teams to tributeValues and change team mention rules to gh's style ([#13198](https://github.com/go-gitea/gitea/pull/13198))
* Move install pages out of main macaron routes ([#13195](https://github.com/go-gitea/gitea/pull/13195))
* Update outdated label to use Fomantic UI style ([#13181](https://github.com/go-gitea/gitea/pull/13181))
* Added option to disable webhooks ([#13176](https://github.com/go-gitea/gitea/pull/13176))
* Change order of possible-owner organizations to alphabetical ([#13160](https://github.com/go-gitea/gitea/pull/13160))
* Log IP on SSH authentication failure for Built-in SSH server ([#13150](https://github.com/go-gitea/gitea/pull/13150))
* Added option to disable migrations ([#13114](https://github.com/go-gitea/gitea/pull/13114))
* New "Add Mirror" Button in the Organization view ([#13105](https://github.com/go-gitea/gitea/pull/13105))
* Manually approve new registration ([#13083](https://github.com/go-gitea/gitea/pull/13083))
* Cron job to cleanup hook_task table ([#13080](https://github.com/go-gitea/gitea/pull/13080))
* Use the headline comment of pull-request as the squash commit's message ([#13071](https://github.com/go-gitea/gitea/pull/13071))
* Clarify the suffices and prefixes of setting.AppSubURL and setting.AppURL ([#12999](https://github.com/go-gitea/gitea/pull/12999))
* Slightly simplify the queue settings code to help reduce the risk of problems ([#12976](https://github.com/go-gitea/gitea/pull/12976))
* Add precise search type for Elastic Search ([#12869](https://github.com/go-gitea/gitea/pull/12869))
* Move APIFormat functions into convert package ([#12856](https://github.com/go-gitea/gitea/pull/12856))
* Multiple GitGraph improvements: Exclude PR heads, Add branch/PR links, Show only certain branches, ([#12766](https://github.com/go-gitea/gitea/pull/12766))
* Add TrN for repository limit ([#12492](https://github.com/go-gitea/gitea/pull/12492))
* Refactor doctor ([#12264](https://github.com/go-gitea/gitea/pull/12264))
* Add the tag list page to the release page ([#12096](https://github.com/go-gitea/gitea/pull/12096))
* Redirect on changed user and org name ([#11649](https://github.com/go-gitea/gitea/pull/11649))
* load U2F js only on pages which need it ([#11585](https://github.com/go-gitea/gitea/pull/11585))
* Make archival asynchronous ([#11296](https://github.com/go-gitea/gitea/pull/11296))
* Introduce go chi web framework as frontend of macaron, so that we can move routes from macaron to chi step by step ([#7420](https://github.com/go-gitea/gitea/pull/7420))
* Improve vfsgen to not unzip bindata files but send to browser directly ([#7109](https://github.com/go-gitea/gitea/pull/7109))
* Enhance release list ([#6025](https://github.com/go-gitea/gitea/pull/6025))
* DOCS
* Swagger show models by default ([#14880](https://github.com/go-gitea/gitea/pull/14880))
* Add missing repo.projects unit into swagger ([#14876](https://github.com/go-gitea/gitea/pull/14876))
* Update docs and comments to remove macaron ([#14491](https://github.com/go-gitea/gitea/pull/14491))
* Issue template addition: Are you using Gitea behind CloudFlare? ([#14098](https://github.com/go-gitea/gitea/pull/14098))
* Generate man pages ([#13901](https://github.com/go-gitea/gitea/pull/13901))