Upgrade Path

Gitea 1.19.0 → 1.20.0

5 versions, 2 with breaking changes, 0 required stops

Version by version, oldest first

1.19.1 2023-04-13

Breaking

  • Rename actions unit to repo.actions and add docs for it (#23733) (#23881)

Full release notes for 1.19.1

1.19.2 – 1.19.4: no action items (3 versions)

1.20.0 2023-07-16

Breaking

  • Fix WORK_DIR for docker (root) image (#25738) (#25811)
  • Restrict [actions].DEFAULT_ACTIONS_URL to only github or self (#25581) (#25604)
  • Refactor path & config system (#25330) (#25416)
  • Fix all possible setting error related storages and added some tests (#23911) (#25244)
  • Use a separate admin page to show global stats, remove actions stat (#25062)
  • Remove the service worker (#25010)
  • Remove meta tags theme-color and default-theme (#24960)
  • Use [git.config] for reflog cleaning up (#24958)
  • Allow all URL schemes in Markdown links by default (#24805)
  • Redesign Scoped Access Tokens (#24767)
  • Fix team members API endpoint pagination (#24754)
  • Rewrite logger system (#24726)
  • Increase default LFS auth timeout from 20m to 24h (#24628)
  • Rewrite queue (#24505)
  • Remove unused setting time.FORMAT (#24430)
  • Refactor setting.Other and remove unused SHOW_FOOTER_BRANDING (#24270)
  • Correct the access log format (#24085)
  • Reserve ".png" suffix for user/org names (#23992)
  • Prefer native parser for SSH public key parsing (#23798)
  • Editor preview support for external renderers (#23333)
  • Add Gitea Profile Readmes (#23260)
  • Refactor ctx in templates (#23105)

Breaking — from the release blog

Refactored scoped tokens mechanism (#24767)

As will be described down below in more detail, the permissions for Personal Access Tokens (PATs) have changed. While we have migrated all old tokens to the new format as close as possible, there are edge cases where an old token now has more/less permissions than before as the two systems have a completely different design. If that's the case for you, please consider regenerating your token to prevent API calls from failing or your token having a too broad scope.

Removed/changed config entries (#25010, #24958, #24754, #24628, #24505, #24430, #24270, #23798, #23733, #23333, #25604)

  • We've removed the service worker functionality as it didn't bring any noticeable benefit, mostly added bugs, and was disabled since 1.17 by default already.

Removed config key: [ui].USE_SERVICE_WORKER

  • The default value of [server].LFS_HTTP_AUTH_EXPIRY has been increased from 20m to 24h.

If you want to use the previous value, please set the setting.

  • As will be described below, you can now set any git config also in your app.ini.

As such, we removed the section [git.reflog] and its keys have been moved to the following replacements:

  • [git.reflog].ENABLED → [git.config].core.logAllRefUpdates
  • [git.reflog].EXPIRATION → [git.config].gc.reflogExpire
  • In addition to the already deprecated options inside [queue], many options have been dropped as well.

Those are WRAP_IF_NECESSARY, MAX_ATTEMPTS, TIMEOUT, WORKERS, BLOCK_TIMEOUT, BOOST_TIMEOUT, BOOST_WORKERS. You can remove them from your app.ini now. Additionally, some default values have changed in this section.

  • The setting [time].FORMAT is no longer used
  • The setting [other].SHOW_FOOTER_BRANDING was removed, as its intended purpose was superseded by [other].SHOW_FOOTER_VERSION
  • The default value of [server].SSH_KEYGEN_PATH has changed from ssh-keygen to (empty), meaning that Gitea parses public keys by default itself rather than passing it to the system as previously.
  • [repository].DEFAULT_REPO_UNITS and [repository].DISABLED_REPO_UNITS accepted the key actions.actions for a short time.

However, the correct key should be repo.actions.

  • [repository.editor].PREVIEWABLE_FILE_MODES was buggy and didn't work.

As such, it is now removed.

  • [actions].DEFAULT_ACTIONS_URL could previously be set to any custom URLs like https://gitea.com or http://your-git-server, and the default value was https://gitea.com. But now, DEFAULT_ACTIONS_URL only supports github (https://github.com) or self (the root url of current Gitea instance), and the default value is github. This change was made to make action names globally resolvable in most cases.

Publication of README.md in .profile repos (#23260)

As will be discussed below in the new features, Gitea now displays user profile READMEs. The displayed content is that of the README.md of a .profile repo. If you already have a repo with that name, its README.md will be publically accessible, even if the repo is private. If you don't want to leak that information, consider renaming your existing repo.

Any URL scheme may be used for links (#24805)

Previously, we would not render non-standard URLs (like matrix:) by default. We allowed adding custom URLs by modifying markdown.CUSTOM_URL_SCHEMES and these would then render as links in markdown, but there was no option to allow all schemes.

With this change in place, if markdown.CUSTOM_URL_SCHEMES is not configured, we will render all explicit markdown links ([label](URL)) as links.

Before

The matrix: and cbthunderlink:// didn't render as links.

[image: Special links are not rendered]

After

The matrix: and cbthunderlink:// render as links, when we use the [label](URL) form.

[image: Special links are rendered]

Newly reserved usernames (#23992)

User and organization names can no longer end with .png.

Changed access log format (#24085)

Logs from the access logger were previously escaped in unnecessary places. Now, they no longer are. Furthermore, the field {{.Ctx.RemoteAddr}} has been renamed to {{.Ctx.RemoteHost}} to omit the port.

Correct pagination in API route teams/{id}/members (#24754)

Previously, this endpoint was 0-based paginated unlike all other routes. This bug has now been fixed.

Refactored path and config system (#25416)

The Gitea path system has been fairly complicated for a long time: It tried to guess paths quite often, which lead to countless problems. Instead, Gitea now automatically tries to store the path inside the config. If it fails to do so, it won't start. In that case, please do what the error message in the logs tells you to do and the issue should be resolved.

actions table metrics collector was removed (#25062)

The statistic of how many entries are in the actions table that records activities has always been rather useless as this table will always be (ridiculuously) large. As such, we removed the metrics collector for promethues for them. Please do not rely on its output anymore. This is not related to Gitea Actions.

Rework storage settings (#23911)

All storage settings should be stored in one section, and one section only. You cannot use multiple sections anymore to override settings. The storage settings priority is now

  1. [attachment]
  2. [storage.attachments] | [storage.<another>]
  3. [storage]
  4. default

For extra override configuration items, currently only are SERVE_DIRECT, MINIO_BASE_PATH, MINIO_BUCKET, which could be configured in another section. The prioioty of the override configuration is [attachment] > [storage.attachments] > default.

Refactor ctx in templates (#23105)

If you use custom templates, you may need to change them: We've changed all occurring .ctx inside parameters to .ctxData. Any custom template currently using .ctx will need to follow suit.

Rewrite logger system (#24726)

The log.<mode>.<logger> style config has been dropped. If you used it, please check the new config manual & app.example.ini to make your instance output logs as expected.

The SMTP logger is deleted because SMTP is not suitable to collect logs.

From blog.gitea.com/release-of-1.20.0/

Full release notes for 1.20.0

Release notes from github.com/go-gitea/gitea/releases, and the official release blog, checked 17 hours ago. Only text the vendor marks as breaking, or puts in a warning/caution/important note, is shown; read the full notes for anything else.