We are proud to present the release of Gitea version 1.15.0.
We have merged 488 pull requests to release this version.
You can download one of our pre-built binaries from our downloads page - make sure to select the correct platform! For further details on how to install, follow our installation guide.
We would also like to thank all of our supporters on Open Collective who are helping to sustain us financially.
Have you heard? We now have a swag shop! 👕 🍵
Sample images below.
The docker tag logic has changed to map :latest to match the latest tag on the 1.15 branch and :dev to represent the latest build on the main branch. Users who wish to use the development version of Gitea - with all its latest features
should switch to use the :dev tag for docker. We would like to encourage at least some users to
consider using :dev.
Webhook payloads have been changed so that the Secret field is no longer passed as part of the payload and the history shows the real URL that was sent in the webhook.
We have added asymmetric JWT signing and Gitea will use an asymmetric keypair for JWT signing by default.
Asymmetric algorithms require a secret asymmetric key pair to be in JWT_SIGNING_PRIVATE_KEY_FILE (by default APP_DATA_PATH/jwt), a pair will be generated if it is not present. (NB: this was originally in CUSTOM_PATH but was changed by #16227)
The original symmetric JWT_SECRET will only be used if JWT_SIGNING_ALGORITHM is set to HS256 (previous default), HS384 or HS512.
As a result of the change of algorithm gitea OAuth2 tokens (and potentially the client secret) will need to be regenerated unless you change your JWT_SIGNING_ALGORITHM back to HS256.
Legacy installations of Drone assume a short key length, however as no automated migrations are run by Drone you’ll need to do them manually if the column type for user_oauth_token and user_oauth_refresh are limited to 500 characters.
-- an example manual migration for Drone database connected to postgresql
altertable users alter column user_oauth_token typebyteausing convert_to(user_oauth_token, 'LATIN1');
altertable users alter column user_oauth_refresh typebyteausing convert_to(user_oauth_refresh, 'LATIN1');
❗ Clean-up the settings hierarchy for issue_indexer queue #16001
We have changed the default configuration for queues to make them low goroutines by default:
As a result of this PR instead of each queue having their own level db by default, the queues will use a common level db. It is recommended to ensure that queues are empty before upgrading using gitea manager flush-queues or on the admin pages.
Starting workers are now 0 with boost workers at 1. If you have explicitly set BOOST_WORKERS = 0 you will need to explicitly set WORKERS to at least 1. Administrators of busy sites should tune their WORKERS, BOOST_WORKERS, & DATADIR parameters as needed.
This PR merges two assets handler
middleware as one and move it before session middleware to reduce unnecessary memory usage. The
additional support for CORS on assets may cause some breakage for sites using CDN assets.
Administrators should change [cors] section in the app.ini to add the domains if enabled.
This PR renames the template variable StaticUrlPrefix to AssetUrlPrefix. Administrators with Custom templates that use the
StaticUrlPrefix will need update these to use AssetUrlPrefix.
❗ Use markup class for rendering External markup #15735
This PR essentially changes the markdown
css class to markup. Administrators with css/less customization targeting the .markdown class
should update these to use .markup.
This PR moves root directory of public files from / to /assets.
All pages and resources rendered from custom/public will now be rendered at /assets instead of /. This means that if you have a impressum.html - you need to update links to this to /assets/impressum.html. Similarly for users of STL renderers and external markup renderers.
Administrators should check custom templates to ensure that these are correct.
If you have previously placed robots.txt within custom/public you must move it to custom instead.
Sub loggers will inherit their log level from the main log level - previously these would default to info. Administrators should check their log configuration.
❗ Make links in markdown absolute to the repository not the server #15088
This PR changes the rendering of links in
markdown to make them absolute to the current repository in keeping with Github. This may change
rendering of some pages however, the previous behaviour was not compatible with Github so was a bug.
Prior to this PR, Gitea would only allow a key to be added to a user if one (or more) of the key’s identities
match an activated email address for that user. Gitea will then only verify commits if the committer email address
matches an activated email address in the key. This PR provides a slightly different mechanism: if
the user provides a signature for automatically generated token the key will be marked as verified.
Following verification of ownership of a key, commits signed by this key where the committer email address matches an
activated email address for the user will be verified.
Further, the identities that a key will match are now shown on the GPG key page. These are the
identities that are present in the key and were activated for the user at the time of addition of the key to the user.
If you lack the time or knowledge to do any of the above, just using Gitea and sharing the word is enough to make us happy! One thing you can always do is to report any bugs you find on the Gitea issue tracker.
Before opening an issue, read the contribution guidelines about reporting bugs. After opening an issue, try to stick around a while to answer any questions we might have. Replies greatly help us find the root cause of an issue.