diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index b2192956e3..b094ad9c91 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -10,7 +10,127 @@ A [patch or minor release](https://semver.org/spec/v2.0.0.html) (e.g. upgrading ## 8.0.0 -TBD +A [companion blog post](https://forgejo.org/2024-07-release-v8-0/) provides additional context on this release. In addition to the pull requests listed below, you will find a complete list in the [v8.0 milestone](https://codeberg.org/forgejo/forgejo/milestone/6042). + + + +- **Breaking** + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3040): remove Microsoft SQL Server support see [the discussion](https://codeberg.org/forgejo/discussions/issues/122). +- **User interface features & enhancements** + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4201): make the tooltip of the author label in comments clearer. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4189): only show the RSS feed button and Public activity tab in user profiles when the activity can be accessed and add messages about visibility. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4139): reorder repo tabs for better UX: (i) `Actions` is now the last tab (ii) `Packages` are located after Releases (iii) this puts Projects after Pull requests. (tab positions may depend on which units are enabled in the repo). + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4134): code search results are now displayed in a foldable box. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4095): disable the `Subscribe` button for guest users. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4072): + - Added Enter key handling to the new Markdown editor: Pressing Enter while in a list, quote or code block will copy the prefix to the new line - Ordered list index will be increased for the new line, and task list "checkbox" will be unchecked. + - Added indent/unindent function for a line or selection. Currently available as toolbar buttons ([#4263](https://codeberg.org/forgejo/forgejo/pulls/4263)). + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3985): added support for displaying images based on the users current color code by using an anchor of `#dark-mode-only` or `#light-mode-only` respectively. Also supporting the github variants (e.g. `#gh-dark-mode-only`). + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3870): use CSS-native pattern for image diff background, add dark theme support. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3642): allow navigating to the organization dashboard from the organization view. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3434): when PDFs are displayed in the repository, the full height of the screen is now used instead of a predefined fixed height. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3337): added support for grouping of log-lines inside steps between the special `::group::{title}` and `::endgroup::` workflow commands. A runner of v3.4.2 or later is needed. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3285): the default for `[repository].USE_COMPAT_SSH_URI` has been changed to `true`. With this change, Forgejo defaults to using the same URL style for SSH clone URLs as for HTTPS ones, instead of the former scp-style. +- **Features & Enhancements** + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4283) ([backport](https://codeberg.org/forgejo/forgejo/pulls/4266)): add support for LFS server implementations which have batch API responses in an older/deprecated schema. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4262): introduce a branch/tag dropdown in the code search page if using git-grep. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4160): added support for fuzzy searching in `/user/repo/issues` and `/user/repo/pulls`. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4145): + - feat(perf): [commit](https://codeberg.org/forgejo/forgejo/commit/358cd67c4f316f2d4f1d3be6dcb891dc04a2ff07) reduce memory usage for chunked artifact uploads to S3. + - feat: [commit](https://codeberg.org/forgejo/forgejo/commit/b60e3ac7b4aeeb9b8760f43eea9576c0e23309e9) allow downloading draft releases assets. + - feat: [commit](https://codeberg.org/forgejo/forgejo/commit/1fca15529ac8fefb60d86b0c1f4bec8dae9a8566) API endpoints for managing tag protection. + - feat: [commit](https://codeberg.org/forgejo/forgejo/commit/4334c705b5f9388b16af23c7e75a69d027d07d5e) extract and display readme and comments for Composer packages. + - fix: [commit](https://codeberg.org/forgejo/forgejo/commit/364922c6e4f28264add9e2501a352c25ad6a0993) when a repository is adopted, its object format is not set in the database. + - fix: [commit](https://codeberg.org/forgejo/forgejo/commit/e7f332a55d6a48a3f3b4f2bfa43d18455ac00acc) during a migration from bitbucket, LFS downloads fail. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4143): a help overlay, triggered by "?" key can be displayed when viewing [asciinema](https://asciinema.org/) files (.cast extension) and [SGR color sequence](https://github.com/asciinema/avt/issues/9) are supported. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4136): strikethrough in markdown can be achieved with [a single ~ in addition to ~~](https://github.github.com/gfm/#strikethrough-extension-). + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4083): + - feat: add [Reviewed-on and Reviewed-by variables](https://codeberg.org/forgejo/forgejo/commit/4ddd9af50fbfcfb2ebf629697a803b3bce56c4af) to the merge template. + - feat(perf): [add the `[ui.csv].MAX_ROWS` setting](https://codeberg.org/forgejo/forgejo/commit/433b6c6910f8699dc41787ef8f5148b122b4677e) to avoid displaying a large number of lines (defaults to 2500). + - feat: [add a setting to override or add headers of all outgoing emails](https://codeberg.org/forgejo/forgejo/commit/1d4bff4f65d5e4a3969871ef91d3612daf272b45), for instance `Reply-To` or `In-Reply-To`. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4027): the Gitea/Forgejo webhook payload includes additional fields (`html_url`, `additions`, `deletions`, `review_comments`...) for better compatbility with [OpenProject](https://www.openproject.org/). + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4026): when an OAuth grant request submitted to a Forgejo user is denied, the server from which the request originates is notified that it has been denied. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3989): + - feat: API endpoints that return a repository now [also include the topics](https://codeberg.org/forgejo/forgejo/commit/ee2247d77c0b13b0b45df704d7589b541db03899). + - feat: display an error when an issue comment is [edited simultaneously by two users](https://codeberg.org/forgejo/forgejo/commit/ca0921a95aa9a37d8820538458c15fd0a3b0c97c) instead of silently overriding one of them. + - feat: add [support for a credentials chain for minio](https://codeberg.org/forgejo/forgejo/commit/73706ae26d138684ef9da9e1164846a040fd4a7d). + - feat(perf): improve performances when [retrieving pull requests via the API](https://codeberg.org/forgejo/forgejo/commit/47a2102694c47bc30a2a7c673c328471839ef206). + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3934): when installing Forgejo through the built-in installer, open (self-) registration is now disabled by default. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3917): support [setting the default attribute of the issue template dropdown field](https://codeberg.org/forgejo/forgejo/commit/df15abd07264138fd07e003d0cf056f7da514b8f) + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3886): For federated-star we introduce a new repository setting to define following repositories. That is a workaround till we find a better way to express repository federation. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3847): Basic wiki content search using git-grep. The search results include the first ten matched files. Only the first three matches per file are displayed. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3838): support using label names when changing issue labels. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3836): parse prefix parameter from redis URI for queues and use that as prefix to keys. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3830): neutralize delete runners' UUID to prevent collisions with new records. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3811): implement a non-caching version of the [RubyGems compact API](https://guides.rubygems.org/rubygems-org-compact-index-api/) for bundler dependency resolution. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3808): add support for the [reddit](https://github.com/markbates/goth/pull/523) and [Hubspot](https://github.com/markbates/goth/pull/531) OAuth providers. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3791): when parsing [incoming emails](https://forgejo.org/docs/v8.0/user/incoming/), [remove tspecials from type/subtype](https://github.com/jhillyerd/enmime/pull/317). According to the RFC, content type and subtype cannot contain special characters and any such character will fail parsing. Removing the characters from the type/subtype can help successfully parsing the content type that contains some extra garbage. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3752): there are a couple of new configs to define the name of the instance. The more important is `APP_SLOGAN`. It permits to configure a slogan for the site and it is optional. The other is `APP_DISPLAY_NAME_FORMAT` and permits to customize the aspect of the full display name for the instance used in some parts of the UI as: (i) Title page, (ii) Homepage head title (ii) Open Graph site and title meta tags. Its default value is `APP_NAME: APP_SLOGAN`. The config `APP_DISPLAY_NAME_FORMAT` is used only if `APP_SLOGAN` is set otherwise the full display name shows only `APP_NAME` value. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3729): + - feat: [commit](https://codeberg.org/forgejo/forgejo/commit/7028fe0b4d89c045b64ae891d2716e89965bc012): add actions-artifacts to the [storage migrate CLI](https://forgejo.org/docs/v8.0/admin/command-line/#migrate). + - fix: [commit](https://codeberg.org/forgejo/forgejo/commit/8f0f6bf89cdcd12cd4daa761aa259fdba7e32b50): pull request search shows closed pull requests in the open tab. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3724): + - [CERT management was improved](https://codeberg.org/forgejo/forgejo/pulls/3724) when [`ENABLE_ACME=true`](https://forgejo.org/docs/v7.0/admin/config-cheat-sheet/#server-server) + - Draft support for draft-03 of [ACME Renewal Information (ARI)](https://datatracker.ietf.org/doc/draft-ietf-acme-ari/) which assists with deciding when to renew certificates. This augments CertMagic's already-advanced logic using cert lifetime and OCSP/revocation status. + - New [`ZeroSSLIssuer`](https://pkg.go.dev/github.com/caddyserver/certmagic@v0.21.0#ZeroSSLIssuer) uses the [ZeroSSL API](https://zerossl.com/documentation/api/) to get certificates. ZeroSSL also has an ACME endpoint, which can still be accesed using the existing ACMEIssuer, as always. Their proprietary API is paid, but has extra features like IP certificates, better reliability, and support. + - DNS challenges should be smoother in some cases as we've improved propagation checking. + - In the odd case your ACME account disappears from the ACME server, CertMagic will automatically retry with a new account. (This happens in some test/dev environments.) + - ACME accounts are identified only by their public keys, but CertMagic maps accounts by CA+email for practical/storage reasons. So now you can "pin" an account key to use by specifying your email and the account public key in your config, which is useful if you need to absolutely be sure to use a specific account (like if you get rate limit exemptions from a CA). + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3723): + - With the go-enry upgrade to [v2.8.8](https://github.com/go-enry/go-enry/releases/tag/v2.8.8), language detection in the repository [now includes](https://github.com/github-linguist/linguist/releases/tag/v7.29.0): + - New languages + - [Roc](https://github.com/github-linguist/linguist/pull/6633) + - [BitBake](https://github.com/github-linguist/linguist/pull/6665) with `.bbappend`, `.bbclass` and `.inc` extensions + - [Glimmer TS](https://github.com/github-linguist/linguist/pull/6680) + - [Edge](https://github.com/github-linguist/linguist/pull/6695) + - [Pip Requirements](https://github.com/github-linguist/linguist/pull/6739) + - [Mojo](https://github.com/github-linguist/linguist/pull/6400) + - [Slint](https://github.com/github-linguist/linguist/pull/6750) + - [Oberon](https://github.com/github-linguist/linguist/pull/4645) + - New data formats + - [TextGrid](https://github.com/github-linguist/linguist/pull/6719) + - File names and extensions: + - The [rebornix.Ruby extension is deprecated in favor of Shopify.ruby-lsp](https://github.com/github-linguist/linguist/pull/6738) + - [Add .bicepparam to list of Bicep file extensions](https://github.com/github-linguist/linguist/pull/6664) + - [Add cs.pp extension to C#](https://github.com/github-linguist/linguist/pull/6679) + - [Add tmux.conf and .tmux.conf as shell filenames](https://github.com/github-linguist/linguist/pull/6726) + - [Add .env.sample as Dotenv filename](https://github.com/github-linguist/linguist/pull/6732) + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3654): support Code Search for non-default branches and tags when the repository indexer is disabled. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3615): add an immutable tarball link to archive download headers for Nix. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3414): allow to customize the domain name used as a fallback when synchronizing sources from ldap default domain name. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3383): the default config for `database.MAX_OPEN_CONNS` changed from 0 (unlimited) to 100 to avoid problems if it exceeds the limit by the database server. If you require high concurrency, try to increase this value for both Forgejo **and your database server**. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3366): infer the `[email.incoming].PORT` setting from `.USE_TLS`. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3363): reverted the rootless container image path in `GITEA_APP_INI` from `/etc/gitea/app.ini` to its default value of `/var/lib/gitea/custom/conf/app.ini`. This allows container users to not have to mount two separate volumes (one for the configuration data and one for the configuration `.ini` file). A warning is issued for users with the legacy configuration on how to update to the new path. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3334): added support for the [`workflow_dispatch` trigger](https://forgejo.org/docs/v8.0/user/actions/#onworkflow_dispatch) in Forgejo Actions. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3307): support [Proof Key for Code Exchange (PKCE - RFC7636)](https://www.rfc-editor.org/rfc/rfc7636) for external login using the OpenID Connect authentication source. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3139): allow hiding auto generated release archives. +- **Bug fixes** + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4423) ([backport](https://codeberg.org/forgejo/forgejo/pulls/4375)): Fixed: the "View command line instructions" link in pull requests and the "Copy content" button in file editor are not accessible. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4288) ([backport](https://codeberg.org/forgejo/forgejo/pulls/4253)): Fixed: unknown git push options are rejected instead of being ignored. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4240): Fixed: markdown `[*[a]*](b)` [is incorrectly rendered as `
`](https://github.com/yuin/goldmark/issues/457). + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4222): Fixed: markdown files displayed in the UI that have an unescaped backtick in the image alt [could (accidentally) trigger an inline code](https://github.com/yuin/goldmark/issues/456). + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3562): Fixed: when the git repository is empty, it is not possible to unsubscribe from an issue. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3442): Fixed: it is not possible to remove attachments from an empty comment. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3430): Fixed: the `/api/v1/repos/{owner}/{repo}/wiki` API endpoints is using a hardcoded "master" branch for the wiki, rather than the branch they really use. + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3379): Fixed: using the API to search for users, the results are not paged by default an the default paging limits are not respected. +- **Localization** + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4445) ([backport](https://codeberg.org/forgejo/forgejo/pulls/4330)): 11 July updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4316) ([backport](https://codeberg.org/forgejo/forgejo/pulls/4251)): 4 July updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4168): 18 June updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/4098): 10 June updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3992): 2 June updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3908): 25 May updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3851): 20 May updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3759): 14 May updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3637): 5 May updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3508): 28 April updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3359): 22 April updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3244): 15 April updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3138): 10 April updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/3064): 5 April updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/2982): 3 April updates + - [PR](https://codeberg.org/forgejo/forgejo/pulls/2937): 31 March updates + ## 7.0.5