diff --git a/.air.toml b/.air.toml index 8854041a25..d13f8c4f99 100644 --- a/.air.toml +++ b/.air.toml @@ -2,25 +2,12 @@ root = "." tmp_dir = ".air" [build] -pre_cmd = ["killall -9 gitea 2>/dev/null || true"] # kill off potential zombie processes from previous runs cmd = "make --no-print-directory backend" bin = "gitea" -delay = 2000 +delay = 1000 include_ext = ["go", "tmpl"] include_file = ["main.go"] include_dir = ["cmd", "models", "modules", "options", "routers", "services"] -exclude_dir = [ - "models/fixtures", - "models/migrations/fixtures", - "modules/avatar/identicon/testdata", - "modules/avatar/testdata", - "modules/git/tests", - "modules/migration/file_format_testdata", - "routers/private/tests", - "services/gitdiff/testdata", -] +exclude_dir = ["modules/git/tests", "services/gitdiff/testdata", "modules/avatar/testdata", "models/fixtures", "models/migrations/fixtures", "modules/migration/file_format_testdata", "modules/avatar/identicon/testdata"] exclude_regex = ["_test.go$", "_gen.go$"] stop_on_error = true - -[log] -main_only = true diff --git a/.changelog.yml b/.changelog.yml index a7df8779de..657dfa1c0e 100644 --- a/.changelog.yml +++ b/.changelog.yml @@ -13,47 +13,46 @@ groups: - name: BREAKING labels: - - pr/breaking + - kind/breaking - name: SECURITY labels: - - topic/security + - kind/security - name: FEATURES labels: - - type/feature - - - name: ENHANCEMENTS - labels: - - type/enhancement - - - name: PERFORMANCE - labels: - - performance/memory - - performance/speed - - performance/bigrepo - - performance/cpu - - - name: BUGFIXES - labels: - - type/bug + - kind/feature - name: API labels: - - modifies/api + - kind/api + - + name: ENHANCEMENTS + labels: + - kind/enhancement + - kind/refactor + - kind/ui + - + name: BUGFIXES + labels: + - kind/bug - name: TESTING labels: - - type/testing + - kind/testing + - + name: TRANSLATION + labels: + - kind/translation - name: BUILD labels: - - topic/build - - topic/code-linting + - kind/build + - kind/lint - name: DOCS labels: - - type/docs + - kind/docs - name: MISC default: true diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index 104f1cfeed..0000000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "Gitea DevContainer", - "image": "mcr.microsoft.com/devcontainers/go:1.24-bookworm", - "features": { - // installs nodejs into container - "ghcr.io/devcontainers/features/node:1": { - "version": "lts" - }, - "ghcr.io/devcontainers/features/git-lfs:1.2.2": {}, - "ghcr.io/devcontainers-extra/features/poetry:2": {}, - "ghcr.io/devcontainers/features/python:1": { - "version": "3.12" - }, - "ghcr.io/warrenbuckley/codespace-features/sqlite:1": {} - }, - "customizations": { - "vscode": { - "settings": {}, - // same extensions as Gitpod, should match /.gitpod.yml - "extensions": [ - "editorconfig.editorconfig", - "dbaeumer.vscode-eslint", - "golang.go", - "stylelint.vscode-stylelint", - "DavidAnson.vscode-markdownlint", - "Vue.volar", - "ms-azuretools.vscode-docker", - "vitest.explorer", - "cweijan.vscode-database-client2", - "GitHub.vscode-pull-request-github", - "Azurite.azurite" - ] - } - }, - "portsAttributes": { - "3000": { - "label": "Gitea Web", - "onAutoForward": "notify" - } - }, - "postCreateCommand": "make deps" -} diff --git a/.dockerignore b/.dockerignore index 843f12a7be..2a41420889 100644 --- a/.dockerignore +++ b/.dockerignore @@ -14,7 +14,7 @@ _test # MS VSCode .vscode -__debug_bin* +__debug_bin # Architecture specific extensions/prefixes *.[568vq] @@ -36,6 +36,15 @@ _testmain.go coverage.all cpu.out +/modules/migration/bindata.go +/modules/migration/bindata.go.hash +/modules/options/bindata.go +/modules/options/bindata.go.hash +/modules/public/bindata.go +/modules/public/bindata.go.hash +/modules/templates/bindata.go +/modules/templates/bindata.go.hash + *.db *.log @@ -53,6 +62,7 @@ cpu.out /data /indexers /log +/public/img/avatar /tests/integration/gitea-integration-* /tests/integration/indexers-* /tests/e2e/gitea-e2e-* @@ -65,18 +75,27 @@ cpu.out /yarn.lock /yarn-error.log /npm-debug.log* -/public/assets/js -/public/assets/css -/public/assets/fonts -/public/assets/img/avatar +/public/js +/public/css +/public/fonts +/public/img/webpack /vendor +/web_src/fomantic/node_modules +/web_src/fomantic/build/* +!/web_src/fomantic/build/semantic.js +!/web_src/fomantic/build/semantic.css +!/web_src/fomantic/build/themes +/web_src/fomantic/build/themes/* +!/web_src/fomantic/build/themes/default +/web_src/fomantic/build/themes/default/assets/* +!/web_src/fomantic/build/themes/default/assets/fonts +/web_src/fomantic/build/themes/default/assets/fonts/* +!/web_src/fomantic/build/themes/default/assets/fonts/icons.woff2 +!/web_src/fomantic/build/themes/default/assets/fonts/outline-icons.woff2 /VERSION /.air /.go-licenses -# Files and folders that were previously generated -/public/assets/img/webpack - # Snapcraft snap/.snapcraft/ parts/ diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000000..5d4e13038b --- /dev/null +++ b/.drone.yml @@ -0,0 +1,426 @@ +--- +kind: pipeline +name: release-version + +platform: + os: linux + arch: amd64 + +workspace: + base: /source + path: / + +trigger: + event: + - tag + +volumes: + - name: deps + temp: {} + +steps: + - name: fetch-tags + image: docker:git + pull: always + commands: + - git fetch --tags --force + + - name: deps-frontend + image: node:20 + pull: always + commands: + - make deps-frontend + + - name: deps-backend + image: gitea/test_env:linux-1.20-amd64 + pull: always + commands: + - make deps-backend + volumes: + - name: deps + path: /go + + - name: static + image: techknowlogick/xgo:go-1.20.x + pull: always + commands: + # Upgrade to node 20 once https://github.com/techknowlogick/xgo/issues/163 is resolved + - curl -sL https://deb.nodesource.com/setup_16.x | bash - && apt-get -qqy install nodejs + - export PATH=$PATH:$GOPATH/bin + - make release + environment: + GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not + TAGS: bindata sqlite sqlite_unlock_notify + DEBIAN_FRONTEND: noninteractive + depends_on: [fetch-tags] + volumes: + - name: deps + path: /go + + - name: gpg-sign + image: plugins/gpgsign:1 + pull: always + settings: + detach_sign: true + excludes: + - "dist/release/*.sha256" + files: + - "dist/release/*" + environment: + GPGSIGN_KEY: + from_secret: gpgsign_key + GPGSIGN_PASSPHRASE: + from_secret: gpgsign_passphrase + depends_on: [static] + + - name: release-tag + image: woodpeckerci/plugin-s3:latest + pull: always + settings: + acl: + from_secret: aws_s3_acl + region: + from_secret: aws_s3_region + bucket: + from_secret: aws_s3_bucket + endpoint: + from_secret: aws_s3_endpoint + path_style: + from_secret: aws_s3_path_style + source: "dist/release/*" + strip_prefix: dist/release/ + target: "/gitea/${DRONE_TAG##v}" + environment: + AWS_ACCESS_KEY_ID: + from_secret: aws_access_key_id + AWS_SECRET_ACCESS_KEY: + from_secret: aws_secret_access_key + depends_on: [gpg-sign] + + - name: github + image: plugins/github-release:latest + pull: always + settings: + files: + - "dist/release/*" + file_exists: overwrite + environment: + GITHUB_TOKEN: + from_secret: github_token + depends_on: [gpg-sign] + +--- +kind: pipeline +type: docker +name: docker-linux-amd64-release-version + +platform: + os: linux + arch: amd64 + +trigger: + ref: + include: + - "refs/tags/**" + exclude: + - "refs/tags/**-rc*" + paths: + exclude: + - "docs/**" + +steps: + - name: fetch-tags + image: docker:git + pull: always + commands: + - git fetch --tags --force + + - name: publish + image: plugins/docker:latest + pull: always + settings: + auto_tag: true + auto_tag_suffix: linux-amd64 + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + environment: + PLUGIN_MIRROR: + from_secret: plugin_mirror + DOCKER_BUILDKIT: 1 + when: + event: + exclude: + - pull_request + + - name: publish-rootless + image: plugins/docker:latest + settings: + dockerfile: Dockerfile.rootless + auto_tag: true + auto_tag_suffix: linux-amd64-rootless + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + environment: + PLUGIN_MIRROR: + from_secret: plugin_mirror + DOCKER_BUILDKIT: 1 + when: + event: + exclude: + - pull_request +--- + +kind: pipeline +type: docker +name: docker-linux-amd64-release-candidate-version + +platform: + os: linux + arch: amd64 + +trigger: + ref: + - "refs/tags/**-rc*" + paths: + exclude: + - "docs/**" + +steps: + - name: fetch-tags + image: docker:git + pull: always + commands: + - git fetch --tags --force + + - name: publish + image: plugins/docker:latest + pull: always + settings: + tags: ${DRONE_TAG##v}-linux-amd64 + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + environment: + PLUGIN_MIRROR: + from_secret: plugin_mirror + DOCKER_BUILDKIT: 1 + when: + event: + exclude: + - pull_request + + - name: publish-rootless + image: plugins/docker:latest + settings: + dockerfile: Dockerfile.rootless + tags: ${DRONE_TAG##v}-linux-amd64-rootless + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + environment: + PLUGIN_MIRROR: + from_secret: plugin_mirror + DOCKER_BUILDKIT: 1 + when: + event: + exclude: + - pull_request + +--- +kind: pipeline +type: docker +name: docker-linux-arm64-release-version + +platform: + os: linux + arch: arm64 + +trigger: + ref: + include: + - "refs/tags/**" + exclude: + - "refs/tags/**-rc*" + paths: + exclude: + - "docs/**" + +steps: + - name: fetch-tags + image: docker:git + pull: always + commands: + - git fetch --tags --force + + - name: publish + image: plugins/docker:latest + pull: always + settings: + auto_tag: true + auto_tag_suffix: linux-arm64 + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + environment: + PLUGIN_MIRROR: + from_secret: plugin_mirror + DOCKER_BUILDKIT: 1 + when: + event: + exclude: + - pull_request + + - name: publish-rootless + image: plugins/docker:latest + settings: + dockerfile: Dockerfile.rootless + auto_tag: true + auto_tag_suffix: linux-arm64-rootless + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + environment: + PLUGIN_MIRROR: + from_secret: plugin_mirror + DOCKER_BUILDKIT: 1 + when: + event: + exclude: + - pull_request + +--- +kind: pipeline +type: docker +name: docker-linux-arm64-release-candidate-version + +platform: + os: linux + arch: arm64 + +trigger: + ref: + - "refs/tags/**-rc*" + paths: + exclude: + - "docs/**" + +steps: + - name: fetch-tags + image: docker:git + pull: always + commands: + - git fetch --tags --force + + - name: publish + image: plugins/docker:latest + pull: always + settings: + tags: ${DRONE_TAG##v}-linux-arm64 + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + environment: + PLUGIN_MIRROR: + from_secret: plugin_mirror + DOCKER_BUILDKIT: 1 + when: + event: + exclude: + - pull_request + + - name: publish-rootless + image: plugins/docker:latest + settings: + dockerfile: Dockerfile.rootless + tags: ${DRONE_TAG##v}-linux-arm64-rootless + repo: gitea/gitea + build_args: + - GOPROXY=https://goproxy.io + password: + from_secret: docker_password + username: + from_secret: docker_username + environment: + PLUGIN_MIRROR: + from_secret: plugin_mirror + DOCKER_BUILDKIT: 1 + when: + event: + exclude: + - pull_request + +--- +kind: pipeline +type: docker +name: docker-manifest-version + +platform: + os: linux + arch: amd64 + +steps: + - name: manifest-rootless + image: plugins/manifest + pull: always + settings: + auto_tag: true + ignore_missing: true + spec: docker/manifest.rootless.tmpl + password: + from_secret: docker_password + username: + from_secret: docker_username + + - name: manifest + image: plugins/manifest + settings: + auto_tag: true + ignore_missing: true + spec: docker/manifest.tmpl + password: + from_secret: docker_password + username: + from_secret: docker_username + +trigger: + ref: + - "refs/tags/**" + paths: + exclude: + - "docs/**" + +depends_on: + - docker-linux-amd64-release-version + - docker-linux-amd64-release-candidate-version + - docker-linux-arm64-release-version + - docker-linux-arm64-release-candidate-version diff --git a/.editorconfig b/.editorconfig index 13aa8d50f0..c0946ac997 100644 --- a/.editorconfig +++ b/.editorconfig @@ -12,15 +12,11 @@ insert_final_newline = true [*.{go,tmpl,html}] indent_style = tab -[go.*] -indent_style = tab - [templates/custom/*.tmpl] insert_final_newline = false [templates/swagger/v1_json.tmpl] indent_style = space -insert_final_newline = false [templates/user/auth/oidc_wellknown.tmpl] indent_style = space diff --git a/.envrc b/.envrc deleted file mode 100644 index 3550a30f2d..0000000000 --- a/.envrc +++ /dev/null @@ -1 +0,0 @@ -use flake diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 57c6b19600..0000000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,1005 +0,0 @@ -const vitestPlugin = require('@vitest/eslint-plugin'); -const restrictedSyntax = ['WithStatement', 'ForInStatement', 'LabeledStatement', 'SequenceExpression']; - -module.exports = { - root: true, - reportUnusedDisableDirectives: true, - ignorePatterns: [ - '/web_src/js/vendor', - '/web_src/fomantic', - '/public/assets/js', - ], - parser: '@typescript-eslint/parser', - parserOptions: { - sourceType: 'module', - ecmaVersion: 'latest', - project: true, - extraFileExtensions: ['.vue'], - parser: '@typescript-eslint/parser', // for vue plugin - https://eslint.vuejs.org/user-guide/#how-to-use-a-custom-parser - }, - settings: { - 'import-x/extensions': ['.js', '.ts'], - 'import-x/parsers': { - '@typescript-eslint/parser': ['.js', '.ts'], - }, - 'import-x/resolver': { - typescript: true, - }, - }, - plugins: [ - '@eslint-community/eslint-plugin-eslint-comments', - '@stylistic/eslint-plugin-js', - '@typescript-eslint/eslint-plugin', - 'eslint-plugin-array-func', - 'eslint-plugin-github', - 'eslint-plugin-import-x', - 'eslint-plugin-no-jquery', - 'eslint-plugin-no-use-extend-native', - 'eslint-plugin-regexp', - 'eslint-plugin-sonarjs', - 'eslint-plugin-unicorn', - 'eslint-plugin-wc', - ], - env: { - es2024: true, - node: true, - }, - overrides: [ - { - files: ['**/*.cjs'], - rules: { - 'import-x/no-commonjs': [0], - '@typescript-eslint/no-require-imports': [0], - }, - }, - { - files: ['web_src/**/*'], - globals: { - __webpack_public_path__: true, - process: false, // https://github.com/webpack/webpack/issues/15833 - }, - }, - { - files: ['web_src/**/*', 'docs/**/*'], - env: { - browser: true, - node: false, - }, - }, - { - files: ['*.config.*'], - rules: { - 'import-x/no-unused-modules': [0], - }, - }, - { - files: ['**/*.d.ts'], - rules: { - 'import-x/no-unused-modules': [0], - '@typescript-eslint/consistent-type-definitions': [0], - '@typescript-eslint/consistent-type-imports': [0], - }, - }, - { - files: ['web_src/js/types.ts'], - rules: { - 'import-x/no-unused-modules': [0], - }, - }, - { - files: ['**/*.test.*', 'web_src/js/test/setup.ts'], - plugins: ['@vitest/eslint-plugin'], - globals: vitestPlugin.environments.env.globals, - rules: { - 'github/unescaped-html-literal': [0], - '@vitest/consistent-test-filename': [0], - '@vitest/consistent-test-it': [0], - '@vitest/expect-expect': [0], - '@vitest/max-expects': [0], - '@vitest/max-nested-describe': [0], - '@vitest/no-alias-methods': [0], - '@vitest/no-commented-out-tests': [0], - '@vitest/no-conditional-expect': [0], - '@vitest/no-conditional-in-test': [0], - '@vitest/no-conditional-tests': [0], - '@vitest/no-disabled-tests': [0], - '@vitest/no-done-callback': [0], - '@vitest/no-duplicate-hooks': [0], - '@vitest/no-focused-tests': [2], - '@vitest/no-hooks': [0], - '@vitest/no-identical-title': [2], - '@vitest/no-interpolation-in-snapshots': [0], - '@vitest/no-large-snapshots': [0], - '@vitest/no-mocks-import': [0], - '@vitest/no-restricted-matchers': [0], - '@vitest/no-restricted-vi-methods': [0], - '@vitest/no-standalone-expect': [0], - '@vitest/no-test-prefixes': [0], - '@vitest/no-test-return-statement': [0], - '@vitest/prefer-called-with': [0], - '@vitest/prefer-comparison-matcher': [0], - '@vitest/prefer-each': [0], - '@vitest/prefer-equality-matcher': [0], - '@vitest/prefer-expect-resolves': [0], - '@vitest/prefer-hooks-in-order': [0], - '@vitest/prefer-hooks-on-top': [2], - '@vitest/prefer-lowercase-title': [0], - '@vitest/prefer-mock-promise-shorthand': [0], - '@vitest/prefer-snapshot-hint': [0], - '@vitest/prefer-spy-on': [0], - '@vitest/prefer-strict-equal': [0], - '@vitest/prefer-to-be': [0], - '@vitest/prefer-to-be-falsy': [0], - '@vitest/prefer-to-be-object': [0], - '@vitest/prefer-to-be-truthy': [0], - '@vitest/prefer-to-contain': [0], - '@vitest/prefer-to-have-length': [0], - '@vitest/prefer-todo': [0], - '@vitest/require-hook': [0], - '@vitest/require-to-throw-message': [0], - '@vitest/require-top-level-describe': [0], - '@vitest/valid-describe-callback': [2], - '@vitest/valid-expect': [2], - '@vitest/valid-title': [2], - }, - }, - { - files: ['web_src/js/modules/fetch.ts', 'web_src/js/standalone/**/*'], - rules: { - 'no-restricted-syntax': [2, ...restrictedSyntax], - }, - }, - { - files: ['**/*.vue'], - plugins: [ - 'eslint-plugin-vue', - 'eslint-plugin-vue-scoped-css', - ], - extends: [ - 'plugin:vue/recommended', - 'plugin:vue-scoped-css/vue3-recommended', - ], - rules: { - 'vue/attributes-order': [0], - 'vue/html-closing-bracket-spacing': [2, {startTag: 'never', endTag: 'never', selfClosingTag: 'never'}], - 'vue/max-attributes-per-line': [0], - 'vue/singleline-html-element-content-newline': [0], - }, - }, - { - files: ['tests/e2e/**'], - plugins: [ - 'eslint-plugin-playwright', - ], - extends: [ - 'plugin:playwright/recommended', - ], - }, - ], - rules: { - '@eslint-community/eslint-comments/disable-enable-pair': [2], - '@eslint-community/eslint-comments/no-aggregating-enable': [2], - '@eslint-community/eslint-comments/no-duplicate-disable': [2], - '@eslint-community/eslint-comments/no-restricted-disable': [0], - '@eslint-community/eslint-comments/no-unlimited-disable': [2], - '@eslint-community/eslint-comments/no-unused-disable': [2], - '@eslint-community/eslint-comments/no-unused-enable': [2], - '@eslint-community/eslint-comments/no-use': [0], - '@eslint-community/eslint-comments/require-description': [0], - '@stylistic/js/array-bracket-newline': [0], - '@stylistic/js/array-bracket-spacing': [2, 'never'], - '@stylistic/js/array-element-newline': [0], - '@stylistic/js/arrow-parens': [2, 'always'], - '@stylistic/js/arrow-spacing': [2, {before: true, after: true}], - '@stylistic/js/block-spacing': [0], - '@stylistic/js/brace-style': [2, '1tbs', {allowSingleLine: true}], - '@stylistic/js/comma-dangle': [2, 'always-multiline'], - '@stylistic/js/comma-spacing': [2, {before: false, after: true}], - '@stylistic/js/comma-style': [2, 'last'], - '@stylistic/js/computed-property-spacing': [2, 'never'], - '@stylistic/js/dot-location': [2, 'property'], - '@stylistic/js/eol-last': [2], - '@stylistic/js/function-call-argument-newline': [0], - '@stylistic/js/function-call-spacing': [2, 'never'], - '@stylistic/js/function-paren-newline': [0], - '@stylistic/js/generator-star-spacing': [0], - '@stylistic/js/implicit-arrow-linebreak': [0], - '@stylistic/js/indent': [2, 2, {ignoreComments: true, SwitchCase: 1}], - '@stylistic/js/key-spacing': [2], - '@stylistic/js/keyword-spacing': [2], - '@stylistic/js/line-comment-position': [0], - '@stylistic/js/linebreak-style': [2, 'unix'], - '@stylistic/js/lines-around-comment': [0], - '@stylistic/js/lines-between-class-members': [0], - '@stylistic/js/max-len': [0], - '@stylistic/js/max-statements-per-line': [0], - '@stylistic/js/multiline-comment-style': [0], - '@stylistic/js/multiline-ternary': [0], - '@stylistic/js/new-parens': [2], - '@stylistic/js/newline-per-chained-call': [0], - '@stylistic/js/no-confusing-arrow': [0], - '@stylistic/js/no-extra-parens': [0], - '@stylistic/js/no-extra-semi': [2], - '@stylistic/js/no-floating-decimal': [0], - '@stylistic/js/no-mixed-operators': [0], - '@stylistic/js/no-mixed-spaces-and-tabs': [2], - '@stylistic/js/no-multi-spaces': [2, {ignoreEOLComments: true, exceptions: {Property: true}}], - '@stylistic/js/no-multiple-empty-lines': [2, {max: 1, maxEOF: 0, maxBOF: 0}], - '@stylistic/js/no-tabs': [2], - '@stylistic/js/no-trailing-spaces': [2], - '@stylistic/js/no-whitespace-before-property': [2], - '@stylistic/js/nonblock-statement-body-position': [2], - '@stylistic/js/object-curly-newline': [0], - '@stylistic/js/object-curly-spacing': [2, 'never'], - '@stylistic/js/object-property-newline': [0], - '@stylistic/js/one-var-declaration-per-line': [0], - '@stylistic/js/operator-linebreak': [2, 'after'], - '@stylistic/js/padded-blocks': [2, 'never'], - '@stylistic/js/padding-line-between-statements': [0], - '@stylistic/js/quote-props': [0], - '@stylistic/js/quotes': [2, 'single', {avoidEscape: true, allowTemplateLiterals: true}], - '@stylistic/js/rest-spread-spacing': [2, 'never'], - '@stylistic/js/semi': [2, 'always', {omitLastInOneLineBlock: true}], - '@stylistic/js/semi-spacing': [2, {before: false, after: true}], - '@stylistic/js/semi-style': [2, 'last'], - '@stylistic/js/space-before-blocks': [2, 'always'], - '@stylistic/js/space-before-function-paren': [2, {anonymous: 'ignore', named: 'never', asyncArrow: 'always'}], - '@stylistic/js/space-in-parens': [2, 'never'], - '@stylistic/js/space-infix-ops': [2], - '@stylistic/js/space-unary-ops': [2], - '@stylistic/js/spaced-comment': [2, 'always'], - '@stylistic/js/switch-colon-spacing': [2], - '@stylistic/js/template-curly-spacing': [2, 'never'], - '@stylistic/js/template-tag-spacing': [2, 'never'], - '@stylistic/js/wrap-iife': [2, 'inside'], - '@stylistic/js/wrap-regex': [0], - '@stylistic/js/yield-star-spacing': [2, 'after'], - '@typescript-eslint/adjacent-overload-signatures': [0], - '@typescript-eslint/array-type': [0], - '@typescript-eslint/await-thenable': [2], - '@typescript-eslint/ban-ts-comment': [2, {'ts-expect-error': false, 'ts-ignore': true, 'ts-nocheck': false, 'ts-check': false}], - '@typescript-eslint/ban-tslint-comment': [0], - '@typescript-eslint/class-literal-property-style': [0], - '@typescript-eslint/class-methods-use-this': [0], - '@typescript-eslint/consistent-generic-constructors': [0], - '@typescript-eslint/consistent-indexed-object-style': [0], - '@typescript-eslint/consistent-return': [0], - '@typescript-eslint/consistent-type-assertions': [2, {assertionStyle: 'as', objectLiteralTypeAssertions: 'allow'}], - '@typescript-eslint/consistent-type-definitions': [2, 'type'], - '@typescript-eslint/consistent-type-exports': [2, {fixMixedExportsWithInlineTypeSpecifier: false}], - '@typescript-eslint/consistent-type-imports': [2, {prefer: 'type-imports', fixStyle: 'separate-type-imports', disallowTypeAnnotations: true}], - '@typescript-eslint/default-param-last': [0], - '@typescript-eslint/dot-notation': [0], - '@typescript-eslint/explicit-function-return-type': [0], - '@typescript-eslint/explicit-member-accessibility': [0], - '@typescript-eslint/explicit-module-boundary-types': [0], - '@typescript-eslint/init-declarations': [0], - '@typescript-eslint/max-params': [0], - '@typescript-eslint/member-ordering': [0], - '@typescript-eslint/method-signature-style': [0], - '@typescript-eslint/naming-convention': [0], - '@typescript-eslint/no-array-constructor': [2], - '@typescript-eslint/no-array-delete': [2], - '@typescript-eslint/no-base-to-string': [0], - '@typescript-eslint/no-confusing-non-null-assertion': [2], - '@typescript-eslint/no-confusing-void-expression': [0], - '@typescript-eslint/no-deprecated': [2], - '@typescript-eslint/no-dupe-class-members': [0], - '@typescript-eslint/no-duplicate-enum-values': [2], - '@typescript-eslint/no-duplicate-type-constituents': [2, {ignoreUnions: true}], - '@typescript-eslint/no-dynamic-delete': [0], - '@typescript-eslint/no-empty-function': [0], - '@typescript-eslint/no-empty-interface': [0], - '@typescript-eslint/no-empty-object-type': [2], - '@typescript-eslint/no-explicit-any': [0], - '@typescript-eslint/no-extra-non-null-assertion': [2], - '@typescript-eslint/no-extraneous-class': [0], - '@typescript-eslint/no-floating-promises': [0], - '@typescript-eslint/no-for-in-array': [2], - '@typescript-eslint/no-implied-eval': [2], - '@typescript-eslint/no-import-type-side-effects': [0], // dupe with consistent-type-imports - '@typescript-eslint/no-inferrable-types': [0], - '@typescript-eslint/no-invalid-this': [0], - '@typescript-eslint/no-invalid-void-type': [0], - '@typescript-eslint/no-loop-func': [0], - '@typescript-eslint/no-loss-of-precision': [0], - '@typescript-eslint/no-magic-numbers': [0], - '@typescript-eslint/no-meaningless-void-operator': [0], - '@typescript-eslint/no-misused-new': [2], - '@typescript-eslint/no-misused-promises': [2, {checksVoidReturn: {attributes: false, arguments: false}}], - '@typescript-eslint/no-mixed-enums': [0], - '@typescript-eslint/no-namespace': [2], - '@typescript-eslint/no-non-null-asserted-nullish-coalescing': [0], - '@typescript-eslint/no-non-null-asserted-optional-chain': [2], - '@typescript-eslint/no-non-null-assertion': [0], - '@typescript-eslint/no-redeclare': [0], - '@typescript-eslint/no-redundant-type-constituents': [2], - '@typescript-eslint/no-require-imports': [2], - '@typescript-eslint/no-restricted-imports': [0], - '@typescript-eslint/no-restricted-types': [0], - '@typescript-eslint/no-shadow': [0], - '@typescript-eslint/no-this-alias': [0], // handled by unicorn/no-this-assignment - '@typescript-eslint/no-unnecessary-boolean-literal-compare': [0], - '@typescript-eslint/no-unnecessary-condition': [0], - '@typescript-eslint/no-unnecessary-qualifier': [0], - '@typescript-eslint/no-unnecessary-template-expression': [0], - '@typescript-eslint/no-unnecessary-type-arguments': [0], - '@typescript-eslint/no-unnecessary-type-assertion': [2], - '@typescript-eslint/no-unnecessary-type-constraint': [2], - '@typescript-eslint/no-unsafe-argument': [0], - '@typescript-eslint/no-unsafe-assignment': [0], - '@typescript-eslint/no-unsafe-call': [0], - '@typescript-eslint/no-unsafe-declaration-merging': [2], - '@typescript-eslint/no-unsafe-enum-comparison': [2], - '@typescript-eslint/no-unsafe-function-type': [2], - '@typescript-eslint/no-unsafe-member-access': [0], - '@typescript-eslint/no-unsafe-return': [0], - '@typescript-eslint/no-unsafe-unary-minus': [2], - '@typescript-eslint/no-unused-expressions': [0], - '@typescript-eslint/no-unused-vars': [2, {vars: 'all', args: 'all', caughtErrors: 'all', ignoreRestSiblings: false, argsIgnorePattern: '^_', varsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_'}], - '@typescript-eslint/no-use-before-define': [2, {functions: false, classes: true, variables: true, allowNamedExports: true, typedefs: false, enums: false, ignoreTypeReferences: true}], - '@typescript-eslint/no-useless-constructor': [0], - '@typescript-eslint/no-useless-empty-export': [0], - '@typescript-eslint/no-wrapper-object-types': [2], - '@typescript-eslint/non-nullable-type-assertion-style': [0], - '@typescript-eslint/only-throw-error': [2], - '@typescript-eslint/parameter-properties': [0], - '@typescript-eslint/prefer-as-const': [2], - '@typescript-eslint/prefer-destructuring': [0], - '@typescript-eslint/prefer-enum-initializers': [0], - '@typescript-eslint/prefer-find': [2], - '@typescript-eslint/prefer-for-of': [2], - '@typescript-eslint/prefer-function-type': [2], - '@typescript-eslint/prefer-includes': [2], - '@typescript-eslint/prefer-literal-enum-member': [0], - '@typescript-eslint/prefer-namespace-keyword': [0], - '@typescript-eslint/prefer-nullish-coalescing': [0], - '@typescript-eslint/prefer-optional-chain': [2, {requireNullish: true}], - '@typescript-eslint/prefer-promise-reject-errors': [0], - '@typescript-eslint/prefer-readonly': [0], - '@typescript-eslint/prefer-readonly-parameter-types': [0], - '@typescript-eslint/prefer-reduce-type-parameter': [0], - '@typescript-eslint/prefer-regexp-exec': [0], - '@typescript-eslint/prefer-return-this-type': [0], - '@typescript-eslint/prefer-string-starts-ends-with': [2, {allowSingleElementEquality: 'always'}], - '@typescript-eslint/promise-function-async': [0], - '@typescript-eslint/require-array-sort-compare': [0], - '@typescript-eslint/require-await': [0], - '@typescript-eslint/restrict-plus-operands': [2], - '@typescript-eslint/restrict-template-expressions': [0], - '@typescript-eslint/return-await': [0], - '@typescript-eslint/strict-boolean-expressions': [0], - '@typescript-eslint/switch-exhaustiveness-check': [0], - '@typescript-eslint/triple-slash-reference': [2], - '@typescript-eslint/typedef': [0], - '@typescript-eslint/unbound-method': [0], // too many false-positives - '@typescript-eslint/unified-signatures': [2], - 'accessor-pairs': [2], - 'array-callback-return': [2, {checkForEach: true}], - 'array-func/avoid-reverse': [2], - 'array-func/from-map': [2], - 'array-func/no-unnecessary-this-arg': [2], - 'array-func/prefer-array-from': [2], - 'array-func/prefer-flat-map': [0], // handled by unicorn/prefer-array-flat-map - 'array-func/prefer-flat': [0], // handled by unicorn/prefer-array-flat - 'arrow-body-style': [0], - 'block-scoped-var': [2], - 'camelcase': [0], - 'capitalized-comments': [0], - 'class-methods-use-this': [0], - 'complexity': [0], - 'consistent-return': [0], - 'consistent-this': [0], - 'constructor-super': [2], - 'curly': [0], - 'default-case-last': [2], - 'default-case': [0], - 'default-param-last': [0], - 'dot-notation': [0], - 'eqeqeq': [2], - 'for-direction': [2], - 'func-name-matching': [2], - 'func-names': [0], - 'func-style': [0], - 'getter-return': [2], - 'github/a11y-aria-label-is-well-formatted': [0], - 'github/a11y-no-title-attribute': [0], - 'github/a11y-no-visually-hidden-interactive-element': [0], - 'github/a11y-role-supports-aria-props': [0], - 'github/a11y-svg-has-accessible-name': [0], - 'github/array-foreach': [0], - 'github/async-currenttarget': [2], - 'github/async-preventdefault': [0], // https://github.com/github/eslint-plugin-github/issues/599 - 'github/authenticity-token': [0], - 'github/get-attribute': [0], - 'github/js-class-name': [0], - 'github/no-blur': [0], - 'github/no-d-none': [0], - 'github/no-dataset': [2], - 'github/no-dynamic-script-tag': [2], - 'github/no-implicit-buggy-globals': [2], - 'github/no-inner-html': [0], - 'github/no-innerText': [2], - 'github/no-then': [2], - 'github/no-useless-passive': [2], - 'github/prefer-observers': [2], - 'github/require-passive-events': [2], - 'github/unescaped-html-literal': [2], - 'grouped-accessor-pairs': [2], - 'guard-for-in': [0], - 'id-blacklist': [0], - 'id-length': [0], - 'id-match': [0], - 'import-x/consistent-type-specifier-style': [0], - 'import-x/default': [0], - 'import-x/dynamic-import-chunkname': [0], - 'import-x/export': [2], - 'import-x/exports-last': [0], - 'import-x/extensions': [2, 'always', {ignorePackages: true}], - 'import-x/first': [2], - 'import-x/group-exports': [0], - 'import-x/max-dependencies': [0], - 'import-x/named': [2], - 'import-x/namespace': [0], - 'import-x/newline-after-import': [0], - 'import-x/no-absolute-path': [0], - 'import-x/no-amd': [2], - 'import-x/no-anonymous-default-export': [0], - 'import-x/no-commonjs': [2], - 'import-x/no-cycle': [2, {ignoreExternal: true, maxDepth: 1}], - 'import-x/no-default-export': [0], - 'import-x/no-deprecated': [0], - 'import-x/no-dynamic-require': [0], - 'import-x/no-empty-named-blocks': [2], - 'import-x/no-extraneous-dependencies': [2], - 'import-x/no-import-module-exports': [0], - 'import-x/no-internal-modules': [0], - 'import-x/no-mutable-exports': [0], - 'import-x/no-named-as-default-member': [0], - 'import-x/no-named-as-default': [0], - 'import-x/no-named-default': [0], - 'import-x/no-named-export': [0], - 'import-x/no-namespace': [0], - 'import-x/no-nodejs-modules': [0], - 'import-x/no-relative-packages': [0], - 'import-x/no-relative-parent-imports': [0], - 'import-x/no-restricted-paths': [0], - 'import-x/no-self-import': [2], - 'import-x/no-unassigned-import': [0], - 'import-x/no-unresolved': [2, {commonjs: true, ignore: ['\\?.+$']}], - 'import-x/no-unused-modules': [2, {unusedExports: true}], - 'import-x/no-useless-path-segments': [2, {commonjs: true}], - 'import-x/no-webpack-loader-syntax': [2], - 'import-x/order': [0], - 'import-x/prefer-default-export': [0], - 'import-x/unambiguous': [0], - 'init-declarations': [0], - 'line-comment-position': [0], - 'logical-assignment-operators': [0], - 'max-classes-per-file': [0], - 'max-depth': [0], - 'max-lines-per-function': [0], - 'max-lines': [0], - 'max-nested-callbacks': [0], - 'max-params': [0], - 'max-statements': [0], - 'multiline-comment-style': [2, 'separate-lines'], - 'new-cap': [0], - 'no-alert': [0], - 'no-array-constructor': [0], // handled by @typescript-eslint/no-array-constructor - 'no-async-promise-executor': [0], - 'no-await-in-loop': [0], - 'no-bitwise': [0], - 'no-buffer-constructor': [0], - 'no-caller': [2], - 'no-case-declarations': [2], - 'no-class-assign': [2], - 'no-compare-neg-zero': [2], - 'no-cond-assign': [2, 'except-parens'], - 'no-console': [1, {allow: ['debug', 'info', 'warn', 'error']}], - 'no-const-assign': [2], - 'no-constant-binary-expression': [2], - 'no-constant-condition': [0], - 'no-constructor-return': [2], - 'no-continue': [0], - 'no-control-regex': [0], - 'no-debugger': [1], - 'no-delete-var': [2], - 'no-div-regex': [0], - 'no-dupe-args': [2], - 'no-dupe-class-members': [2], - 'no-dupe-else-if': [2], - 'no-dupe-keys': [2], - 'no-duplicate-case': [2], - 'no-duplicate-imports': [0], - 'no-else-return': [2], - 'no-empty-character-class': [2], - 'no-empty-function': [0], - 'no-empty-pattern': [2], - 'no-empty-static-block': [2], - 'no-empty': [2, {allowEmptyCatch: true}], - 'no-eq-null': [2], - 'no-eval': [2], - 'no-ex-assign': [2], - 'no-extend-native': [2], - 'no-extra-bind': [2], - 'no-extra-boolean-cast': [2], - 'no-extra-label': [0], - 'no-fallthrough': [2], - 'no-func-assign': [2], - 'no-global-assign': [2], - 'no-implicit-coercion': [2], - 'no-implicit-globals': [0], - 'no-implied-eval': [0], // handled by @typescript-eslint/no-implied-eval - 'no-import-assign': [2], - 'no-inline-comments': [0], - 'no-inner-declarations': [2], - 'no-invalid-regexp': [2], - 'no-invalid-this': [0], - 'no-irregular-whitespace': [2], - 'no-iterator': [2], - 'no-jquery/no-ajax-events': [2], - 'no-jquery/no-ajax': [2], - 'no-jquery/no-and-self': [2], - 'no-jquery/no-animate-toggle': [2], - 'no-jquery/no-animate': [2], - 'no-jquery/no-append-html': [2], - 'no-jquery/no-attr': [2], - 'no-jquery/no-bind': [2], - 'no-jquery/no-box-model': [2], - 'no-jquery/no-browser': [2], - 'no-jquery/no-camel-case': [2], - 'no-jquery/no-class-state': [2], - 'no-jquery/no-class': [0], - 'no-jquery/no-clone': [2], - 'no-jquery/no-closest': [0], - 'no-jquery/no-constructor-attributes': [2], - 'no-jquery/no-contains': [2], - 'no-jquery/no-context-prop': [2], - 'no-jquery/no-css': [2], - 'no-jquery/no-data': [0], - 'no-jquery/no-deferred': [2], - 'no-jquery/no-delegate': [2], - 'no-jquery/no-done-fail': [2], - 'no-jquery/no-each-collection': [0], - 'no-jquery/no-each-util': [0], - 'no-jquery/no-each': [0], - 'no-jquery/no-error-shorthand': [2], - 'no-jquery/no-error': [2], - 'no-jquery/no-escape-selector': [2], - 'no-jquery/no-event-shorthand': [2], - 'no-jquery/no-extend': [2], - 'no-jquery/no-fade': [2], - 'no-jquery/no-filter': [0], - 'no-jquery/no-find-collection': [0], - 'no-jquery/no-find-util': [2], - 'no-jquery/no-find': [0], - 'no-jquery/no-fx-interval': [2], - 'no-jquery/no-fx': [2], - 'no-jquery/no-global-eval': [2], - 'no-jquery/no-global-selector': [0], - 'no-jquery/no-grep': [2], - 'no-jquery/no-has': [2], - 'no-jquery/no-hold-ready': [2], - 'no-jquery/no-html': [0], - 'no-jquery/no-in-array': [2], - 'no-jquery/no-is-array': [2], - 'no-jquery/no-is-empty-object': [2], - 'no-jquery/no-is-function': [2], - 'no-jquery/no-is-numeric': [2], - 'no-jquery/no-is-plain-object': [2], - 'no-jquery/no-is-window': [2], - 'no-jquery/no-is': [2], - 'no-jquery/no-jquery-constructor': [0], - 'no-jquery/no-live': [2], - 'no-jquery/no-load-shorthand': [2], - 'no-jquery/no-load': [2], - 'no-jquery/no-map-collection': [0], - 'no-jquery/no-map-util': [2], - 'no-jquery/no-map': [2], - 'no-jquery/no-merge': [2], - 'no-jquery/no-node-name': [2], - 'no-jquery/no-noop': [2], - 'no-jquery/no-now': [2], - 'no-jquery/no-on-ready': [2], - 'no-jquery/no-other-methods': [0], - 'no-jquery/no-other-utils': [2], - 'no-jquery/no-param': [2], - 'no-jquery/no-parent': [0], - 'no-jquery/no-parents': [2], - 'no-jquery/no-parse-html-literal': [2], - 'no-jquery/no-parse-html': [2], - 'no-jquery/no-parse-json': [2], - 'no-jquery/no-parse-xml': [2], - 'no-jquery/no-prop': [2], - 'no-jquery/no-proxy': [2], - 'no-jquery/no-ready-shorthand': [2], - 'no-jquery/no-ready': [2], - 'no-jquery/no-selector-prop': [2], - 'no-jquery/no-serialize': [2], - 'no-jquery/no-size': [2], - 'no-jquery/no-sizzle': [2], - 'no-jquery/no-slide': [2], - 'no-jquery/no-sub': [2], - 'no-jquery/no-support': [2], - 'no-jquery/no-text': [2], - 'no-jquery/no-trigger': [0], - 'no-jquery/no-trim': [2], - 'no-jquery/no-type': [2], - 'no-jquery/no-unique': [2], - 'no-jquery/no-unload-shorthand': [2], - 'no-jquery/no-val': [0], - 'no-jquery/no-visibility': [2], - 'no-jquery/no-when': [2], - 'no-jquery/no-wrap': [2], - 'no-jquery/variable-pattern': [2], - 'no-label-var': [2], - 'no-labels': [0], // handled by no-restricted-syntax - 'no-lone-blocks': [2], - 'no-lonely-if': [0], - 'no-loop-func': [0], - 'no-loss-of-precision': [2], - 'no-magic-numbers': [0], - 'no-misleading-character-class': [2], - 'no-multi-assign': [0], - 'no-multi-str': [2], - 'no-negated-condition': [0], - 'no-nested-ternary': [0], - 'no-new-func': [2], - 'no-new-native-nonconstructor': [2], - 'no-new-object': [2], - 'no-new-symbol': [2], - 'no-new-wrappers': [2], - 'no-new': [0], - 'no-nonoctal-decimal-escape': [2], - 'no-obj-calls': [2], - 'no-octal-escape': [2], - 'no-octal': [2], - 'no-param-reassign': [0], - 'no-plusplus': [0], - 'no-promise-executor-return': [0], - 'no-proto': [2], - 'no-prototype-builtins': [2], - 'no-redeclare': [0], // must be disabled for typescript overloads - 'no-regex-spaces': [2], - 'no-restricted-exports': [0], - 'no-restricted-globals': [2, 'addEventListener', 'blur', 'close', 'closed', 'confirm', 'defaultStatus', 'defaultstatus', 'error', 'event', 'external', 'find', 'focus', 'frameElement', 'frames', 'history', 'innerHeight', 'innerWidth', 'isFinite', 'isNaN', 'length', 'locationbar', 'menubar', 'moveBy', 'moveTo', 'name', 'onblur', 'onerror', 'onfocus', 'onload', 'onresize', 'onunload', 'open', 'opener', 'opera', 'outerHeight', 'outerWidth', 'pageXOffset', 'pageYOffset', 'parent', 'print', 'removeEventListener', 'resizeBy', 'resizeTo', 'screen', 'screenLeft', 'screenTop', 'screenX', 'screenY', 'scroll', 'scrollbars', 'scrollBy', 'scrollTo', 'scrollX', 'scrollY', 'status', 'statusbar', 'stop', 'toolbar', 'top'], - 'no-restricted-imports': [0], - 'no-restricted-syntax': [2, ...restrictedSyntax, {selector: 'CallExpression[callee.name="fetch"]', message: 'use modules/fetch.ts instead'}], - 'no-return-assign': [0], - 'no-script-url': [2], - 'no-self-assign': [2, {props: true}], - 'no-self-compare': [2], - 'no-sequences': [2], - 'no-setter-return': [2], - 'no-shadow-restricted-names': [2], - 'no-shadow': [0], - 'no-sparse-arrays': [2], - 'no-template-curly-in-string': [2], - 'no-ternary': [0], - 'no-this-before-super': [2], - 'no-throw-literal': [2], - 'no-undef-init': [2], - 'no-undef': [2], // it is still needed by eslint & IDE to prompt undefined names in real time - 'no-undefined': [0], - 'no-underscore-dangle': [0], - 'no-unexpected-multiline': [2], - 'no-unmodified-loop-condition': [2], - 'no-unneeded-ternary': [2], - 'no-unreachable-loop': [2], - 'no-unreachable': [2], - 'no-unsafe-finally': [2], - 'no-unsafe-negation': [2], - 'no-unused-expressions': [2], - 'no-unused-labels': [2], - 'no-unused-private-class-members': [2], - 'no-unused-vars': [0], // handled by @typescript-eslint/no-unused-vars - 'no-use-before-define': [0], // handled by @typescript-eslint/no-use-before-define - 'no-use-extend-native/no-use-extend-native': [2], - 'no-useless-backreference': [2], - 'no-useless-call': [2], - 'no-useless-catch': [2], - 'no-useless-computed-key': [2], - 'no-useless-concat': [2], - 'no-useless-constructor': [2], - 'no-useless-escape': [2], - 'no-useless-rename': [2], - 'no-useless-return': [2], - 'no-var': [2], - 'no-void': [2], - 'no-warning-comments': [0], - 'no-with': [0], // handled by no-restricted-syntax - 'object-shorthand': [2, 'always'], - 'one-var-declaration-per-line': [0], - 'one-var': [0], - 'operator-assignment': [2, 'always'], - 'operator-linebreak': [2, 'after'], - 'prefer-arrow-callback': [2, {allowNamedFunctions: true, allowUnboundThis: true}], - 'prefer-const': [2, {destructuring: 'all', ignoreReadBeforeAssign: true}], - 'prefer-destructuring': [0], - 'prefer-exponentiation-operator': [2], - 'prefer-named-capture-group': [0], - 'prefer-numeric-literals': [2], - 'prefer-object-has-own': [2], - 'prefer-object-spread': [2], - 'prefer-promise-reject-errors': [2, {allowEmptyReject: false}], - 'prefer-regex-literals': [2], - 'prefer-rest-params': [2], - 'prefer-spread': [2], - 'prefer-template': [2], - 'radix': [2, 'as-needed'], - 'regexp/confusing-quantifier': [2], - 'regexp/control-character-escape': [2], - 'regexp/hexadecimal-escape': [0], - 'regexp/letter-case': [0], - 'regexp/match-any': [2], - 'regexp/negation': [2], - 'regexp/no-contradiction-with-assertion': [0], - 'regexp/no-control-character': [0], - 'regexp/no-dupe-characters-character-class': [2], - 'regexp/no-dupe-disjunctions': [2], - 'regexp/no-empty-alternative': [2], - 'regexp/no-empty-capturing-group': [2], - 'regexp/no-empty-character-class': [0], - 'regexp/no-empty-group': [2], - 'regexp/no-empty-lookarounds-assertion': [2], - 'regexp/no-empty-string-literal': [2], - 'regexp/no-escape-backspace': [2], - 'regexp/no-extra-lookaround-assertions': [0], - 'regexp/no-invalid-regexp': [2], - 'regexp/no-invisible-character': [2], - 'regexp/no-lazy-ends': [2], - 'regexp/no-legacy-features': [2], - 'regexp/no-misleading-capturing-group': [0], - 'regexp/no-misleading-unicode-character': [0], - 'regexp/no-missing-g-flag': [2], - 'regexp/no-non-standard-flag': [2], - 'regexp/no-obscure-range': [2], - 'regexp/no-octal': [2], - 'regexp/no-optional-assertion': [2], - 'regexp/no-potentially-useless-backreference': [2], - 'regexp/no-standalone-backslash': [2], - 'regexp/no-super-linear-backtracking': [0], - 'regexp/no-super-linear-move': [0], - 'regexp/no-trivially-nested-assertion': [2], - 'regexp/no-trivially-nested-quantifier': [2], - 'regexp/no-unused-capturing-group': [0], - 'regexp/no-useless-assertions': [2], - 'regexp/no-useless-backreference': [2], - 'regexp/no-useless-character-class': [2], - 'regexp/no-useless-dollar-replacements': [2], - 'regexp/no-useless-escape': [2], - 'regexp/no-useless-flag': [2], - 'regexp/no-useless-lazy': [2], - 'regexp/no-useless-non-capturing-group': [2], - 'regexp/no-useless-quantifier': [2], - 'regexp/no-useless-range': [2], - 'regexp/no-useless-set-operand': [2], - 'regexp/no-useless-string-literal': [2], - 'regexp/no-useless-two-nums-quantifier': [2], - 'regexp/no-zero-quantifier': [2], - 'regexp/optimal-lookaround-quantifier': [2], - 'regexp/optimal-quantifier-concatenation': [0], - 'regexp/prefer-character-class': [0], - 'regexp/prefer-d': [0], - 'regexp/prefer-escape-replacement-dollar-char': [0], - 'regexp/prefer-lookaround': [0], - 'regexp/prefer-named-backreference': [0], - 'regexp/prefer-named-capture-group': [0], - 'regexp/prefer-named-replacement': [0], - 'regexp/prefer-plus-quantifier': [2], - 'regexp/prefer-predefined-assertion': [2], - 'regexp/prefer-quantifier': [0], - 'regexp/prefer-question-quantifier': [2], - 'regexp/prefer-range': [2], - 'regexp/prefer-regexp-exec': [2], - 'regexp/prefer-regexp-test': [2], - 'regexp/prefer-result-array-groups': [0], - 'regexp/prefer-set-operation': [2], - 'regexp/prefer-star-quantifier': [2], - 'regexp/prefer-unicode-codepoint-escapes': [2], - 'regexp/prefer-w': [0], - 'regexp/require-unicode-regexp': [0], - 'regexp/simplify-set-operations': [2], - 'regexp/sort-alternatives': [0], - 'regexp/sort-character-class-elements': [0], - 'regexp/sort-flags': [0], - 'regexp/strict': [2], - 'regexp/unicode-escape': [0], - 'regexp/use-ignore-case': [0], - 'require-atomic-updates': [0], - 'require-await': [0], // handled by @typescript-eslint/require-await - 'require-unicode-regexp': [0], - 'require-yield': [2], - 'sonarjs/cognitive-complexity': [0], - 'sonarjs/elseif-without-else': [0], - 'sonarjs/max-switch-cases': [0], - 'sonarjs/no-all-duplicated-branches': [2], - 'sonarjs/no-collapsible-if': [0], - 'sonarjs/no-collection-size-mischeck': [2], - 'sonarjs/no-duplicate-string': [0], - 'sonarjs/no-duplicated-branches': [0], - 'sonarjs/no-element-overwrite': [2], - 'sonarjs/no-empty-collection': [2], - 'sonarjs/no-extra-arguments': [2], - 'sonarjs/no-gratuitous-expressions': [2], - 'sonarjs/no-identical-conditions': [2], - 'sonarjs/no-identical-expressions': [2], - 'sonarjs/no-identical-functions': [2, 5], - 'sonarjs/no-ignored-return': [2], - 'sonarjs/no-inverted-boolean-check': [2], - 'sonarjs/no-nested-switch': [0], - 'sonarjs/no-nested-template-literals': [0], - 'sonarjs/no-one-iteration-loop': [2], - 'sonarjs/no-redundant-boolean': [2], - 'sonarjs/no-redundant-jump': [2], - 'sonarjs/no-same-line-conditional': [2], - 'sonarjs/no-small-switch': [0], - 'sonarjs/no-unused-collection': [2], - 'sonarjs/no-use-of-empty-return-value': [2], - 'sonarjs/no-useless-catch': [2], - 'sonarjs/non-existent-operator': [2], - 'sonarjs/prefer-immediate-return': [0], - 'sonarjs/prefer-object-literal': [0], - 'sonarjs/prefer-single-boolean-return': [0], - 'sonarjs/prefer-while': [2], - 'sort-imports': [0], - 'sort-keys': [0], - 'sort-vars': [0], - 'strict': [0], - 'symbol-description': [2], - 'unicode-bom': [2, 'never'], - 'unicorn/better-regex': [0], - 'unicorn/catch-error-name': [0], - 'unicorn/consistent-destructuring': [2], - 'unicorn/consistent-empty-array-spread': [2], - 'unicorn/consistent-existence-index-check': [0], - 'unicorn/consistent-function-scoping': [0], - 'unicorn/custom-error-definition': [0], - 'unicorn/empty-brace-spaces': [2], - 'unicorn/error-message': [0], - 'unicorn/escape-case': [0], - 'unicorn/expiring-todo-comments': [0], - 'unicorn/explicit-length-check': [0], - 'unicorn/filename-case': [0], - 'unicorn/import-index': [0], - 'unicorn/import-style': [0], - 'unicorn/new-for-builtins': [2], - 'unicorn/no-abusive-eslint-disable': [0], - 'unicorn/no-anonymous-default-export': [0], - 'unicorn/no-array-callback-reference': [0], - 'unicorn/no-array-for-each': [2], - 'unicorn/no-array-method-this-argument': [2], - 'unicorn/no-array-push-push': [2], - 'unicorn/no-array-reduce': [2], - 'unicorn/no-await-expression-member': [0], - 'unicorn/no-await-in-promise-methods': [2], - 'unicorn/no-console-spaces': [0], - 'unicorn/no-document-cookie': [2], - 'unicorn/no-empty-file': [2], - 'unicorn/no-for-loop': [0], - 'unicorn/no-hex-escape': [0], - 'unicorn/no-instanceof-array': [0], - 'unicorn/no-invalid-fetch-options': [2], - 'unicorn/no-invalid-remove-event-listener': [2], - 'unicorn/no-keyword-prefix': [0], - 'unicorn/no-length-as-slice-end': [2], - 'unicorn/no-lonely-if': [2], - 'unicorn/no-magic-array-flat-depth': [0], - 'unicorn/no-negated-condition': [0], - 'unicorn/no-negation-in-equality-check': [2], - 'unicorn/no-nested-ternary': [0], - 'unicorn/no-new-array': [0], - 'unicorn/no-new-buffer': [0], - 'unicorn/no-null': [0], - 'unicorn/no-object-as-default-parameter': [0], - 'unicorn/no-process-exit': [0], - 'unicorn/no-single-promise-in-promise-methods': [2], - 'unicorn/no-static-only-class': [2], - 'unicorn/no-thenable': [2], - 'unicorn/no-this-assignment': [2], - 'unicorn/no-typeof-undefined': [2], - 'unicorn/no-unnecessary-await': [2], - 'unicorn/no-unnecessary-polyfills': [2], - 'unicorn/no-unreadable-array-destructuring': [0], - 'unicorn/no-unreadable-iife': [2], - 'unicorn/no-unused-properties': [2], - 'unicorn/no-useless-fallback-in-spread': [2], - 'unicorn/no-useless-length-check': [2], - 'unicorn/no-useless-promise-resolve-reject': [2], - 'unicorn/no-useless-spread': [2], - 'unicorn/no-useless-switch-case': [2], - 'unicorn/no-useless-undefined': [0], - 'unicorn/no-zero-fractions': [2], - 'unicorn/number-literal-case': [0], - 'unicorn/numeric-separators-style': [0], - 'unicorn/prefer-add-event-listener': [2], - 'unicorn/prefer-array-find': [2], - 'unicorn/prefer-array-flat-map': [2], - 'unicorn/prefer-array-flat': [2], - 'unicorn/prefer-array-index-of': [2], - 'unicorn/prefer-array-some': [2], - 'unicorn/prefer-at': [0], - 'unicorn/prefer-blob-reading-methods': [2], - 'unicorn/prefer-code-point': [0], - 'unicorn/prefer-date-now': [2], - 'unicorn/prefer-default-parameters': [0], - 'unicorn/prefer-dom-node-append': [2], - 'unicorn/prefer-dom-node-dataset': [0], - 'unicorn/prefer-dom-node-remove': [2], - 'unicorn/prefer-dom-node-text-content': [2], - 'unicorn/prefer-event-target': [2], - 'unicorn/prefer-export-from': [0], - 'unicorn/prefer-global-this': [0], - 'unicorn/prefer-includes': [2], - 'unicorn/prefer-json-parse-buffer': [0], - 'unicorn/prefer-keyboard-event-key': [2], - 'unicorn/prefer-logical-operator-over-ternary': [2], - 'unicorn/prefer-math-min-max': [2], - 'unicorn/prefer-math-trunc': [2], - 'unicorn/prefer-modern-dom-apis': [0], - 'unicorn/prefer-modern-math-apis': [2], - 'unicorn/prefer-module': [2], - 'unicorn/prefer-native-coercion-functions': [2], - 'unicorn/prefer-negative-index': [2], - 'unicorn/prefer-node-protocol': [2], - 'unicorn/prefer-number-properties': [0], - 'unicorn/prefer-object-from-entries': [2], - 'unicorn/prefer-object-has-own': [0], - 'unicorn/prefer-optional-catch-binding': [2], - 'unicorn/prefer-prototype-methods': [0], - 'unicorn/prefer-query-selector': [2], - 'unicorn/prefer-reflect-apply': [0], - 'unicorn/prefer-regexp-test': [2], - 'unicorn/prefer-set-has': [0], - 'unicorn/prefer-set-size': [2], - 'unicorn/prefer-spread': [0], - 'unicorn/prefer-string-raw': [0], - 'unicorn/prefer-string-replace-all': [0], - 'unicorn/prefer-string-slice': [0], - 'unicorn/prefer-string-starts-ends-with': [2], - 'unicorn/prefer-string-trim-start-end': [2], - 'unicorn/prefer-structured-clone': [2], - 'unicorn/prefer-switch': [0], - 'unicorn/prefer-ternary': [0], - 'unicorn/prefer-text-content': [2], - 'unicorn/prefer-top-level-await': [0], - 'unicorn/prefer-type-error': [0], - 'unicorn/prevent-abbreviations': [0], - 'unicorn/relative-url-style': [2], - 'unicorn/require-array-join-separator': [2], - 'unicorn/require-number-to-fixed-digits-argument': [2], - 'unicorn/require-post-message-target-origin': [0], - 'unicorn/string-content': [0], - 'unicorn/switch-case-braces': [0], - 'unicorn/template-indent': [2], - 'unicorn/text-encoding-identifier-case': [0], - 'unicorn/throw-new-error': [2], - 'use-isnan': [2], - 'valid-typeof': [2, {requireStringLiterals: true}], - 'vars-on-top': [0], - 'wc/attach-shadow-constructor': [2], - 'wc/define-tag-after-class-definition': [0], - 'wc/expose-class-on-global': [0], - 'wc/file-name-matches-element': [2], - 'wc/guard-define-call': [0], - 'wc/guard-super-call': [2], - 'wc/max-elements-per-file': [0], - 'wc/no-child-traversal-in-attributechangedcallback': [2], - 'wc/no-child-traversal-in-connectedcallback': [2], - 'wc/no-closed-shadow-root': [2], - 'wc/no-constructor-attributes': [2], - 'wc/no-constructor-params': [2], - 'wc/no-constructor': [2], - 'wc/no-customized-built-in-elements': [2], - 'wc/no-exports-with-element': [0], - 'wc/no-invalid-element-name': [2], - 'wc/no-invalid-extends': [2], - 'wc/no-method-prefixed-with-on': [2], - 'wc/no-self-class': [2], - 'wc/no-typos': [2], - 'wc/require-listener-teardown': [2], - 'wc/tag-name-matches-class': [2], - 'yoda': [2, 'never'], - }, -}; diff --git a/.eslintrc.yaml b/.eslintrc.yaml new file mode 100644 index 0000000000..ea85ab1298 --- /dev/null +++ b/.eslintrc.yaml @@ -0,0 +1,752 @@ +root: true +reportUnusedDisableDirectives: true + +ignorePatterns: + - /web_src/js/vendor + +parserOptions: + sourceType: module + ecmaVersion: latest + +plugins: + - "@eslint-community/eslint-plugin-eslint-comments" + - eslint-plugin-array-func + - eslint-plugin-custom-elements + - eslint-plugin-import + - eslint-plugin-jquery + - eslint-plugin-no-jquery + - eslint-plugin-no-use-extend-native + - eslint-plugin-regexp + - eslint-plugin-sonarjs + - eslint-plugin-unicorn + - eslint-plugin-wc + +env: + es2022: true + node: true + +globals: + __webpack_public_path__: true + +overrides: + - files: ["web_src/**/*", "docs/**/*"] + env: + browser: true + node: false + - files: ["web_src/**/*worker.*"] + env: + worker: true + rules: + no-restricted-globals: [2, addEventListener, blur, close, closed, confirm, defaultStatus, defaultstatus, error, event, external, find, focus, frameElement, frames, history, innerHeight, innerWidth, isFinite, isNaN, length, locationbar, menubar, moveBy, moveTo, name, onblur, onerror, onfocus, onload, onresize, onunload, open, opener, opera, outerHeight, outerWidth, pageXOffset, pageYOffset, parent, print, removeEventListener, resizeBy, resizeTo, screen, screenLeft, screenTop, screenX, screenY, scroll, scrollbars, scrollBy, scrollTo, scrollX, scrollY, status, statusbar, stop, toolbar, top] + - files: ["build/generate-images.js"] + rules: + import/no-unresolved: [0] + import/no-extraneous-dependencies: [0] + - files: ["*.config.*"] + rules: + import/no-unused-modules: [0] + +rules: + "@eslint-community/eslint-comments/disable-enable-pair": [2] + "@eslint-community/eslint-comments/no-aggregating-enable": [2] + "@eslint-community/eslint-comments/no-duplicate-disable": [2] + "@eslint-community/eslint-comments/no-restricted-disable": [0] + "@eslint-community/eslint-comments/no-unlimited-disable": [2] + "@eslint-community/eslint-comments/no-unused-disable": [2] + "@eslint-community/eslint-comments/no-unused-enable": [2] + "@eslint-community/eslint-comments/no-use": [0] + "@eslint-community/eslint-comments/require-description": [0] + accessor-pairs: [2] + array-bracket-newline: [0] + array-bracket-spacing: [2, never] + array-callback-return: [2, {checkForEach: true}] + array-element-newline: [0] + array-func/avoid-reverse: [2] + array-func/from-map: [2] + array-func/no-unnecessary-this-arg: [2] + array-func/prefer-array-from: [2] + array-func/prefer-flat-map: [0] # handled by unicorn/prefer-array-flat-map + array-func/prefer-flat: [0] # handled by unicorn/prefer-array-flat + arrow-body-style: [0] + arrow-parens: [2, always] + arrow-spacing: [2, {before: true, after: true}] + block-scoped-var: [2] + brace-style: [2, 1tbs, {allowSingleLine: true}] + camelcase: [0] + capitalized-comments: [0] + class-methods-use-this: [0] + comma-dangle: [2, only-multiline] + comma-spacing: [2, {before: false, after: true}] + comma-style: [2, last] + complexity: [0] + computed-property-spacing: [2, never] + consistent-return: [0] + consistent-this: [0] + constructor-super: [2] + curly: [0] + custom-elements/expose-class-on-global: [0] + custom-elements/extends-correct-class: [2] + custom-elements/file-name-matches-element: [2] + custom-elements/no-constructor: [2] + custom-elements/no-customized-built-in-elements: [2] + custom-elements/no-dom-traversal-in-attributechangedcallback: [2] + custom-elements/no-dom-traversal-in-connectedcallback: [2] + custom-elements/no-exports-with-element: [2] + custom-elements/no-method-prefixed-with-on: [2] + custom-elements/no-unchecked-define: [0] + custom-elements/one-element-per-file: [0] + custom-elements/tag-name-matches-class: [2] + custom-elements/valid-tag-name: [2] + default-case-last: [2] + default-case: [0] + default-param-last: [0] + dot-location: [2, property] + dot-notation: [0] + eol-last: [2] + eqeqeq: [2] + for-direction: [2] + func-call-spacing: [2, never] + func-name-matching: [2] + func-names: [0] + func-style: [0] + function-call-argument-newline: [0] + function-paren-newline: [0] + generator-star-spacing: [0] + getter-return: [2] + grouped-accessor-pairs: [2] + guard-for-in: [0] + id-blacklist: [0] + id-length: [0] + id-match: [0] + implicit-arrow-linebreak: [0] + import/consistent-type-specifier-style: [0] + import/default: [0] + import/dynamic-import-chunkname: [0] + import/export: [2] + import/exports-last: [0] + import/extensions: [2, always, {ignorePackages: true}] + import/first: [2] + import/group-exports: [0] + import/max-dependencies: [0] + import/named: [2] + import/namespace: [0] + import/newline-after-import: [0] + import/no-absolute-path: [0] + import/no-amd: [2] + import/no-anonymous-default-export: [0] + import/no-commonjs: [2] + import/no-cycle: [2, {ignoreExternal: true, maxDepth: 1}] + import/no-default-export: [0] + import/no-deprecated: [0] + import/no-dynamic-require: [0] + import/no-empty-named-blocks: [2] + import/no-extraneous-dependencies: [2] + import/no-import-module-exports: [0] + import/no-internal-modules: [0] + import/no-mutable-exports: [0] + import/no-named-as-default-member: [0] + import/no-named-as-default: [2] + import/no-named-default: [0] + import/no-named-export: [0] + import/no-namespace: [0] + import/no-nodejs-modules: [0] + import/no-relative-packages: [0] + import/no-relative-parent-imports: [0] + import/no-restricted-paths: [0] + import/no-self-import: [2] + import/no-unassigned-import: [0] + import/no-unresolved: [2, {commonjs: true, ignore: ["\\?.+$"]}] + import/no-unused-modules: [2, {unusedExports: true}] + import/no-useless-path-segments: [2, {commonjs: true}] + import/no-webpack-loader-syntax: [2] + import/order: [0] + import/prefer-default-export: [0] + import/unambiguous: [0] + indent: [2, 2, {SwitchCase: 1}] + init-declarations: [0] + jquery/no-ajax-events: [2] + jquery/no-ajax: [0] + jquery/no-animate: [2] + jquery/no-attr: [0] + jquery/no-bind: [2] + jquery/no-class: [0] + jquery/no-clone: [2] + jquery/no-closest: [0] + jquery/no-css: [0] + jquery/no-data: [0] + jquery/no-deferred: [2] + jquery/no-delegate: [2] + jquery/no-each: [0] + jquery/no-extend: [2] + jquery/no-fade: [0] + jquery/no-filter: [0] + jquery/no-find: [0] + jquery/no-global-eval: [2] + jquery/no-grep: [2] + jquery/no-has: [2] + jquery/no-hide: [2] + jquery/no-html: [0] + jquery/no-in-array: [2] + jquery/no-is-array: [2] + jquery/no-is-function: [2] + jquery/no-is: [0] + jquery/no-load: [2] + jquery/no-map: [0] + jquery/no-merge: [2] + jquery/no-param: [2] + jquery/no-parent: [0] + jquery/no-parents: [0] + jquery/no-parse-html: [2] + jquery/no-prop: [0] + jquery/no-proxy: [2] + jquery/no-ready: [2] + jquery/no-serialize: [2] + jquery/no-show: [2] + jquery/no-size: [2] + jquery/no-sizzle: [0] + jquery/no-slide: [0] + jquery/no-submit: [0] + jquery/no-text: [0] + jquery/no-toggle: [2] + jquery/no-trigger: [0] + jquery/no-trim: [2] + jquery/no-val: [0] + jquery/no-when: [2] + jquery/no-wrap: [2] + key-spacing: [2] + keyword-spacing: [2] + line-comment-position: [0] + linebreak-style: [2, unix] + lines-around-comment: [0] + lines-between-class-members: [0] + logical-assignment-operators: [0] + max-classes-per-file: [0] + max-depth: [0] + max-len: [0] + max-lines-per-function: [0] + max-lines: [0] + max-nested-callbacks: [0] + max-params: [0] + max-statements-per-line: [0] + max-statements: [0] + multiline-comment-style: [2, separate-lines] + multiline-ternary: [0] + new-cap: [0] + new-parens: [2] + newline-per-chained-call: [0] + no-alert: [0] + no-array-constructor: [2] + no-async-promise-executor: [0] + no-await-in-loop: [0] + no-bitwise: [0] + no-buffer-constructor: [0] + no-caller: [2] + no-case-declarations: [2] + no-class-assign: [2] + no-compare-neg-zero: [2] + no-cond-assign: [2, except-parens] + no-confusing-arrow: [0] + no-console: [1, {allow: [debug, info, warn, error]}] + no-const-assign: [2] + no-constant-binary-expression: [2] + no-constant-condition: [0] + no-constructor-return: [2] + no-continue: [0] + no-control-regex: [0] + no-debugger: [1] + no-delete-var: [2] + no-div-regex: [0] + no-dupe-args: [2] + no-dupe-class-members: [2] + no-dupe-else-if: [2] + no-dupe-keys: [2] + no-duplicate-case: [2] + no-duplicate-imports: [2] + no-else-return: [2] + no-empty-character-class: [2] + no-empty-function: [0] + no-empty-pattern: [2] + no-empty-static-block: [2] + no-empty: [2, {allowEmptyCatch: true}] + no-eq-null: [2] + no-eval: [2] + no-ex-assign: [2] + no-extend-native: [2] + no-extra-bind: [2] + no-extra-boolean-cast: [2] + no-extra-label: [0] + no-extra-parens: [0] + no-extra-semi: [2] + no-fallthrough: [2] + no-floating-decimal: [0] + no-func-assign: [2] + no-global-assign: [2] + no-implicit-coercion: [2] + no-implicit-globals: [0] + no-implied-eval: [2] + no-import-assign: [2] + no-inline-comments: [0] + no-inner-declarations: [2] + no-invalid-regexp: [2] + no-invalid-this: [0] + no-irregular-whitespace: [2] + no-iterator: [2] + no-jquery/no-ajax-events: [2] + no-jquery/no-ajax: [0] + no-jquery/no-and-self: [2] + no-jquery/no-animate-toggle: [2] + no-jquery/no-animate: [2] + no-jquery/no-append-html: [0] + no-jquery/no-attr: [0] + no-jquery/no-bind: [2] + no-jquery/no-box-model: [2] + no-jquery/no-browser: [2] + no-jquery/no-camel-case: [2] + no-jquery/no-class-state: [0] + no-jquery/no-class: [0] + no-jquery/no-clone: [2] + no-jquery/no-closest: [0] + no-jquery/no-constructor-attributes: [2] + no-jquery/no-contains: [2] + no-jquery/no-context-prop: [2] + no-jquery/no-css: [0] + no-jquery/no-data: [0] + no-jquery/no-deferred: [2] + no-jquery/no-delegate: [2] + no-jquery/no-each-collection: [0] + no-jquery/no-each-util: [0] + no-jquery/no-each: [0] + no-jquery/no-error-shorthand: [2] + no-jquery/no-error: [2] + no-jquery/no-escape-selector: [2] + no-jquery/no-event-shorthand: [2] + no-jquery/no-extend: [2] + no-jquery/no-fade: [2] + no-jquery/no-filter: [0] + no-jquery/no-find-collection: [0] + no-jquery/no-find-util: [2] + no-jquery/no-find: [0] + no-jquery/no-fx-interval: [2] + no-jquery/no-global-eval: [2] + no-jquery/no-global-selector: [0] + no-jquery/no-grep: [2] + no-jquery/no-has: [2] + no-jquery/no-hold-ready: [2] + no-jquery/no-html: [0] + no-jquery/no-in-array: [2] + no-jquery/no-is-array: [2] + no-jquery/no-is-empty-object: [2] + no-jquery/no-is-function: [2] + no-jquery/no-is-numeric: [2] + no-jquery/no-is-plain-object: [2] + no-jquery/no-is-window: [2] + no-jquery/no-is: [0] + no-jquery/no-jquery-constructor: [0] + no-jquery/no-live: [2] + no-jquery/no-load-shorthand: [2] + no-jquery/no-load: [2] + no-jquery/no-map-collection: [0] + no-jquery/no-map-util: [2] + no-jquery/no-map: [0] + no-jquery/no-merge: [2] + no-jquery/no-node-name: [2] + no-jquery/no-noop: [2] + no-jquery/no-now: [2] + no-jquery/no-on-ready: [2] + no-jquery/no-other-methods: [0] + no-jquery/no-other-utils: [2] + no-jquery/no-param: [2] + no-jquery/no-parent: [0] + no-jquery/no-parents: [0] + no-jquery/no-parse-html-literal: [0] + no-jquery/no-parse-html: [2] + no-jquery/no-parse-json: [2] + no-jquery/no-parse-xml: [2] + no-jquery/no-prop: [0] + no-jquery/no-proxy: [2] + no-jquery/no-ready-shorthand: [2] + no-jquery/no-ready: [2] + no-jquery/no-selector-prop: [2] + no-jquery/no-serialize: [2] + no-jquery/no-size: [2] + no-jquery/no-sizzle: [0] + no-jquery/no-slide: [2] + no-jquery/no-sub: [2] + no-jquery/no-support: [2] + no-jquery/no-text: [0] + no-jquery/no-trigger: [0] + no-jquery/no-trim: [2] + no-jquery/no-type: [2] + no-jquery/no-unique: [2] + no-jquery/no-unload-shorthand: [2] + no-jquery/no-val: [0] + no-jquery/no-visibility: [2] + no-jquery/no-when: [2] + no-jquery/no-wrap: [2] + no-jquery/variable-pattern: [0] + no-label-var: [2] + no-labels: [0] # handled by no-restricted-syntax + no-lone-blocks: [2] + no-lonely-if: [0] + no-loop-func: [0] + no-loss-of-precision: [2] + no-magic-numbers: [0] + no-misleading-character-class: [2] + no-mixed-operators: [0] + no-mixed-spaces-and-tabs: [2] + no-multi-assign: [0] + no-multi-spaces: [2, {ignoreEOLComments: true, exceptions: {Property: true}}] + no-multi-str: [2] + no-negated-condition: [0] + no-nested-ternary: [0] + no-new-func: [2] + no-new-native-nonconstructor: [2] + no-new-object: [2] + no-new-symbol: [2] + no-new-wrappers: [2] + no-new: [0] + no-nonoctal-decimal-escape: [2] + no-obj-calls: [2] + no-octal-escape: [2] + no-octal: [2] + no-param-reassign: [0] + no-plusplus: [0] + no-promise-executor-return: [0] + no-proto: [2] + no-prototype-builtins: [2] + no-redeclare: [2] + no-regex-spaces: [2] + no-restricted-exports: [0] + no-restricted-globals: [2, addEventListener, blur, close, closed, confirm, defaultStatus, defaultstatus, error, event, external, find, focus, frameElement, frames, history, innerHeight, innerWidth, isFinite, isNaN, length, location, locationbar, menubar, moveBy, moveTo, name, onblur, onerror, onfocus, onload, onresize, onunload, open, opener, opera, outerHeight, outerWidth, pageXOffset, pageYOffset, parent, print, removeEventListener, resizeBy, resizeTo, screen, screenLeft, screenTop, screenX, screenY, scroll, scrollbars, scrollBy, scrollTo, scrollX, scrollY, self, status, statusbar, stop, toolbar, top, __dirname, __filename] + no-restricted-imports: [0] + no-restricted-syntax: [2, WithStatement, ForInStatement, LabeledStatement] + no-return-assign: [0] + no-return-await: [0] + no-script-url: [2] + no-self-assign: [2, {props: true}] + no-self-compare: [2] + no-sequences: [2] + no-setter-return: [2] + no-shadow-restricted-names: [2] + no-shadow: [0] + no-sparse-arrays: [2] + no-tabs: [2] + no-template-curly-in-string: [2] + no-ternary: [0] + no-this-before-super: [2] + no-throw-literal: [2] + no-trailing-spaces: [2] + no-undef-init: [2] + no-undef: [2, {typeof: true}] + no-undefined: [0] + no-underscore-dangle: [0] + no-unexpected-multiline: [2] + no-unmodified-loop-condition: [2] + no-unneeded-ternary: [0] + no-unreachable-loop: [2] + no-unreachable: [2] + no-unsafe-finally: [2] + no-unsafe-negation: [2] + no-unused-expressions: [2] + no-unused-labels: [2] + no-unused-private-class-members: [2] + no-unused-vars: [2, {args: all, argsIgnorePattern: ^_, varsIgnorePattern: ^_, caughtErrorsIgnorePattern: ^_, destructuredArrayIgnorePattern: ^_, ignoreRestSiblings: false}] + no-use-before-define: [2, {functions: false, classes: true, variables: true, allowNamedExports: true}] + no-use-extend-native/no-use-extend-native: [2] + no-useless-backreference: [2] + no-useless-call: [2] + no-useless-catch: [2] + no-useless-computed-key: [2] + no-useless-concat: [2] + no-useless-constructor: [2] + no-useless-escape: [2] + no-useless-rename: [2] + no-useless-return: [2] + no-var: [2] + no-void: [2] + no-warning-comments: [0] + no-whitespace-before-property: [2] + no-with: [0] # handled by no-restricted-syntax + nonblock-statement-body-position: [2] + object-curly-newline: [0] + object-curly-spacing: [2, never] + object-shorthand: [2, always] + one-var-declaration-per-line: [0] + one-var: [0] + operator-assignment: [2, always] + operator-linebreak: [2, after] + padded-blocks: [2, never] + padding-line-between-statements: [0] + prefer-arrow-callback: [2, {allowNamedFunctions: true, allowUnboundThis: true}] + prefer-const: [2, {destructuring: all, ignoreReadBeforeAssign: true}] + prefer-destructuring: [0] + prefer-exponentiation-operator: [2] + prefer-named-capture-group: [0] + prefer-numeric-literals: [2] + prefer-object-has-own: [0] + prefer-object-spread: [2] + prefer-promise-reject-errors: [2, {allowEmptyReject: false}] + prefer-regex-literals: [2] + prefer-rest-params: [2] + prefer-spread: [2] + prefer-template: [2] + quote-props: [0] + quotes: [2, single, {avoidEscape: true, allowTemplateLiterals: true}] + radix: [2, as-needed] + regexp/confusing-quantifier: [2] + regexp/control-character-escape: [2] + regexp/hexadecimal-escape: [0] + regexp/letter-case: [0] + regexp/match-any: [2] + regexp/negation: [2] + regexp/no-contradiction-with-assertion: [0] + regexp/no-control-character: [0] + regexp/no-dupe-characters-character-class: [2] + regexp/no-dupe-disjunctions: [2] + regexp/no-empty-alternative: [2] + regexp/no-empty-capturing-group: [2] + regexp/no-empty-character-class: [0] + regexp/no-empty-group: [2] + regexp/no-empty-lookarounds-assertion: [2] + regexp/no-escape-backspace: [2] + regexp/no-extra-lookaround-assertions: [0] + regexp/no-invalid-regexp: [2] + regexp/no-invisible-character: [2] + regexp/no-lazy-ends: [2] + regexp/no-legacy-features: [2] + regexp/no-misleading-capturing-group: [0] + regexp/no-misleading-unicode-character: [0] + regexp/no-missing-g-flag: [2] + regexp/no-non-standard-flag: [2] + regexp/no-obscure-range: [2] + regexp/no-octal: [2] + regexp/no-optional-assertion: [2] + regexp/no-potentially-useless-backreference: [2] + regexp/no-standalone-backslash: [2] + regexp/no-super-linear-backtracking: [0] + regexp/no-super-linear-move: [0] + regexp/no-trivially-nested-assertion: [2] + regexp/no-trivially-nested-quantifier: [2] + regexp/no-unused-capturing-group: [0] + regexp/no-useless-assertions: [2] + regexp/no-useless-backreference: [2] + regexp/no-useless-character-class: [2] + regexp/no-useless-dollar-replacements: [2] + regexp/no-useless-escape: [2] + regexp/no-useless-flag: [2] + regexp/no-useless-lazy: [2] + regexp/no-useless-non-capturing-group: [2] + regexp/no-useless-quantifier: [2] + regexp/no-useless-range: [2] + regexp/no-useless-two-nums-quantifier: [2] + regexp/no-zero-quantifier: [2] + regexp/optimal-lookaround-quantifier: [2] + regexp/optimal-quantifier-concatenation: [0] + regexp/prefer-character-class: [0] + regexp/prefer-d: [0] + regexp/prefer-escape-replacement-dollar-char: [0] + regexp/prefer-lookaround: [0] + regexp/prefer-named-backreference: [0] + regexp/prefer-named-capture-group: [0] + regexp/prefer-named-replacement: [0] + regexp/prefer-plus-quantifier: [2] + regexp/prefer-predefined-assertion: [2] + regexp/prefer-quantifier: [0] + regexp/prefer-question-quantifier: [2] + regexp/prefer-range: [2] + regexp/prefer-regexp-exec: [2] + regexp/prefer-regexp-test: [2] + regexp/prefer-result-array-groups: [0] + regexp/prefer-star-quantifier: [2] + regexp/prefer-unicode-codepoint-escapes: [2] + regexp/prefer-w: [0] + regexp/require-unicode-regexp: [0] + regexp/sort-alternatives: [0] + regexp/sort-character-class-elements: [0] + regexp/sort-flags: [0] + regexp/strict: [2] + regexp/unicode-escape: [0] + regexp/use-ignore-case: [0] + require-atomic-updates: [0] + require-await: [0] + require-unicode-regexp: [0] + require-yield: [2] + rest-spread-spacing: [2, never] + semi-spacing: [2, {before: false, after: true}] + semi-style: [2, last] + semi: [2, always, {omitLastInOneLineBlock: true}] + sonarjs/cognitive-complexity: [0] + sonarjs/elseif-without-else: [0] + sonarjs/max-switch-cases: [0] + sonarjs/no-all-duplicated-branches: [2] + sonarjs/no-collapsible-if: [0] + sonarjs/no-collection-size-mischeck: [2] + sonarjs/no-duplicate-string: [0] + sonarjs/no-duplicated-branches: [0] + sonarjs/no-element-overwrite: [2] + sonarjs/no-empty-collection: [2] + sonarjs/no-extra-arguments: [2] + sonarjs/no-gratuitous-expressions: [2] + sonarjs/no-identical-conditions: [2] + sonarjs/no-identical-expressions: [2] + sonarjs/no-identical-functions: [2, 5] + sonarjs/no-ignored-return: [2] + sonarjs/no-inverted-boolean-check: [2] + sonarjs/no-nested-switch: [0] + sonarjs/no-nested-template-literals: [0] + sonarjs/no-one-iteration-loop: [2] + sonarjs/no-redundant-boolean: [2] + sonarjs/no-redundant-jump: [2] + sonarjs/no-same-line-conditional: [2] + sonarjs/no-small-switch: [0] + sonarjs/no-unused-collection: [2] + sonarjs/no-use-of-empty-return-value: [2] + sonarjs/no-useless-catch: [2] + sonarjs/non-existent-operator: [2] + sonarjs/prefer-immediate-return: [0] + sonarjs/prefer-object-literal: [0] + sonarjs/prefer-single-boolean-return: [0] + sonarjs/prefer-while: [2] + sort-imports: [0] + sort-keys: [0] + sort-vars: [0] + space-before-blocks: [2, always] + space-in-parens: [2, never] + space-infix-ops: [2] + space-unary-ops: [2] + spaced-comment: [2, always] + strict: [0] + switch-colon-spacing: [2] + symbol-description: [2] + template-curly-spacing: [2, never] + template-tag-spacing: [2, never] + unicode-bom: [2, never] + unicorn/better-regex: [0] + unicorn/catch-error-name: [0] + unicorn/consistent-destructuring: [2] + unicorn/consistent-function-scoping: [2] + unicorn/custom-error-definition: [0] + unicorn/empty-brace-spaces: [2] + unicorn/error-message: [0] + unicorn/escape-case: [0] + unicorn/expiring-todo-comments: [0] + unicorn/explicit-length-check: [0] + unicorn/filename-case: [0] + unicorn/import-index: [0] + unicorn/import-style: [0] + unicorn/new-for-builtins: [2] + unicorn/no-abusive-eslint-disable: [0] + unicorn/no-array-callback-reference: [0] + unicorn/no-array-for-each: [2] + unicorn/no-array-method-this-argument: [2] + unicorn/no-array-push-push: [2] + unicorn/no-array-reduce: [2] + unicorn/no-await-expression-member: [0] + unicorn/no-console-spaces: [0] + unicorn/no-document-cookie: [2] + unicorn/no-empty-file: [2] + unicorn/no-for-loop: [0] + unicorn/no-hex-escape: [0] + unicorn/no-instanceof-array: [0] + unicorn/no-invalid-remove-event-listener: [2] + unicorn/no-keyword-prefix: [0] + unicorn/no-lonely-if: [2] + unicorn/no-negated-condition: [0] + unicorn/no-nested-ternary: [0] + unicorn/no-new-array: [0] + unicorn/no-new-buffer: [0] + unicorn/no-null: [0] + unicorn/no-object-as-default-parameter: [0] + unicorn/no-process-exit: [0] + unicorn/no-static-only-class: [2] + unicorn/no-thenable: [2] + unicorn/no-this-assignment: [2] + unicorn/no-typeof-undefined: [2] + unicorn/no-unnecessary-await: [2] + unicorn/no-unreadable-array-destructuring: [0] + unicorn/no-unreadable-iife: [2] + unicorn/no-unsafe-regex: [0] + unicorn/no-unused-properties: [2] + unicorn/no-useless-fallback-in-spread: [2] + unicorn/no-useless-length-check: [2] + unicorn/no-useless-promise-resolve-reject: [2] + unicorn/no-useless-spread: [2] + unicorn/no-useless-switch-case: [2] + unicorn/no-useless-undefined: [0] + unicorn/no-zero-fractions: [2] + unicorn/number-literal-case: [0] + unicorn/numeric-separators-style: [0] + unicorn/prefer-add-event-listener: [2] + unicorn/prefer-array-find: [2] + unicorn/prefer-array-flat-map: [2] + unicorn/prefer-array-flat: [2] + unicorn/prefer-array-index-of: [2] + unicorn/prefer-array-some: [2] + unicorn/prefer-at: [0] + unicorn/prefer-blob-reading-methods: [2] + unicorn/prefer-code-point: [0] + unicorn/prefer-date-now: [2] + unicorn/prefer-default-parameters: [0] + unicorn/prefer-dom-node-append: [2] + unicorn/prefer-dom-node-dataset: [0] + unicorn/prefer-dom-node-remove: [2] + unicorn/prefer-dom-node-text-content: [2] + unicorn/prefer-event-target: [2] + unicorn/prefer-export-from: [2, {ignoreUsedVariables: true}] + unicorn/prefer-includes: [2] + unicorn/prefer-json-parse-buffer: [0] + unicorn/prefer-keyboard-event-key: [2] + unicorn/prefer-logical-operator-over-ternary: [2] + unicorn/prefer-math-trunc: [2] + unicorn/prefer-modern-dom-apis: [0] + unicorn/prefer-modern-math-apis: [2] + unicorn/prefer-module: [2] + unicorn/prefer-native-coercion-functions: [2] + unicorn/prefer-negative-index: [2] + unicorn/prefer-node-protocol: [2] + unicorn/prefer-number-properties: [0] + unicorn/prefer-object-from-entries: [2] + unicorn/prefer-object-has-own: [0] + unicorn/prefer-optional-catch-binding: [2] + unicorn/prefer-prototype-methods: [0] + unicorn/prefer-query-selector: [0] + unicorn/prefer-reflect-apply: [0] + unicorn/prefer-regexp-test: [2] + unicorn/prefer-set-has: [0] + unicorn/prefer-set-size: [2] + unicorn/prefer-spread: [0] + unicorn/prefer-string-replace-all: [0] + unicorn/prefer-string-slice: [0] + unicorn/prefer-string-starts-ends-with: [2] + unicorn/prefer-string-trim-start-end: [2] + unicorn/prefer-switch: [0] + unicorn/prefer-ternary: [0] + unicorn/prefer-text-content: [2] + unicorn/prefer-top-level-await: [0] + unicorn/prefer-type-error: [0] + unicorn/prevent-abbreviations: [0] + unicorn/relative-url-style: [2] + unicorn/require-array-join-separator: [2] + unicorn/require-number-to-fixed-digits-argument: [2] + unicorn/require-post-message-target-origin: [0] + unicorn/string-content: [0] + unicorn/switch-case-braces: [0] + unicorn/template-indent: [2] + unicorn/text-encoding-identifier-case: [0] + unicorn/throw-new-error: [2] + use-isnan: [2] + valid-typeof: [2, {requireStringLiterals: true}] + vars-on-top: [0] + wc/attach-shadow-constructor: [2] + wc/guard-super-call: [2] + wc/no-closed-shadow-root: [2] + wc/no-constructor-attributes: [2] + wc/no-constructor-params: [2] + wc/no-invalid-element-name: [0] # covered by custom-elements/valid-tag-name + wc/no-self-class: [2] + wc/no-typos: [2] + wc/require-listener-teardown: [2] + wrap-iife: [2, inside] + wrap-regex: [0] + yield-star-spacing: [2, after] + yoda: [2, never] diff --git a/.gitattributes b/.gitattributes index e218bbe25d..7e7a139c9a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,10 +1,10 @@ * text=auto eol=lf *.tmpl linguist-language=Handlebars -*.pb.go linguist-generated /assets/*.json linguist-generated -/public/assets/img/svg/*.svg linguist-generated +/public/img/svg/*.svg linguist-generated /templates/swagger/v1_json.tmpl linguist-generated -/options/fileicon/** linguist-generated /vendor/** -text -eol linguist-vendored +/web_src/fomantic/build/** linguist-generated +/web_src/fomantic/_site/globals/site.variables linguist-language=Less /web_src/js/vendor/** -text -eol linguist-vendored Dockerfile.* linguist-language=Dockerfile diff --git a/.gitea/issue_template.md b/.gitea/issue_template.md index cf173a67ca..95b97e4de5 100644 --- a/.gitea/issue_template.md +++ b/.gitea/issue_template.md @@ -3,9 +3,9 @@ @@ -21,12 +21,12 @@ - [ ] MySQL - [ ] MSSQL - [ ] SQLite -- Can you reproduce the bug at https://demo.gitea.com: +- Can you reproduce the bug at https://try.gitea.io: - [ ] Yes (provide example URL) - [ ] No - Log gist: - + ## Description diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 1447a6ea32..624a2d97db 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1,2 @@ open_collective: gitea +custom: https://www.bountysource.com/teams/gitea diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml index 4dbe1a4c56..9dacad0d5f 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yaml +++ b/.github/ISSUE_TEMPLATE/bug-report.yaml @@ -1,91 +1,94 @@ name: Bug Report description: Found something you weren't expecting? Report it here! -labels: ["type/bug"] +labels: kind/bug body: - - type: markdown - attributes: - value: | - NOTE: If your issue is a security concern, please send an email to security@gitea.io instead of opening a public issue. - - type: markdown - attributes: - value: | - 1. Please speak English, this is the language all maintainers can speak and write. - 2. Please ask questions or configuration/deploy problems on our Discord - server (https://discord.gg/gitea) or forum (https://forum.gitea.com). - 3. Make sure you are using the latest release and - take a moment to check that your issue hasn't been reported before. - 4. Make sure it's not mentioned in the FAQ (https://docs.gitea.com/help/faq) - 5. It's really important to provide pertinent details and logs (https://docs.gitea.com/help/support), - incomplete details will be handled as an invalid report. - - type: textarea - id: description - attributes: - label: Description - description: | - Please provide a description of your issue here, with a URL if you were able to reproduce the issue (see below) - If you are using a proxy or a CDN (e.g. Cloudflare) in front of Gitea, please disable the proxy/CDN fully and access Gitea directly to confirm the issue still persists without those services. - - type: input - id: gitea-ver - attributes: - label: Gitea Version - description: Gitea version (or commit reference) of your instance - validations: - required: true - - type: dropdown - id: can-reproduce - attributes: - label: Can you reproduce the bug on the Gitea demo site? - description: | - If so, please provide a URL in the Description field - URL of Gitea demo: https://demo.gitea.com - options: - - "Yes" - - "No" - validations: - required: true - - type: markdown - attributes: - value: | - It's really important to provide pertinent logs - Please read https://docs.gitea.com/administration/logging-config#collecting-logs-for-help - In addition, if your problem relates to git commands set `RUN_MODE=dev` at the top of app.ini - - type: input - id: logs - attributes: - label: Log Gist - description: Please provide a gist URL of your logs, with any sensitive information (e.g. API keys) removed/hidden - - type: textarea - id: screenshots - attributes: - label: Screenshots - description: If this issue involves the Web Interface, please provide one or more screenshots - - type: input - id: git-ver - attributes: - label: Git Version - description: The version of git running on the server - - type: input - id: os-ver - attributes: - label: Operating System - description: The operating system you are using to run Gitea - - type: textarea - id: run-info - attributes: - label: How are you running Gitea? - description: | - Please include information on whether you built Gitea yourself, used one of our downloads, are using https://demo.gitea.com or are using some other package - Please also tell us how you are running Gitea, e.g. if it is being run from docker, a command-line, systemd etc. - If you are using a package or systemd tell us what distribution you are using - validations: - required: true - - type: dropdown - id: database - attributes: - label: Database - description: What database system are you running? - options: - - PostgreSQL - - MySQL/MariaDB - - MSSQL - - SQLite +- type: markdown + attributes: + value: | + NOTE: If your issue is a security concern, please send an email to security@gitea.io instead of opening a public issue. +- type: markdown + attributes: + value: | + 1. Please speak English, this is the language all maintainers can speak and write. + 2. Please ask questions or configuration/deploy problems on our Discord + server (https://discord.gg/gitea) or forum (https://discourse.gitea.io). + 3. Make sure you are using the latest release and + take a moment to check that your issue hasn't been reported before. + 4. Make sure it's not mentioned in the FAQ (https://docs.gitea.io/en-us/faq) + 5. Please give all relevant information below for bug reports, because + incomplete details will be handled as an invalid report. + 6. In particular it's really important to provide pertinent logs. You must give us DEBUG level logs. + Please read https://docs.gitea.io/en-us/logging-configuration/#debugging-problems + In addition, if your problem relates to git commands set `RUN_MODE=dev` at the top of app.ini +- type: textarea + id: description + attributes: + label: Description + description: | + Please provide a description of your issue here, with a URL if you were able to reproduce the issue (see below) + If you are using a proxy or a CDN (e.g. Cloudflare) in front of Gitea, please disable the proxy/CDN fully and access Gitea directly to confirm the issue still persists without those services. +- type: input + id: gitea-ver + attributes: + label: Gitea Version + description: Gitea version (or commit reference) of your instance + validations: + required: true +- type: dropdown + id: can-reproduce + attributes: + label: Can you reproduce the bug on the Gitea demo site? + description: | + If so, please provide a URL in the Description field + URL of Gitea demo: https://try.gitea.io + options: + - "Yes" + - "No" + validations: + required: true +- type: markdown + attributes: + value: | + It's really important to provide pertinent logs + Please read https://docs.gitea.io/en-us/logging-configuration/#debugging-problems + In addition, if your problem relates to git commands set `RUN_MODE=dev` at the top of app.ini +- type: input + id: logs + attributes: + label: Log Gist + description: Please provide a gist URL of your logs, with any sensitive information (e.g. API keys) removed/hidden +- type: textarea + id: screenshots + attributes: + label: Screenshots + description: If this issue involves the Web Interface, please provide one or more screenshots +- type: input + id: git-ver + attributes: + label: Git Version + description: The version of git running on the server +- type: input + id: os-ver + attributes: + label: Operating System + description: The operating system you are using to run Gitea +- type: textarea + id: run-info + attributes: + label: How are you running Gitea? + description: | + Please include information on whether you built Gitea yourself, used one of our downloads, are using https://try.gitea.io or are using some other package + Please also tell us how you are running Gitea, e.g. if it is being run from docker, a command-line, systemd etc. + If you are using a package or systemd tell us what distribution you are using + validations: + required: true +- type: dropdown + id: database + attributes: + label: Database + description: What database system are you running? + options: + - PostgreSQL + - MySQL + - MSSQL + - SQLite diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index d409f18cd9..9bb5bb8e88 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -7,11 +7,11 @@ contact_links: url: https://discord.gg/Gitea about: Please ask questions and discuss configuration or deployment problems here. - name: Discourse Forum - url: https://forum.gitea.com - about: Questions and configuration or deployment problems can also be discussed on our forum. + url: https://discourse.gitea.io + about: Questions and configuration or deployment problems can also be discussed on our forum. - name: Frequently Asked Questions - url: https://docs.gitea.com/help/faq + url: https://docs.gitea.io/en-us/faq about: Please check if your question isn't mentioned here. - name: Crowdin Translations - url: https://translate.gitea.com + url: https://crowdin.com/project/gitea about: Translations are managed here. diff --git a/.github/ISSUE_TEMPLATE/feature-request.yaml b/.github/ISSUE_TEMPLATE/feature-request.yaml index d5c480d202..37f57c8f23 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.yaml +++ b/.github/ISSUE_TEMPLATE/feature-request.yaml @@ -1,24 +1,24 @@ name: Feature Request description: Got an idea for a feature that Gitea doesn't have currently? Submit your idea here! -labels: ["type/proposal"] +labels: ["kind/feature", "kind/proposal"] body: - - type: markdown - attributes: - value: | - 1. Please speak English, this is the language all maintainers can speak and write. - 2. Please ask questions or configuration/deploy problems on our Discord - server (https://discord.gg/gitea) or forum (https://forum.gitea.com). - 3. Please take a moment to check that your feature hasn't already been suggested. - - type: textarea - id: description - attributes: - label: Feature Description - placeholder: | - I think it would be great if Gitea had... - validations: - required: true - - type: textarea - id: screenshots - attributes: - label: Screenshots - description: If you can, provide screenshots of an implementation on another site e.g. GitHub +- type: markdown + attributes: + value: | + 1. Please speak English, this is the language all maintainers can speak and write. + 2. Please ask questions or configuration/deploy problems on our Discord + server (https://discord.gg/gitea) or forum (https://discourse.gitea.io). + 3. Please take a moment to check that your feature hasn't already been suggested. +- type: textarea + id: description + attributes: + label: Feature Description + placeholder: | + I think it would be great if Gitea had... + validations: + required: true +- type: textarea + id: screenshots + attributes: + label: Screenshots + description: If you can, provide screenshots of an implementation on another site e.g. GitHub diff --git a/.github/ISSUE_TEMPLATE/ui.bug-report.yaml b/.github/ISSUE_TEMPLATE/ui.bug-report.yaml index 3ad5dbaf54..80db52d7f1 100644 --- a/.github/ISSUE_TEMPLATE/ui.bug-report.yaml +++ b/.github/ISSUE_TEMPLATE/ui.bug-report.yaml @@ -1,66 +1,66 @@ name: Web Interface Bug Report description: Something doesn't look quite as it should? Report it here! -labels: ["type/bug", "topic/ui"] +labels: ["kind/bug", "kind/ui"] body: - - type: markdown - attributes: - value: | - NOTE: If your issue is a security concern, please send an email to security@gitea.io instead of opening a public issue. - - type: markdown - attributes: - value: | - 1. Please speak English, this is the language all maintainers can speak and write. - 2. Please ask questions or configuration/deploy problems on our Discord - server (https://discord.gg/gitea) or forum (https://forum.gitea.com). - 3. Please take a moment to check that your issue doesn't already exist. - 4. Make sure it's not mentioned in the FAQ (https://docs.gitea.com/help/faq) - 5. Please give all relevant information below for bug reports, because - incomplete details will be handled as an invalid report. - 6. In particular it's really important to provide pertinent logs. If you are certain that this is a javascript - error, show us the javascript console. If the error appears to relate to Gitea the server you must also give us - DEBUG level logs. (See https://docs.gitea.com/administration/logging-config#collecting-logs-for-help) - - type: textarea - id: description - attributes: - label: Description - description: | - Please provide a description of your issue here, with a URL if you were able to reproduce the issue (see below) - If using a proxy or a CDN (e.g. CloudFlare) in front of gitea, please disable the proxy/CDN fully and connect to gitea directly to confirm the issue still persists without those services. - - type: textarea - id: screenshots - attributes: - label: Screenshots - description: Please provide at least 1 screenshot showing the issue. - validations: - required: true - - type: input - id: gitea-ver - attributes: - label: Gitea Version - description: Gitea version (or commit reference) your instance is running - validations: - required: true - - type: dropdown - id: can-reproduce - attributes: - label: Can you reproduce the bug on the Gitea demo site? - description: | - If so, please provide a URL in the Description field - URL of Gitea demo: https://demo.gitea.com - options: - - "Yes" - - "No" - validations: - required: true - - type: input - id: os-ver - attributes: - label: Operating System - description: The operating system you are using to access Gitea - - type: input - id: browser-ver - attributes: - label: Browser Version - description: The browser and version that you are using to access Gitea - validations: - required: true +- type: markdown + attributes: + value: | + NOTE: If your issue is a security concern, please send an email to security@gitea.io instead of opening a public issue. +- type: markdown + attributes: + value: | + 1. Please speak English, this is the language all maintainers can speak and write. + 2. Please ask questions or configuration/deploy problems on our Discord + server (https://discord.gg/gitea) or forum (https://discourse.gitea.io). + 3. Please take a moment to check that your issue doesn't already exist. + 4. Make sure it's not mentioned in the FAQ (https://docs.gitea.io/en-us/faq) + 5. Please give all relevant information below for bug reports, because + incomplete details will be handled as an invalid report. + 6. In particular it's really important to provide pertinent logs. If you are certain that this is a javascript + error, show us the javascript console. If the error appears to relate to Gitea the server you must also give us + DEBUG level logs. (See https://docs.gitea.io/en-us/logging-configuration/#debugging-problems) +- type: textarea + id: description + attributes: + label: Description + description: | + Please provide a description of your issue here, with a URL if you were able to reproduce the issue (see below) + If using a proxy or a CDN (e.g. CloudFlare) in front of gitea, please disable the proxy/CDN fully and connect to gitea directly to confirm the issue still persists without those services. +- type: textarea + id: screenshots + attributes: + label: Screenshots + description: Please provide at least 1 screenshot showing the issue. + validations: + required: true +- type: input + id: gitea-ver + attributes: + label: Gitea Version + description: Gitea version (or commit reference) your instance is running + validations: + required: true +- type: dropdown + id: can-reproduce + attributes: + label: Can you reproduce the bug on the Gitea demo site? + description: | + If so, please provide a URL in the Description field + URL of Gitea demo: https://try.gitea.io + options: + - "Yes" + - "No" + validations: + required: true +- type: input + id: os-ver + attributes: + label: Operating System + description: The operating system you are using to access Gitea +- type: input + id: browser-ver + attributes: + label: Browser Version + description: The browser and version that you are using to access Gitea + validations: + required: true diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml deleted file mode 100644 index 2adea23aa4..0000000000 --- a/.github/actionlint.yaml +++ /dev/null @@ -1,7 +0,0 @@ -self-hosted-runner: - labels: - - actuated-4cpu-8gb - - actuated-4cpu-16gb - - nscloud - - namespace-profile-gitea-release-docker - - namespace-profile-gitea-release-binary diff --git a/.github/labeler.yml b/.github/labeler.yml deleted file mode 100644 index 0af43cd029..0000000000 --- a/.github/labeler.yml +++ /dev/null @@ -1,83 +0,0 @@ -modifies/docs: - - changed-files: - - any-glob-to-any-file: - - "**/*.md" - - "docs/**" - -modifies/templates: - - changed-files: - - all-globs-to-any-file: - - "templates/**" - - "!templates/swagger/v1_json.tmpl" - -modifies/api: - - changed-files: - - any-glob-to-any-file: - - "routers/api/**" - - "templates/swagger/v1_json.tmpl" - -modifies/cli: - - changed-files: - - any-glob-to-any-file: - - "cmd/**" - -modifies/translation: - - changed-files: - - any-glob-to-any-file: - - "options/locale/*.ini" - -modifies/migrations: - - changed-files: - - any-glob-to-any-file: - - "models/migrations/**" - -modifies/internal: - - changed-files: - - any-glob-to-any-file: - - ".air.toml" - - "Makefile" - - "Dockerfile" - - "Dockerfile.rootless" - - ".dockerignore" - - "docker/**" - - ".editorconfig" - - ".eslintrc.cjs" - - ".golangci.yml" - - ".gitpod.yml" - - ".markdownlint.yaml" - - ".spectral.yaml" - - "stylelint.config.js" - - ".yamllint.yaml" - - ".github/**" - - ".gitea/**" - - ".devcontainer/**" - - "build.go" - - "build/**" - - "contrib/**" - -modifies/dependencies: - - changed-files: - - any-glob-to-any-file: - - "package.json" - - "package-lock.json" - - "pyproject.toml" - - "poetry.lock" - - "go.mod" - - "go.sum" - -modifies/go: - - changed-files: - - any-glob-to-any-file: - - "**/*.go" - -modifies/frontend: - - changed-files: - - any-glob-to-any-file: - - "*.js" - - "*.ts" - - "web_src/**" - -docs-update-needed: - - changed-files: - - any-glob-to-any-file: - - "custom/conf/app.example.ini" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index b7594a1ba7..b752abb794 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,10 +1,9 @@ - + Please check the following: 1. Make sure you are targeting the `main` branch, pull requests on release branches are only allowed for backports. 2. Make sure you have read contributing guidelines: https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md . -3. For documentations contribution, please go to https://gitea.com/gitea/docs -4. Describe what your pull request does and which issue you're targeting (if any). -5. It is recommended to enable "Allow edits by maintainers", so maintainers can help more easily. -6. Your input here will be included in the commit message when this PR has been merged. If you don't want some content to be included, please separate them with a line like `---`. -7. Delete all these tips before posting. +3. Describe what your pull request does and which issue you're targeting (if any). +4. It is recommended to enable "Allow edits by maintainers", so maintainers can help more easily. +5. Your input here will be included in the commit message when this PR has been merged. If you don't want some content to be included, please separate them with a line like `---`. +6. Delete all these tips before posting. diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 0000000000..6a9f341cbf --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,54 @@ +# Configuration for probot-stale - https://github.com/probot/stale + +# Number of days of inactivity before an Issue or Pull Request becomes stale +daysUntilStale: 60 + +# Number of days of inactivity before an Issue or Pull Request with the stale label is closed. +# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. +daysUntilClose: 14 + +# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable +exemptLabels: + - status/blocked + - kind/security + - lgtm/done + - reviewed/confirmed + - priority/critical + - kind/proposal + +# Set to true to ignore issues in a project (defaults to false) +exemptProjects: false + +# Set to true to ignore issues in a milestone (defaults to false) +exemptMilestones: false + +# Label to use when marking as stale +staleLabel: stale + +# Comment to post when marking as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had recent activity. + I am here to help clear issues left open even if solved or waiting for more insight. + This issue will be closed if no further activity occurs during the next 2 weeks. + If the issue is still valid just add a comment to keep it alive. + Thank you for your contributions. + +# Comment to post when closing a stale Issue or Pull Request. +closeComment: > + This issue has been automatically closed because of inactivity. + You can re-open it if needed. + +# Limit the number of actions per hour, from 1-30. Default is 30 +limitPerRun: 1 + +# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls': +pulls: + daysUntilStale: 60 + daysUntilClose: 60 + markComment: > + This pull request has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs during the next 2 months. Thank you + for your contributions. + closeComment: > + This pull request has been automatically closed because of inactivity. + You can re-open it if needed. diff --git a/.github/workflows/cron-licenses.yml b/.github/workflows/cron-licenses.yml index c34066d318..4fa4016168 100644 --- a/.github/workflows/cron-licenses.yml +++ b/.github/workflows/cron-licenses.yml @@ -1,8 +1,8 @@ name: cron-licenses on: - # schedule: - # - cron: "7 0 * * 1" # every Monday at 00:07 UTC + schedule: + - cron: "7 0 * * 1" # every Monday at 00:07 UTC workflow_dispatch: jobs: @@ -10,15 +10,14 @@ jobs: runs-on: ubuntu-latest if: github.repository == 'go-gitea/gitea' steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v3 with: - go-version-file: go.mod - check-latest: true - - run: make generate-gitignore + go-version: ">=1.20.1" + - run: make generate-license generate-gitignore timeout-minutes: 40 - name: push translations to repo - uses: appleboy/git-push-action@v0.0.3 + uses: appleboy/git-push-action@v0.0.2 with: author_email: "teabot@gitea.io" author_name: GiteaBot diff --git a/.github/workflows/cron-lock.yml b/.github/workflows/cron-lock.yml new file mode 100644 index 0000000000..935f926cce --- /dev/null +++ b/.github/workflows/cron-lock.yml @@ -0,0 +1,22 @@ +name: cron-lock + +on: + schedule: + - cron: "0 0 * * *" # every day at 00:00 UTC + workflow_dispatch: + +permissions: + issues: write + pull-requests: write + +concurrency: + group: lock + +jobs: + action: + runs-on: ubuntu-latest + if: github.repository == 'go-gitea/gitea' + steps: + - uses: dessant/lock-threads@v4 + with: + issue-inactive-days: 45 diff --git a/.github/workflows/cron-translations.yml b/.github/workflows/cron-translations.yml index f1b51debf1..3f147c685d 100644 --- a/.github/workflows/cron-translations.yml +++ b/.github/workflows/cron-translations.yml @@ -10,24 +10,19 @@ jobs: runs-on: ubuntu-latest if: github.repository == 'go-gitea/gitea' steps: - - uses: actions/checkout@v4 - - uses: crowdin/github-action@v1 - with: - upload_sources: true - upload_translations: false - download_sources: false - download_translations: true - push_translations: false - push_sources: false - create_pull_request: false - config: crowdin.yml + - uses: actions/checkout@v3 + - name: download from crowdin + uses: docker://jonasfranz/crowdin env: - CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_KEY: ${{ secrets.CROWDIN_KEY }} + PLUGIN_DOWNLOAD: true + PLUGIN_EXPORT_DIR: options/locale/ + PLUGIN_IGNORE_BRANCH: true + PLUGIN_PROJECT_IDENTIFIER: gitea - name: update locales run: ./build/update-locales.sh - name: push translations to repo - uses: appleboy/git-push-action@v0.0.3 + uses: appleboy/git-push-action@v0.0.2 with: author_email: "teabot@gitea.io" author_name: GiteaBot @@ -36,3 +31,19 @@ jobs: commit_message: "[skip ci] Updated translations via Crowdin" remote: "git@github.com:go-gitea/gitea.git" ssh_key: ${{ secrets.DEPLOY_KEY }} + crowdin-push: + runs-on: ubuntu-latest + if: github.repository == 'go-gitea/gitea' + steps: + - uses: actions/checkout@v3 + - name: push translations to crowdin + uses: docker://jonasfranz/crowdin + env: + CROWDIN_KEY: ${{ secrets.CROWDIN_KEY }} + PLUGIN_UPLOAD: true + PLUGIN_EXPORT_DIR: options/locale/ + PLUGIN_IGNORE_BRANCH: true + PLUGIN_PROJECT_IDENTIFIER: gitea + PLUGIN_FILES: | + locale_en-US.ini: options/locale/locale_en-US.ini + PLUGIN_BRANCH: main diff --git a/.github/workflows/files-changed.yml b/.github/workflows/files-changed.yml index be27537924..9a9c54720b 100644 --- a/.github/workflows/files-changed.yml +++ b/.github/workflows/files-changed.yml @@ -4,98 +4,50 @@ on: workflow_call: outputs: backend: + description: "whether backend files changed" value: ${{ jobs.detect.outputs.backend }} frontend: + description: "whether frontend files changed" value: ${{ jobs.detect.outputs.frontend }} docs: + description: "whether docs files changed" value: ${{ jobs.detect.outputs.docs }} actions: + description: "whether actions files changed" value: ${{ jobs.detect.outputs.actions }} - templates: - value: ${{ jobs.detect.outputs.templates }} - docker: - value: ${{ jobs.detect.outputs.docker }} - swagger: - value: ${{ jobs.detect.outputs.swagger }} - yaml: - value: ${{ jobs.detect.outputs.yaml }} jobs: detect: + name: detect which files changed runs-on: ubuntu-latest timeout-minutes: 3 + # Map a step output to a job output outputs: backend: ${{ steps.changes.outputs.backend }} frontend: ${{ steps.changes.outputs.frontend }} docs: ${{ steps.changes.outputs.docs }} actions: ${{ steps.changes.outputs.actions }} - templates: ${{ steps.changes.outputs.templates }} - docker: ${{ steps.changes.outputs.docker }} - swagger: ${{ steps.changes.outputs.swagger }} - yaml: ${{ steps.changes.outputs.yaml }} steps: - - uses: actions/checkout@v4 - - uses: dorny/paths-filter@v3 + - uses: actions/checkout@v3 + - uses: dorny/paths-filter@v2 id: changes with: filters: | backend: - "**/*.go" - - "templates/**/*.tmpl" - - "assets/emoji.json" + - "**/*.tmpl" - "go.mod" - "go.sum" - - "Makefile" - - ".golangci.yml" - - ".editorconfig" - - "options/locale/locale_en-US.ini" frontend: - - "*.js" - - "*.ts" + - "**/*.js" - "web_src/**" - - "tools/*.js" - - "tools/*.ts" - - "assets/emoji.json" - "package.json" - "package-lock.json" - - "Makefile" - - ".eslintrc.cjs" - - ".npmrc" docs: - "**/*.md" - - ".markdownlint.yaml" - - "package.json" - - "package-lock.json" + - "docs/**" actions: - ".github/workflows/*" - - "Makefile" - - templates: - - "tools/lint-templates-*.js" - - "templates/**/*.tmpl" - - "pyproject.toml" - - "poetry.lock" - - docker: - - "Dockerfile" - - "Dockerfile.rootless" - - "docker/**" - - "Makefile" - - swagger: - - "templates/swagger/v1_json.tmpl" - - "templates/swagger/v1_input.json" - - "Makefile" - - "package.json" - - "package-lock.json" - - ".spectral.yaml" - - yaml: - - "**/*.yml" - - "**/*.yaml" - - ".yamllint.yaml" - - "pyproject.toml" - - "poetry.lock" diff --git a/.github/workflows/pull-compliance.yml b/.github/workflows/pull-compliance.yml index f6720bf2f6..daee522c27 100644 --- a/.github/workflows/pull-compliance.yml +++ b/.github/workflows/pull-compliance.yml @@ -16,86 +16,28 @@ jobs: needs: files-changed runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod + go-version: ">=1.20" check-latest: true - run: make deps-backend deps-tools - run: make lint-backend env: TAGS: bindata sqlite sqlite_unlock_notify - lint-templates: - if: needs.files-changed.outputs.templates == 'true' - needs: files-changed - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - uses: actions/setup-node@v4 - with: - node-version: 24 - cache: npm - cache-dependency-path: package-lock.json - - run: pip install poetry - - run: make deps-py - - run: make deps-frontend - - run: make lint-templates - - lint-yaml: - if: needs.files-changed.outputs.yaml == 'true' - needs: files-changed - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - run: pip install poetry - - run: make deps-py - - run: make lint-yaml - - lint-swagger: - if: needs.files-changed.outputs.swagger == 'true' - needs: files-changed - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 24 - cache: npm - cache-dependency-path: package-lock.json - - run: make deps-frontend - - run: make lint-swagger - - lint-spell: - if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true' || needs.files-changed.outputs.docs == 'true' || needs.files-changed.outputs.templates == 'true' - needs: files-changed - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - run: make lint-spell - lint-go-windows: if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' needs: files-changed runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod + go-version: ">=1.20" check-latest: true - run: make deps-backend deps-tools - - run: make lint-go-windows lint-go-gitea-vet + - run: make lint-go-windows lint-go-vet env: TAGS: bindata sqlite sqlite_unlock_notify GOOS: windows @@ -106,10 +48,10 @@ jobs: needs: files-changed runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod + go-version: ">=1.20" check-latest: true - run: make deps-backend deps-tools - run: make lint-go @@ -121,10 +63,10 @@ jobs: needs: files-changed runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod + go-version: ">=1.20" check-latest: true - run: make deps-backend deps-tools - run: make --always-make checks-backend # ensure the "go-licenses" make target runs @@ -134,16 +76,13 @@ jobs: needs: files-changed runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: - node-version: 24 - cache: npm - cache-dependency-path: package-lock.json + node-version: 20 - run: make deps-frontend - run: make lint-frontend - run: make checks-frontend - - run: make test-frontend - run: make frontend backend: @@ -151,14 +90,14 @@ jobs: needs: files-changed runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod + go-version: ">=1.20" check-latest: true # no frontend build here as backend should be able to build # even without any frontend files - - run: make deps-backend + - run: make deps-backend deps-tools - run: go build -o gitea_no_gcc # test if build succeeds without the sqlite tag - name: build-backend-arm64 run: make backend # test cross compile @@ -183,23 +122,19 @@ jobs: needs: files-changed runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: - node-version: 24 - cache: npm - cache-dependency-path: package-lock.json + node-version: 20 - run: make deps-frontend - run: make lint-md + - run: make docs # test if build could succeed actions: if: needs.files-changed.outputs.actions == 'true' || needs.files-changed.outputs.actions == 'true' needs: files-changed runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 - run: make lint-actions diff --git a/.github/workflows/pull-db-tests.yml b/.github/workflows/pull-db-tests.yml index 55c2d2bf5e..3b9768a74b 100644 --- a/.github/workflows/pull-db-tests.yml +++ b/.github/workflows/pull-db-tests.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest services: pgsql: - image: postgres:14 + image: postgres:15 env: POSTGRES_DB: test POSTGRES_PASSWORD: postgres @@ -31,28 +31,24 @@ jobs: minio: # as github actions doesn't support "entrypoint", we need to use a non-official image # that has a custom entrypoint set to "minio server /data" - image: bitnami/minio:2023.8.31 + image: bitnami/minio:2021.3.17 env: - MINIO_ROOT_USER: 123456 - MINIO_ROOT_PASSWORD: 12345678 + MINIO_ACCESS_KEY: 123456 + MINIO_SECRET_KEY: 12345678 ports: - "9000:9000" steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod - check-latest: true + go-version: ">=1.20.0" - name: Add hosts to /etc/hosts run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 pgsql ldap minio" | sudo tee -a /etc/hosts' - run: make deps-backend - run: make backend env: TAGS: bindata - - name: run migration tests - run: make test-pgsql-migration - - name: run tests - run: make test-pgsql + - run: make test-pgsql-migration test-pgsql timeout-minutes: 50 env: TAGS: bindata gogit @@ -66,19 +62,15 @@ jobs: needs: files-changed runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod - check-latest: true + go-version: ">=1.20.0" - run: make deps-backend - run: make backend env: TAGS: bindata gogit sqlite sqlite_unlock_notify - - name: run migration tests - run: make test-sqlite-migration - - name: run tests - run: make test-sqlite + - run: make test-sqlite-migration test-sqlite timeout-minutes: 50 env: TAGS: bindata gogit sqlite sqlite_unlock_notify @@ -91,18 +83,26 @@ jobs: needs: files-changed runs-on: ubuntu-latest services: + mysql: + image: mysql:5.7 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: test + ports: + - "3306:3306" elasticsearch: image: elasticsearch:7.5.0 env: discovery.type: single-node ports: - "9200:9200" - meilisearch: - image: getmeili/meilisearch:v1 - env: - MEILI_ENV: development # disable auth + smtpimap: + image: tabascoterrier/docker-imap-devel:latest ports: - - "7700:7700" + - "25:25" + - "143:143" + - "587:587" + - "993:993" redis: image: redis options: >- # wait until redis has started @@ -119,18 +119,13 @@ jobs: MINIO_SECRET_KEY: 12345678 ports: - "9000:9000" - devstoreaccount1.azurite.local: # https://github.com/Azure/Azurite/issues/1583 - image: mcr.microsoft.com/azure-storage/azurite:latest - ports: - - 10000:10000 steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod - check-latest: true + go-version: ">=1.20.0" - name: Add hosts to /etc/hosts - run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 minio devstoreaccount1.azurite.local mysql elasticsearch meilisearch smtpimap" | sudo tee -a /etc/hosts' + run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 mysql elasticsearch smtpimap" | sudo tee -a /etc/hosts' - run: make deps-backend - run: make backend env: @@ -148,21 +143,18 @@ jobs: RACE_ENABLED: true GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }} - test-mysql: + test-mysql5: if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' needs: files-changed runs-on: ubuntu-latest services: mysql: - # the bitnami mysql image has more options than the official one, it's easier to customize - image: bitnami/mysql:8.0 + image: mysql:5.7 env: - ALLOW_EMPTY_PASSWORD: true - MYSQL_DATABASE: testgitea + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: test ports: - "3306:3306" - options: >- - --mount type=tmpfs,destination=/bitnami/mysql/data elasticsearch: image: elasticsearch:7.5.0 env: @@ -177,60 +169,78 @@ jobs: - "587:587" - "993:993" steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod - check-latest: true + go-version: ">=1.20.0" - name: Add hosts to /etc/hosts run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 mysql elasticsearch smtpimap" | sudo tee -a /etc/hosts' - run: make deps-backend - run: make backend env: TAGS: bindata - - name: run migration tests - run: make test-mysql-migration - name: run tests - # run: make integration-test-coverage (at the moment, no coverage is really handled) - run: make test-mysql + run: make test-mysql-migration integration-test-coverage env: TAGS: bindata RACE_ENABLED: true USE_REPO_TEST_DIR: 1 TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200" + test-mysql8: + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' + needs: files-changed + runs-on: ubuntu-latest + services: + mysql8: + image: mysql:8 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: testgitea + ports: + - "3306:3306" + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version: ">=1.20.0" + - name: Add hosts to /etc/hosts + run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 mysql8" | sudo tee -a /etc/hosts' + - run: make deps-backend + - run: make backend + env: + TAGS: bindata + - run: make test-mysql8-migration test-mysql8 + timeout-minutes: 50 + env: + TAGS: bindata + USE_REPO_TEST_DIR: 1 + test-mssql: if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' needs: files-changed runs-on: ubuntu-latest services: mssql: - image: mcr.microsoft.com/mssql/server:2019-latest + image: mcr.microsoft.com/mssql/server:latest env: ACCEPT_EULA: Y MSSQL_PID: Standard SA_PASSWORD: MwantsaSecurePassword1 ports: - "1433:1433" - devstoreaccount1.azurite.local: # https://github.com/Azure/Azurite/issues/1583 - image: mcr.microsoft.com/azure-storage/azurite:latest - ports: - - 10000:10000 steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod - check-latest: true + go-version: ">=1.20.0" - name: Add hosts to /etc/hosts - run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 mssql devstoreaccount1.azurite.local" | sudo tee -a /etc/hosts' + run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 mssql" | sudo tee -a /etc/hosts' - run: make deps-backend - run: make backend env: TAGS: bindata - - run: make test-mssql-migration - - name: run tests - run: make test-mssql + - run: make test-mssql-migration test-mssql timeout-minutes: 50 env: TAGS: bindata diff --git a/.github/workflows/pull-docker-dryrun.yml b/.github/workflows/pull-docker-dryrun.yml index f74277de67..916de6b27d 100644 --- a/.github/workflows/pull-docker-dryrun.yml +++ b/.github/workflows/pull-docker-dryrun.yml @@ -11,25 +11,13 @@ jobs: files-changed: uses: ./.github/workflows/files-changed.yml - regular: - if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.actions == 'true' + docker-dryrun: + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true' needs: files-changed runs-on: ubuntu-latest steps: - - uses: docker/setup-buildx-action@v3 - - uses: docker/build-push-action@v5 + - uses: docker/setup-buildx-action@v2 + - uses: docker/build-push-action@v4 with: push: false tags: gitea/gitea:linux-amd64 - - rootless: - if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.actions == 'true' - needs: files-changed - runs-on: ubuntu-latest - steps: - - uses: docker/setup-buildx-action@v3 - - uses: docker/build-push-action@v5 - with: - push: false - file: Dockerfile.rootless - tags: gitea/gitea:linux-amd64 diff --git a/.github/workflows/pull-e2e-tests.yml b/.github/workflows/pull-e2e-tests.yml index cc3fbd9c34..6577cfd240 100644 --- a/.github/workflows/pull-e2e-tests.yml +++ b/.github/workflows/pull-e2e-tests.yml @@ -12,22 +12,18 @@ jobs: uses: ./.github/workflows/files-changed.yml test-e2e: - # the "test-e2e" won't pass, and it seems that there is no useful test, so skip - # if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true' - if: false + if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true' needs: files-changed runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod + go-version: ">=1.20" check-latest: true - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v3 with: - node-version: 24 - cache: npm - cache-dependency-path: package-lock.json + node-version: 20 - run: make deps-frontend frontend deps-backend - run: npx playwright install --with-deps - run: make test-e2e-sqlite diff --git a/.github/workflows/pull-labeler.yml b/.github/workflows/pull-labeler.yml deleted file mode 100644 index 812819b599..0000000000 --- a/.github/workflows/pull-labeler.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: labeler - -on: - pull_request_target: - types: [opened, synchronize, reopened] - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -jobs: - labeler: - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write - steps: - - uses: actions/labeler@v5 - with: - sync-labels: true diff --git a/.github/workflows/release-nightly.yml b/.github/workflows/release-nightly.yml index c2cc14f771..0e94f5217c 100644 --- a/.github/workflows/release-nightly.yml +++ b/.github/workflows/release-nightly.yml @@ -1,30 +1,24 @@ -name: release-nightly +name: release-nightly-assets on: push: - branches: [main, release/v*] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true + branches: [ main, release/v* ] jobs: nightly-binary: - runs-on: namespace-profile-gitea-release-binary + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 # fetch all commits instead of only the last as some branches are long lived and could have many between versions # fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567 - run: git fetch --unshallow --quiet --tags --force - - uses: actions/setup-go@v5 + - uses: actions/setup-go@v4 with: - go-version-file: go.mod + go-version: ">=1.20" check-latest: true - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v3 with: - node-version: 24 - cache: npm - cache-dependency-path: package-lock.json + node-version: 20 - run: make deps-frontend deps-backend # xgo build - run: make release @@ -32,7 +26,7 @@ jobs: TAGS: bindata sqlite sqlite_unlock_notify - name: import gpg key id: import_gpg - uses: crazy-max/ghaction-import-gpg@v6 + uses: crazy-max/ghaction-import-gpg@v5 with: gpg_private_key: ${{ secrets.GPGSIGN_KEY }} passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }} @@ -47,31 +41,25 @@ jobs: run: | REF_NAME=$(echo "${{ github.ref }}" | sed -e 's/refs\/heads\///' -e 's/refs\/tags\///' -e 's/release\/v//') echo "Cleaned name is ${REF_NAME}" - echo "branch=${REF_NAME}-nightly" >> "$GITHUB_OUTPUT" - - name: configure aws - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-region: ${{ secrets.AWS_REGION }} - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + echo "branch=${REF_NAME}" >> "$GITHUB_OUTPUT" - name: upload binaries to s3 - run: | - aws s3 sync dist/release s3://${{ secrets.AWS_S3_BUCKET }}/gitea/${{ steps.clean_name.outputs.branch }} --no-progress - nightly-docker-rootful: - runs-on: namespace-profile-gitea-release-docker - permissions: - packages: write # to publish to ghcr.io + uses: jakejarvis/s3-sync-action@master + env: + AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + AWS_REGION: ${{ secrets.AWS_REGION }} + SOURCE_DIR: dist/release + DEST_DIR: gitea/${{ steps.clean_name.outputs.branch }} + nightly-docker: + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 # fetch all commits instead of only the last as some branches are long lived and could have many between versions # fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567 - run: git fetch --unshallow --quiet --tags --force - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - uses: docker/setup-qemu-action@v3 - - uses: docker/setup-buildx-action@v3 + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 - name: Get cleaned branch name id: clean_name run: | @@ -83,72 +71,22 @@ jobs: REF_NAME=$(echo "${{ github.ref }}" | sed -e 's/refs\/heads\///' -e 's/refs\/tags\///' -e 's/release\/v//') echo "branch=${REF_NAME}-nightly" >> "$GITHUB_OUTPUT" - name: Login to Docker Hub - uses: docker/login-action@v3 + uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Login to GHCR using PAT - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: fetch go modules - run: make vendor - name: build rootful docker image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v4 with: context: . - platforms: linux/amd64,linux/arm64,linux/riscv64 + platforms: linux/amd64,linux/arm64 push: true - tags: |- - gitea/gitea:${{ steps.clean_name.outputs.branch }} - ghcr.io/go-gitea/gitea:${{ steps.clean_name.outputs.branch }} - nightly-docker-rootless: - runs-on: namespace-profile-gitea-release-docker - permissions: - packages: write # to publish to ghcr.io - steps: - - uses: actions/checkout@v4 - # fetch all commits instead of only the last as some branches are long lived and could have many between versions - # fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567 - - run: git fetch --unshallow --quiet --tags --force - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - uses: docker/setup-qemu-action@v3 - - uses: docker/setup-buildx-action@v3 - - name: Get cleaned branch name - id: clean_name - run: | - # if main then say nightly otherwise cleanup name - if [ "${{ github.ref }}" = "refs/heads/main" ]; then - echo "branch=nightly" >> "$GITHUB_OUTPUT" - exit 0 - fi - REF_NAME=$(echo "${{ github.ref }}" | sed -e 's/refs\/heads\///' -e 's/refs\/tags\///' -e 's/release\/v//') - echo "branch=${REF_NAME}-nightly" >> "$GITHUB_OUTPUT" - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Login to GHCR using PAT - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: fetch go modules - run: make vendor + tags: gitea/gitea:${{ steps.clean_name.outputs.branch }} - name: build rootless docker image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v4 with: context: . platforms: linux/amd64,linux/arm64 push: true file: Dockerfile.rootless - tags: |- - gitea/gitea:${{ steps.clean_name.outputs.branch }}-rootless - ghcr.io/go-gitea/gitea:${{ steps.clean_name.outputs.branch }}-rootless + tags: gitea/gitea:${{ steps.clean_name.outputs.branch }}-rootless diff --git a/.github/workflows/release-tag-rc.yml b/.github/workflows/release-tag-rc.yml deleted file mode 100644 index c9c15c31a0..0000000000 --- a/.github/workflows/release-tag-rc.yml +++ /dev/null @@ -1,154 +0,0 @@ -name: release-tag-rc - -on: - push: - tags: - - "v1*-rc*" - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: false - -jobs: - binary: - runs-on: namespace-profile-gitea-release-binary - steps: - - uses: actions/checkout@v4 - # fetch all commits instead of only the last as some branches are long lived and could have many between versions - # fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567 - - run: git fetch --unshallow --quiet --tags --force - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - uses: actions/setup-node@v4 - with: - node-version: 24 - cache: npm - cache-dependency-path: package-lock.json - - run: make deps-frontend deps-backend - # xgo build - - run: make release - env: - TAGS: bindata sqlite sqlite_unlock_notify - - name: import gpg key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@v6 - with: - gpg_private_key: ${{ secrets.GPGSIGN_KEY }} - passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }} - - name: sign binaries - run: | - for f in dist/release/*; do - echo '${{ secrets.GPGSIGN_PASSPHRASE }}' | gpg --pinentry-mode loopback --passphrase-fd 0 --batch --yes --detach-sign -u ${{ steps.import_gpg.outputs.fingerprint }} --output "$f.asc" "$f" - done - # clean branch name to get the folder name in S3 - - name: Get cleaned branch name - id: clean_name - run: | - REF_NAME=$(echo "${{ github.ref }}" | sed -e 's/refs\/heads\///' -e 's/refs\/tags\/v//' -e 's/release\/v//') - echo "Cleaned name is ${REF_NAME}" - echo "branch=${REF_NAME}" >> "$GITHUB_OUTPUT" - - name: configure aws - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-region: ${{ secrets.AWS_REGION }} - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - - name: upload binaries to s3 - run: | - aws s3 sync dist/release s3://${{ secrets.AWS_S3_BUCKET }}/gitea/${{ steps.clean_name.outputs.branch }} --no-progress - - name: Install GH CLI - uses: dev-hanz-ops/install-gh-cli-action@v0.1.0 - with: - gh-cli-version: 2.39.1 - - name: create github release - run: | - gh release create ${{ github.ref_name }} --title ${{ github.ref_name }} --draft --notes-from-tag dist/release/* - env: - GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} - docker-rootful: - runs-on: namespace-profile-gitea-release-docker - permissions: - packages: write # to publish to ghcr.io - steps: - - uses: actions/checkout@v4 - # fetch all commits instead of only the last as some branches are long lived and could have many between versions - # fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567 - - run: git fetch --unshallow --quiet --tags --force - - uses: docker/setup-qemu-action@v3 - - uses: docker/setup-buildx-action@v3 - - uses: docker/metadata-action@v5 - id: meta - with: - images: |- - gitea/gitea - ghcr.io/go-gitea/gitea - flavor: | - latest=false - # 1.2.3-rc0 - tags: | - type=semver,pattern={{version}} - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Login to GHCR using PAT - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: build rootful docker image - uses: docker/build-push-action@v5 - with: - context: . - platforms: linux/amd64,linux/arm64,linux/riscv64 - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - docker-rootless: - runs-on: namespace-profile-gitea-release-docker - permissions: - packages: write # to publish to ghcr.io - steps: - - uses: actions/checkout@v4 - # fetch all commits instead of only the last as some branches are long lived and could have many between versions - # fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567 - - run: git fetch --unshallow --quiet --tags --force - - uses: docker/setup-qemu-action@v3 - - uses: docker/setup-buildx-action@v3 - - uses: docker/metadata-action@v5 - id: meta - with: - images: |- - gitea/gitea - ghcr.io/go-gitea/gitea - # each tag below will have the suffix of -rootless - flavor: | - latest=false - suffix=-rootless - # 1.2.3-rc0 - tags: | - type=semver,pattern={{version}} - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Login to GHCR using PAT - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: build rootless docker image - uses: docker/build-push-action@v5 - with: - context: . - platforms: linux/amd64,linux/arm64,linux/riscv64 - push: true - file: Dockerfile.rootless - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/release-tag-version.yml b/.github/workflows/release-tag-version.yml deleted file mode 100644 index ae717c7cec..0000000000 --- a/.github/workflows/release-tag-version.yml +++ /dev/null @@ -1,165 +0,0 @@ -name: release-tag-version - -on: - push: - tags: - - "v1.*" - - "!v1*-rc*" - - "!v1*-dev" - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: false - -jobs: - binary: - runs-on: namespace-profile-gitea-release-binary - permissions: - packages: write # to publish to ghcr.io - steps: - - uses: actions/checkout@v4 - # fetch all commits instead of only the last as some branches are long lived and could have many between versions - # fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567 - - run: git fetch --unshallow --quiet --tags --force - - uses: actions/setup-go@v5 - with: - go-version-file: go.mod - check-latest: true - - uses: actions/setup-node@v4 - with: - node-version: 24 - cache: npm - cache-dependency-path: package-lock.json - - run: make deps-frontend deps-backend - # xgo build - - run: make release - env: - TAGS: bindata sqlite sqlite_unlock_notify - - name: import gpg key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@v6 - with: - gpg_private_key: ${{ secrets.GPGSIGN_KEY }} - passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }} - - name: sign binaries - run: | - for f in dist/release/*; do - echo '${{ secrets.GPGSIGN_PASSPHRASE }}' | gpg --pinentry-mode loopback --passphrase-fd 0 --batch --yes --detach-sign -u ${{ steps.import_gpg.outputs.fingerprint }} --output "$f.asc" "$f" - done - # clean branch name to get the folder name in S3 - - name: Get cleaned branch name - id: clean_name - run: | - REF_NAME=$(echo "${{ github.ref }}" | sed -e 's/refs\/heads\///' -e 's/refs\/tags\/v//' -e 's/release\/v//') - echo "Cleaned name is ${REF_NAME}" - echo "branch=${REF_NAME}" >> "$GITHUB_OUTPUT" - - name: configure aws - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-region: ${{ secrets.AWS_REGION }} - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - - name: upload binaries to s3 - run: | - aws s3 sync dist/release s3://${{ secrets.AWS_S3_BUCKET }}/gitea/${{ steps.clean_name.outputs.branch }} --no-progress - - name: Install GH CLI - uses: dev-hanz-ops/install-gh-cli-action@v0.1.0 - with: - gh-cli-version: 2.39.1 - - name: create github release - run: | - gh release create ${{ github.ref_name }} --title ${{ github.ref_name }} --notes-from-tag dist/release/* - env: - GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} - docker-rootful: - runs-on: namespace-profile-gitea-release-docker - permissions: - packages: write # to publish to ghcr.io - steps: - - uses: actions/checkout@v4 - # fetch all commits instead of only the last as some branches are long lived and could have many between versions - # fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567 - - run: git fetch --unshallow --quiet --tags --force - - uses: docker/setup-qemu-action@v3 - - uses: docker/setup-buildx-action@v3 - - uses: docker/metadata-action@v5 - id: meta - with: - images: |- - gitea/gitea - ghcr.io/go-gitea/gitea - # this will generate tags in the following format: - # latest - # 1 - # 1.2 - # 1.2.3 - tags: | - type=semver,pattern={{version}} - type=semver,pattern={{major}} - type=semver,pattern={{major}}.{{minor}} - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Login to GHCR using PAT - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: build rootful docker image - uses: docker/build-push-action@v5 - with: - context: . - platforms: linux/amd64,linux/arm64,linux/riscv64 - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - docker-rootless: - runs-on: namespace-profile-gitea-release-docker - steps: - - uses: actions/checkout@v4 - # fetch all commits instead of only the last as some branches are long lived and could have many between versions - # fetch all tags to ensure that "git describe" reports expected Gitea version, eg. v1.21.0-dev-1-g1234567 - - run: git fetch --unshallow --quiet --tags --force - - uses: docker/setup-qemu-action@v3 - - uses: docker/setup-buildx-action@v3 - - uses: docker/metadata-action@v5 - id: meta - with: - images: |- - gitea/gitea - ghcr.io/go-gitea/gitea - # each tag below will have the suffix of -rootless - flavor: | - suffix=-rootless,onlatest=true - # this will generate tags in the following format (with -rootless suffix added): - # latest - # 1 - # 1.2 - # 1.2.3 - tags: | - type=semver,pattern={{version}} - type=semver,pattern={{major}} - type=semver,pattern={{major}}.{{minor}} - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Login to GHCR using PAT - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: build rootless docker image - uses: docker/build-push-action@v5 - with: - context: . - platforms: linux/amd64,linux/arm64,linux/riscv64 - push: true - file: Dockerfile.rootless - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} diff --git a/.gitignore b/.gitignore index 0791a17c71..2760a0ad58 100644 --- a/.gitignore +++ b/.gitignore @@ -9,21 +9,12 @@ _test # IntelliJ .idea -.run - -# IntelliJ Gateway -.uuid - # Goland's output filename can not be set manually /go_build_* -/gitea_* # MS VSCode .vscode -__debug_bin* - -# Visual Studio -/.vs/ +__debug_bin *.cgo1.go *.cgo2.c @@ -36,16 +27,19 @@ _testmain.go *.exe *.test *.prof -*.tsbuildinfo *coverage.out coverage.all cpu.out -/modules/migration/bindata.* -/modules/options/bindata.* -/modules/public/bindata.* -/modules/templates/bindata.* +/modules/migration/bindata.go +/modules/migration/bindata.go.hash +/modules/options/bindata.go +/modules/options/bindata.go.hash +/modules/public/bindata.go +/modules/public/bindata.go.hash +/modules/templates/bindata.go +/modules/templates/bindata.go.hash *.db *.log @@ -63,7 +57,7 @@ cpu.out /data /indexers /log -/public/assets/img/avatar +/public/img/avatar /tests/integration/gitea-integration-* /tests/integration/indexers-* /tests/e2e/gitea-e2e-* @@ -74,24 +68,31 @@ cpu.out /tests/*.ini /tests/**/*.git/**/*.sample /node_modules -/.venv /yarn.lock /yarn-error.log /npm-debug.log* -/public/assets/js -/public/assets/css -/public/assets/fonts -/public/assets/licenses.txt +/public/js +/public/css +/public/fonts +/public/img/webpack /vendor +/web_src/fomantic/node_modules +/web_src/fomantic/build/* +!/web_src/fomantic/build/semantic.js +!/web_src/fomantic/build/semantic.css +!/web_src/fomantic/build/themes +/web_src/fomantic/build/themes/* +!/web_src/fomantic/build/themes/default +/web_src/fomantic/build/themes/default/assets/* +!/web_src/fomantic/build/themes/default/assets/fonts +/web_src/fomantic/build/themes/default/assets/fonts/* +!/web_src/fomantic/build/themes/default/assets/fonts/icons.woff2 +!/web_src/fomantic/build/themes/default/assets/fonts/outline-icons.woff2 /VERSION /.air /.go-licenses -# Files and folders that were previously generated -/public/assets/img/webpack - # Snapcraft -/gitea_a*.txt snap/.snapcraft/ parts/ stage/ @@ -101,9 +102,6 @@ prime/ *_source.tar.bz2 .DS_Store -# nix-direnv generated files -.direnv/ - # Make evidence files /.make_evidence diff --git a/.gitpod.yml b/.gitpod.yml index 8671edc47c..f1b2fb1957 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -10,19 +10,10 @@ tasks: - name: Run backend command: | gp sync-await setup - - # Get the URL and extract the domain - url=$(gp url 3000) - domain=$(echo $url | awk -F[/:] '{print $4}') - - if [ -f custom/conf/app.ini ]; then - sed -i "s|^ROOT_URL =.*|ROOT_URL = ${url}/|" custom/conf/app.ini - sed -i "s|^DOMAIN =.*|DOMAIN = ${domain}|" custom/conf/app.ini - sed -i "s|^SSH_DOMAIN =.*|SSH_DOMAIN = ${domain}|" custom/conf/app.ini - sed -i "s|^NO_REPLY_ADDRESS =.*|SSH_DOMAIN = noreply.${domain}|" custom/conf/app.ini - else + if [ ! -f custom/conf/app.ini ] + then mkdir -p custom/conf/ - echo -e "[server]\nROOT_URL = ${url}/" > custom/conf/app.ini + echo -e "[server]\nROOT_URL=$(gp url 3000)/" > custom/conf/app.ini echo -e "\n[database]\nDB_TYPE = sqlite3\nPATH = $GITPOD_REPO_ROOT/data/gitea.db" >> custom/conf/app.ini fi export TAGS="sqlite sqlite_unlock_notify" @@ -42,9 +33,8 @@ vscode: - DavidAnson.vscode-markdownlint - Vue.volar - ms-azuretools.vscode-docker - - vitest.explorer - - cweijan.vscode-database-client2 - - GitHub.vscode-pull-request-github + - zixuanchen.vitest-explorer + - alexcvzz.vscode-sqlite ports: - name: Gitea diff --git a/.golangci.yml b/.golangci.yml index 70efd288ff..22de387fac 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,180 +1,131 @@ -version: "2" -output: - sort-order: - - file linters: - default: none enable: - bidichk + # - deadcode # deprecated - https://github.com/golangci/golangci-lint/issues/1841 - depguard - dupl - errcheck - forbidigo - gocritic + # - gocyclo # The cyclomatic complexety of a lot of functions is too high, we should refactor those another time. + - gofmt + - gofumpt + - gosimple - govet - ineffassign - - mirror - nakedret - nolintlint - - perfsprint - revive - staticcheck - - testifylint + # - structcheck # deprecated - https://github.com/golangci/golangci-lint/issues/1841 + - stylecheck + - typecheck - unconvert - - unparam - unused - - usestdlibvars - - usetesting + # - varcheck # deprecated - https://github.com/golangci/golangci-lint/issues/1841 - wastedassign - settings: - depguard: - rules: - main: - deny: - - pkg: encoding/json - desc: use gitea's modules/json instead of encoding/json - - pkg: github.com/unknwon/com - desc: use gitea's util and replacements - - pkg: io/ioutil - desc: use os or io instead - - pkg: golang.org/x/exp - desc: it's experimental and unreliable - - pkg: code.gitea.io/gitea/modules/git/internal - desc: do not use the internal package, use AddXxx function instead - - pkg: gopkg.in/ini.v1 - desc: do not use the ini package, use gitea's config system instead - - pkg: gitea.com/go-chi/cache - desc: do not use the go-chi cache package, use gitea's cache system - nolintlint: - allow-unused: false - require-explanation: true - require-specific: true - gocritic: - disabled-checks: - - ifElseChain - - singleCaseSwitch # Every time this occurred in the code, there was no other way. - revive: - severity: error - rules: - - name: atomic - - name: bare-return - - name: blank-imports - - name: constant-logical-expr - - name: context-as-argument - - name: context-keys-type - - name: dot-imports - - name: duplicated-imports - - name: empty-lines - - name: error-naming - - name: error-return - - name: error-strings - - name: errorf - - name: exported - - name: identical-branches - - name: if-return - - name: increment-decrement - - name: indent-error-flow - - name: modifies-value-receiver - - name: package-comments - - name: range - - name: receiver-naming - - name: redefines-builtin-id - - name: string-of-int - - name: superfluous-else - - name: time-naming - - name: unconditional-recursion - - name: unexported-return - - name: unreachable-code - - name: var-declaration - - name: var-naming - arguments: - - [] # AllowList - do not remove as args for the rule are positional and won't work without lists first - - [] # DenyList - - - skip-package-name-checks: true # supress errors from underscore in migration packages - staticcheck: - checks: - - all - - -ST1003 - - -ST1005 - - -QF1001 - - -QF1006 - - -QF1008 - testifylint: - disable: - - go-require - - require-error - usetesting: - os-temp-dir: true - exclusions: - generated: lax - presets: - - comments - - common-false-positives - - legacy - - std-error-handling + enable-all: false + disable-all: true + fast: false + +run: + go: "1.20" + timeout: 10m + skip-dirs: + - node_modules + - public + - web_src + +linters-settings: + stylecheck: + checks: ["all", "-ST1005", "-ST1003"] + nakedret: + max-func-lines: 0 + gocritic: + disabled-checks: + - ifElseChain + - singleCaseSwitch # Every time this occurred in the code, there was no other way. + revive: + ignore-generated-header: false + severity: warning + confidence: 0.8 + errorCode: 1 + warningCode: 1 rules: - - linters: - - dupl - - errcheck - - gocyclo - - gosec - - staticcheck - - unparam - path: _test\.go - - linters: - - dupl - - errcheck - - gocyclo - - gosec - path: models/migrations/v - - linters: - - forbidigo - path: cmd - - linters: - - dupl - text: (?i)webhook - - linters: - - gocritic - text: (?i)`ID' should not be capitalized - - linters: - - deadcode - - unused - text: (?i)swagger - - linters: - - staticcheck - text: (?i)argument x is overwritten before first use - - linters: - - gocritic - text: '(?i)commentFormatting: put a space between `//` and comment text' - - linters: - - gocritic - text: '(?i)exitAfterDefer:' - paths: - - node_modules - - public - - web_src - - third_party$ - - builtin$ - - examples$ + - name: blank-imports + - name: context-as-argument + - name: context-keys-type + - name: dot-imports + - name: error-return + - name: error-strings + - name: error-naming + - name: exported + - name: if-return + - name: increment-decrement + - name: var-naming + - name: var-declaration + - name: package-comments + - name: range + - name: receiver-naming + - name: time-naming + - name: unexported-return + - name: indent-error-flow + - name: errorf + - name: duplicated-imports + - name: modifies-value-receiver + gofumpt: + extra-rules: true + lang-version: "1.20" + depguard: + list-type: denylist + # Check the list against standard lib. + include-go-root: true + packages-with-error-message: + - encoding/json: "use gitea's modules/json instead of encoding/json" + - github.com/unknwon/com: "use gitea's util and replacements" + - io/ioutil: "use os or io instead" + - golang.org/x/exp: "it's experimental and unreliable." + - code.gitea.io/gitea/modules/git/internal: "do not use the internal package, use AddXxx function instead" + - gopkg.in/ini.v1: "do not use the ini package, use gitea's config system instead" + issues: max-issues-per-linter: 0 max-same-issues: 0 -formatters: - enable: - - gofmt - - gofumpt - settings: - gofumpt: - extra-rules: true - exclusions: - generated: lax - paths: - - node_modules - - public - - web_src - - third_party$ - - builtin$ - - examples$ - -run: - timeout: 10m + exclude-rules: + # Exclude some linters from running on tests files. + - path: _test\.go + linters: + - gocyclo + - errcheck + - dupl + - gosec + - unparam + - staticcheck + - path: models/migrations/v + linters: + - gocyclo + - errcheck + - dupl + - gosec + - path: cmd + linters: + - forbidigo + - linters: + - dupl + text: "webhook" + - linters: + - gocritic + text: "`ID' should not be capitalized" + - linters: + - unused + - deadcode + text: "swagger" + - linters: + - staticcheck + text: "argument x is overwritten before first use" + - text: "commentFormatting: put a space between `//` and comment text" + linters: + - gocritic + - text: "exitAfterDefer:" + linters: + - gocritic diff --git a/.ignore b/.ignore index 29912ad5c3..cd869d51cb 100644 --- a/.ignore +++ b/.ignore @@ -1,8 +1,8 @@ *.min.css *.min.js /assets/*.json -/options/gitignore -/options/license -/public/assets +/modules/options/bindata.go +/modules/public/bindata.go +/modules/templates/bindata.go /vendor node_modules diff --git a/.mailmap b/.mailmap deleted file mode 100644 index 88ff1591a4..0000000000 --- a/.mailmap +++ /dev/null @@ -1,2 +0,0 @@ -Unknwon -Unknwon 无闻 diff --git a/.markdownlint.yaml b/.markdownlint.yaml index b251ff796c..7ccdd53e89 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -1,15 +1,18 @@ commands-show-output: false fenced-code-language: false first-line-h1: false -heading-increment: false +header-increment: false line-length: {code_blocks: false, tables: false, stern: true, line_length: -1} no-alt-text: false no-bare-urls: false -no-emphasis-as-heading: false +no-blanks-blockquote: false +no-duplicate-header: {allow_different_nesting: true} +no-emphasis-as-header: false no-empty-links: false no-hard-tabs: {code_blocks: false} no-inline-html: false no-space-in-code: false no-space-in-emphasis: false +no-trailing-punctuation: false no-trailing-spaces: {br_spaces: 0} single-h1: false diff --git a/.stylelintrc.yaml b/.stylelintrc.yaml new file mode 100644 index 0000000000..b3d90bf96d --- /dev/null +++ b/.stylelintrc.yaml @@ -0,0 +1,141 @@ +plugins: + - stylelint-declaration-strict-value + +ignoreFiles: + - "**/*.go" + +overrides: + - files: ["**/chroma/*", "**/codemirror/*", "**/standalone/*", "**/console.css", "font_i18n.css"] + rules: + scale-unlimited/declaration-strict-value: null + - files: ["**/chroma/*", "**/codemirror/*"] + rules: + block-no-empty: null + - files: ["**/*.vue"] + customSyntax: postcss-html + +rules: + alpha-value-notation: null + annotation-no-unknown: true + at-rule-allowed-list: null + at-rule-disallowed-list: null + at-rule-empty-line-before: null + at-rule-no-unknown: true + at-rule-no-vendor-prefix: true + at-rule-property-required-list: null + block-no-empty: true + color-function-notation: null + color-hex-alpha: null + color-hex-length: null + color-named: null + color-no-hex: null + color-no-invalid-hex: true + comment-empty-line-before: null + comment-no-empty: true + comment-pattern: null + comment-whitespace-inside: null + comment-word-disallowed-list: null + custom-media-pattern: null + custom-property-empty-line-before: null + custom-property-no-missing-var-function: true + custom-property-pattern: null + declaration-block-no-duplicate-custom-properties: true + declaration-block-no-duplicate-properties: [true, {ignore: [consecutive-duplicates-with-different-values]}] + declaration-block-no-redundant-longhand-properties: null + declaration-block-no-shorthand-property-overrides: null + declaration-block-single-line-max-declarations: null + declaration-empty-line-before: null + declaration-no-important: null + declaration-property-max-values: null + declaration-property-unit-allowed-list: null + declaration-property-unit-disallowed-list: null + declaration-property-value-allowed-list: null + declaration-property-value-disallowed-list: null + declaration-property-value-no-unknown: true + font-family-name-quotes: always-where-recommended + font-family-no-duplicate-names: true + font-family-no-missing-generic-family-keyword: true + font-weight-notation: null + function-allowed-list: null + function-calc-no-unspaced-operator: true + function-disallowed-list: null + function-linear-gradient-no-nonstandard-direction: true + function-name-case: lower + function-no-unknown: null + function-url-no-scheme-relative: null + function-url-quotes: always + function-url-scheme-allowed-list: null + function-url-scheme-disallowed-list: null + hue-degree-notation: null + import-notation: string + keyframe-block-no-duplicate-selectors: true + keyframe-declaration-no-important: true + keyframe-selector-notation: null + keyframes-name-pattern: null + length-zero-no-unit: true + max-nesting-depth: null + media-feature-name-allowed-list: null + media-feature-name-disallowed-list: null + media-feature-name-no-unknown: true + media-feature-name-no-vendor-prefix: true + media-feature-name-unit-allowed-list: null + media-feature-name-value-allowed-list: null + media-feature-name-value-no-unknown: true + media-feature-range-notation: null + named-grid-areas-no-invalid: true + no-descending-specificity: null + no-duplicate-at-import-rules: true + no-duplicate-selectors: true + no-empty-source: true + no-invalid-double-slash-comments: true + no-invalid-position-at-import-rule: null + no-irregular-whitespace: true + no-unknown-animations: null + no-unknown-custom-properties: null + number-max-precision: null + property-allowed-list: null + property-disallowed-list: null + property-no-unknown: true + property-no-vendor-prefix: null + rule-empty-line-before: null + rule-selector-property-disallowed-list: null + scale-unlimited/declaration-strict-value: [[color, background-color, border-color, font-weight], {ignoreValues: /^(inherit|transparent|unset|initial|currentcolor|none)$/, ignoreFunctions: false, disableFix: true}] + selector-attribute-name-disallowed-list: null + selector-attribute-operator-allowed-list: null + selector-attribute-operator-disallowed-list: null + selector-attribute-quotes: always + selector-class-pattern: null + selector-combinator-allowed-list: null + selector-combinator-disallowed-list: null + selector-disallowed-list: null + selector-id-pattern: null + selector-max-attribute: null + selector-max-class: null + selector-max-combinators: null + selector-max-compound-selectors: null + selector-max-id: null + selector-max-pseudo-class: null + selector-max-specificity: null + selector-max-type: null + selector-max-universal: null + selector-nested-pattern: null + selector-no-qualifying-type: null + selector-no-vendor-prefix: true + selector-not-notation: null + selector-pseudo-class-allowed-list: null + selector-pseudo-class-disallowed-list: null + selector-pseudo-class-no-unknown: true + selector-pseudo-element-allowed-list: null + selector-pseudo-element-colon-notation: double + selector-pseudo-element-disallowed-list: null + selector-pseudo-element-no-unknown: true + selector-type-case: lower + selector-type-no-unknown: [true, {ignore: [custom-elements]}] + shorthand-property-no-redundant-values: true + string-no-newline: true + time-min-milliseconds: null + unit-allowed-list: null + unit-disallowed-list: null + unit-no-unknown: true + value-keyword-case: null + value-no-vendor-prefix: [true, {ignoreValues: [box, inline-box]}] diff --git a/.yamllint.yaml b/.yamllint.yaml deleted file mode 100644 index 5a1e1e8751..0000000000 --- a/.yamllint.yaml +++ /dev/null @@ -1,44 +0,0 @@ -extends: default - -rules: - braces: - min-spaces-inside: 0 - max-spaces-inside: 1 - min-spaces-inside-empty: 0 - max-spaces-inside-empty: 0 - - brackets: - min-spaces-inside: 0 - max-spaces-inside: 1 - min-spaces-inside-empty: 0 - max-spaces-inside-empty: 0 - - comments: - require-starting-space: true - ignore-shebangs: true - min-spaces-from-content: 1 - - comments-indentation: - level: error - - document-start: - level: error - present: false - - document-end: - present: false - - empty-lines: - max: 1 - - indentation: - spaces: 2 - - line-length: disable - - truthy: - allowed-values: ["true", "false", "on", "off"] - -ignore: | - .venv - node_modules diff --git a/BSDmakefile b/BSDmakefile index 79696eadcf..13174f8fd2 100644 --- a/BSDmakefile +++ b/BSDmakefile @@ -42,13 +42,13 @@ GARGS = "--no-print-directory" # The GNU convention is to use the lowercased `prefix` variable/macro to # specify the installation directory. Humor them. -GPREFIX = +GPREFIX = "" .if defined(PREFIX) && ! defined(prefix) GPREFIX = 'prefix = "$(PREFIX)"' .endif .BEGIN: .SILENT - which $(GMAKE) || (printf "Error: GNU Make is required!\n\n" 1>&2 && false) + which $(GMAKE) || printf "Error: GNU Make is required!\n\n" 1>&2 && false .PHONY: FRC $(.TARGETS): FRC diff --git a/CHANGELOG-archived.md b/CHANGELOG-archived.md deleted file mode 100644 index e0551d39a6..0000000000 --- a/CHANGELOG-archived.md +++ /dev/null @@ -1,5223 +0,0 @@ -# Changelog (archived) - -This changelog (archived) contains changes for old releases. - -* Recent changelogs: [CHANGELOG.md](CHANGELOG.md) -* Release blogs with highlights: [blog.gitea.com](https://blog.gitea.com). - -## [1.15.11](https://github.com/go-gitea/gitea/releases/tag/v1.15.11) - 2022-01-29 - -* SECURITY - * Only view milestones from current repo (#18414) (#18418) -* BUGFIXES - * Fix broken when no commits and default branch is not master (#18422) (#18424) - * Fix commit's time (#18375) (#18409) - * Fix restore without topic failure (#18387) (#18401) - * Fix mermaid import in 1.15 (it uses ESModule now) (#18382) - * Update to go/text 0.3.7 (#18336) -* MISC - * Upgrade EasyMDE to 2.16.1 (#18278) (#18279) - -## [1.15.10](https://github.com/go-gitea/gitea/releases/tag/v1.15.10) - 2022-01-14 - -* BUGFIXES - * Fix inconsistent PR comment counts (#18260) (#18261) - * Fix release link broken (#18252) (#18253) - * Fix update user from site administration page bug (#18250) (#18251) - * Set HeadCommit when creating tags (#18116) (#18173) - * Use correct translation key for error messages due to max repo limits (#18135 & #18153) (#18152) - * Fix purple color in suggested label colors (#18241) (#18242) -* SECURITY - * Bump mermaid from 8.10.1 to 8.13.8 (#18198) (#18206) - -## [1.15.9](https://github.com/go-gitea/gitea/releases/tag/v1.15.9) - 2021-12-30 - -* BUGFIXES - * Fix wrong redirect on org labels (#18128) (#18134) - * Fix: unstable sort skips/duplicates issues across pages (#18094) (#18095) - * Revert "Fix delete u2f keys bug (#18042)" (#18107) - * Migrating wiki don't require token, so we should move it out of the require form (#17645) (#18104) - * Prevent NPE if gitea uploader fails to open url (#18080) (#18101) - * Reset locale on login (#17734) (#18100) - * Correctly handle failed migrations (#17575) (#18099) - * Instead of using routerCtx just escape the url before routing (#18086) (#18098) - * Quote references to the user table in consistency checks (#18072) (#18073) - * Add NotFound handler (#18062) (#18067) - * Ensure that git repository is closed before transfer (#18049) (#18057) - * Use common sessioner for API and web routes (#18114) -* TRANSLATION - * Fix code search result hint on zh-CN (#18053) - -## [1.15.8](https://github.com/go-gitea/gitea/releases/tag/v1.15.8) - 2021-12-20 - -* BUGFIXES - * Move POST /{username}/action/{action} to simply POST /{username} (#18045) (#18046) - * Fix delete u2f keys bug (#18040) (#18042) - * Reset Session ID on login (#18018) (#18041) - * Prevent off-by-one error on comments on newly appended lines (#18029) (#18035) - * Stop printing 03d after escaped characters in logs (#18030) (#18034) - * Reset locale on login (#18023) (#18025) - * Fix reset password email template (#17025) (#18022) - * Fix outType on gitea dump (#18000) (#18016) - * Ensure complexity, minlength and isPwned are checked on password setting (#18005) (#18015) - * Fix rename notification bug (#18011) - * Prevent double decoding of % in url params (#17997) (#18001) - * Prevent hang in git cat-file if the repository is not a valid repository (Partial #17991) (#17992) - * Prevent deadlock in create issue (#17970) (#17982) -* TESTING - * Use non-expiring key. (#17984) (#17985) - -## [1.15.7](https://github.com/go-gitea/gitea/releases/tag/v1.15.7) - 2021-12-01 - -* ENHANCEMENTS - * Only allow webhook to send requests to allowed hosts (#17482) (#17510) - * Fix login redirection links (#17451) (#17473) -* BUGFIXES - * Fix database inconsistent when admin change user email (#17549) (#17840) - * Use correct user on releases (#17806) (#17818) - * Fix commit count in tag view (#17698) (#17790) - * Fix close issue but time watcher still running (#17643) (#17761) - * Fix Migrate Description (#17692) (#17727) - * Fix bug when project board get open issue number (#17703) (#17726) - * Return 400 but not 500 when request archive with wrong format (#17691) (#17700) - * Fix bug when read mysql database max lifetime (#17682) (#17690) - * Fix database deadlock when update issue labels (#17649) (#17665) - * Fix bug on detect issue/comment writer (#17592) - * Remove appSubUrl from pasted images (#17572) (#17588) - * Make `ParsePatch` more robust (#17573) (#17580) - * Fix stats upon searching issues (#17566) (#17578) - * Escape issue titles in comments list (#17555) (#17556) - * Fix zero created time bug on commit api (#17546) (#17547) - * Fix database keyword quote problem on migration v161 (#17522) (#17523) - * Fix email with + when active (#17518) (#17520) - * Stop double encoding blame commit messages (#17498) (#17500) - * Quote the table name in CountOrphanedObjects (#17487) (#17488) - * Run Migrate in Install rather than just SyncTables (#17475) (#17486) -* BUILD - * Fix golangci-lint warnings (#17598 et al) (#17668) -* MISC - * Preserve color when inverting emojis (#17797) (#17799) - -## [1.15.6](https://github.com/go-gitea/gitea/releases/tag/v1.15.6) - 2021-10-28 - -* BUGFIXES - * Prevent panic in serv.go with Deploy Keys (#17434) (#17435) - * Fix CSV render error (#17406) (#17431) - * Read expected buffer size (#17409) (#17430) - * Ensure that restricted users can access repos for which they are members (#17460) (#17464) - * Make commit-statuses popup show correctly (#17447) (#17466) -* TESTING - * Add integration tests for private.NoServCommand and private.ServCommand (#17456) (#17463) - -## [1.15.5](https://github.com/go-gitea/gitea/releases/tag/v1.15.5) - 2021-10-21 - -* SECURITY - * Upgrade Bluemonday to v1.0.16 (#17372) (#17374) - * Ensure correct SSH permissions check for private and restricted users (#17370) (#17373) -* BUGFIXES - * Prevent NPE in CSV diff rendering when column removed (#17018) (#17377) - * Offer rsa-sha2-512 and rsa-sha2-256 algorithms in internal SSH (#17281) (#17376) - * Don't panic if we fail to parse U2FRegistration data (#17304) (#17371) - * Ensure popup text is aligned left (backport for 1.15) (#17343) - * Ensure that git daemon export ok is created for mirrors (#17243) (#17306) - * Disable core.protectNTFS (#17300) (#17302) - * Use pointer for wrappedConn methods (#17295) (#17296) - * AutoRegistration is supposed to be working with disabled registration (backport) (#17292) - * Handle duplicate keys on GPG key ring (#17242) (#17284) - * Fix SVG side by side comparison link (#17375) (#17391) - -## [1.15.4](https://github.com/go-gitea/gitea/releases/tag/v1.15.4) - 2021-10-08 - -* BUGFIXES - * Raw file API: don't try to interpret 40char filenames as commit SHA (#17185) (#17272) - * Don't allow merged PRs to be reopened (#17192) (#17271) - * Fix incorrect repository count on organization tab of dashboard (#17256) (#17266) - * Fix unwanted team review request deletion (#17257) (#17264) - * Fix broken Activities link in team dashboard (#17255) (#17258) - * API pull's head/base have correct permission(#17214) (#17245) - * Fix strange behavior of DownloadPullDiffOrPatch in incorrect index (#17223) (#17227) - * Upgrade xorm to v1.2.5 (#17177) (#17188) - * Fix missing repo link in issue/pull assigned emails (#17183) (#17184) - * Fix bug of get context user (#17169) (#17172) - * Nicely handle missing user in collaborations (#17049) (#17166) - * Add Horizontal scrollbar to inner menu on Chrome (#17086) (#17164) - * Fix wrong i18n keys (#17150) (#17153) - * Fix Archive Creation: correct transaction ending (#17151) - * Prevent panic in Org mode HighlightCodeBlock (#17140) (#17141) - * Create doctor command to fix repo_units broken by dumps from 1.14.3-1.14.6 (#17136) (#17137) -* ENHANCEMENT - * Check user instead of organization when creating a repo from a template via API (#16346) (#17195) -* TRANSLATION - * v1.15 fix Sprintf format 'verbs' in locale files (#17187) - -## [1.15.3](https://github.com/go-gitea/gitea/releases/tag/v1.15.3) - 2021-09-19 - -* ENHANCEMENTS - * Add fluid to ui container class to remove margin (#16396) (#16976) - * Add caller to cat-file batch calls (#17082) (#17089) -* BUGFIXES - * Render full plain readme. (#17083) (#17090) - * Upgrade xorm to v1.2.4 (#17059) - * Fix bug of migrate comments which only fetch one page (#17055) (#17058) - * Do not show issue context popup on external issues (#17050) (#17054) - * Decrement Fork Num when converting from Fork (#17035) (#17046) - * Correctly rollback in ForkRepository (#17034) (#17045) - * Fix missing close in WalkGitLog (#17008) (#17009) - * Add prefix to SVG id/class attributes (#16997) (#17000) - * Fix bug of migrated repository not index (#16991) (#16996) - * Skip AllowedUserVisibilityModes validation on update user if it is an organisation (#16988) (#16990) - * Fix storage Iterate bug and Add storage doctor to delete garbage attachments (#16971) (#16977) - * Fix issue with issue default mail template (#16956) (#16975) - * Ensure that rebase conflicts are handled in updates (#16952) (#16960) - * Prevent panic on diff generation (#16950) (#16951) - -## [1.15.2](https://github.com/go-gitea/gitea/releases/tag/v1.15.2) - 2021-09-03 - -* BUGFIXES - * Add unique constraint back into issue_index (#16938) - * Close storage objects before cleaning (#16934) (#16942) - -## [1.15.1](https://github.com/go-gitea/gitea/releases/tag/v1.15.1) - 2021-09-02 - -* BUGFIXES - * Allow BASIC authentication access to /:owner/:repo/releases/download/* (#16916) (#16923) - * Prevent leave changes dialogs due to autofill fields (#16912) (#16920) - * Ignore review comment when ref commit is missed (#16905) (#16919) - * Fix wrong attachment removal (#16915) (#16917) - * Gitlab Migrator: dont ignore reactions of last request (#16903) (#16913) - * Correctly return the number of Repositories for Organizations (#16807) (#16911) - * Test if LFS object is accessible (#16865) (#16904) - * Fix git.Blob.DataAsync(): close pipe since we return a NopCloser (#16899) (#16900) - * Fix dump and restore repository (#16698) (#16898) - * Repare and Improve GetDiffRangeWithWhitespaceBehavior (#16894) (#16895) - * Fix wiki raw commit diff/patch view (#16891) (#16892) - * Ensure wiki repos are all closed (#16886) (#16888) - * List limited and private orgs if authenticated on API (#16866) (#16879) - * Simplify split diff view generation and remove JS dependency (#16775) (#16863) - * Ensure that the default visibility is set on the user create page (#16845) (#16862) - * In Render tolerate not being passed a context (#16842) (#16858) - * Upgrade xorm to v1.2.2 (#16663) & Add test to ensure that dumping of login sources remains correct (#16847) (#16848) - * Report the correct number of pushes on the feeds (#16811) (#16822) - * Add primary_key to issue_index (#16813) (#16820) - * Prevent NPE on empty commit (#16812) (#16819) - * Fix branch pagination error (#16805) (#16816) - * Add missing return to handleSettingRemoteAddrError (#16794) (#16795) - * Remove spurious / from issues.opened_by (#16793) - * Ensure that template compilation panics are sent to the logs (#16788) (#16792) - * Update caddyserver/certmagic (#16789) (#16790) - -## [1.15.0](https://github.com/go-gitea/gitea/releases/tag/v1.15.0) - 2021-08-21 - -* BREAKING - * Make app.ini permissions more restrictive (#16266) - * Refactor Webhook + Add X-Hub-Signature (#16176) - * Add asymmetric JWT signing (#16010) - * Clean-up the settings hierarchy for issue_indexer queue (#16001) - * Change default queue settings to be low go-routines (#15964) - * Improve assets handler middleware (#15961) - * Rename StaticUrlPrefix to AssetUrlPrefix (#15779) - * Use a generic markup class to display externally rendered files and diffs (#15735) - * Add frontend testing, require node 12 (#15315) - * Move (custom) assets into subpath `/assets` (#15219) - * Use level config in log section when sub log section not set level (#15176) - * Links in markdown should be absolute to the repository not the server (#15088) - * Upgrade to the latest version of golang-jwt (#16590) (#16606) - * Set minimum supported version of go to 1.16 (#16710) -* SECURITY - * Encrypt LDAP bind password in db with SECRET_KEY (#15547) - * Remove random password in Dockerfiles (#15362) - * Upgrade to the latest version of golang-jwt and increase minimum go to 1.15 (#16590) (#16606) - * Correctly create of git-daemon-export-ok files (#16508) (#16514) - * Don't show private user's repo in explore view (#16550) (#16554) - * Update node tar dependency to 6.1.6 (#16622) (#16623) -* FEATURES - * Update Go-Git to take advantage of LargeObjectThreshold (#16316) - * Support custom mime type mapping for text files (#16304) - * Link to previous blames in file blame page (#16259) - * Add LRU mem cache implementation (#16226) - * Localize Email Templates (#16200) - * Make command in authorized keys a template (#16003) - * Add possibility to make branch in branch page (#15960) - * Add email headers (#15939) - * Make tasklist checkboxes clickable (#15791) - * Add selecting tags on the compare page (#15723) - * Add cron job to delete old actions from database (#15688) - * On open repository open common cat file batch and batch-check (#15667) - * Add tag protection (#15629) - * Add push to remote mirror repository (#15157) - * Add Image Diff for SVG files (#14867) - * Add dashboard milestone search and repo milestone search by name. (#14866) - * Add LFS Migration and Mirror (#14726) - * Improve notifications for WIP draft PR's (#14663) - * Disable Stars config option (#14653) - * GPG Key Ownership verification with Signed Token (#14054) - * OAuth2 auto-register (#5123) -* API - * Return updated repository when changing repository using API (#16420) - * Let branch/tag name be a valid ref to get CI status (#16400) - * Add endpoint to get commits of PR (#16300) - * Allow COMMENT reviews to not specify a body (#16229) - * Add subject-type filter to list notification API endpoints (#16177) - * ListReleases add filter for draft and pre-releases (#16175) - * ListIssues add more filters (#16174) - * Issue Search Add filter for MilestoneNames (#16173) - * GET / SET User Settings (#16169) - * Expose repo.GetReviewers() & repo.GetAssignees() (#16168) - * User expose counters (#16167) - * Add repoGetTag (#16166) - * Add repoCreateTag (#16165) - * Creating a repo from a template repo via API (#15958) - * Add Active and ProhibitLogin to API (#15689) - * Add Location, Website and Description to API (#15675) - * Expose resolver via API (#15167) - * Swagger AccessToken fixes (#16574) (#16597) - * Set AllowedHeaders on API CORS handler (#16524) (#16618) -* ENHANCEMENTS - * Support HTTP/2 in Let's Encrypt (#16371) - * Introduce NotifySubjectType (#16320) - * Add forge emojies (#16296) - * Implemented head_commit for webhooks (#16282) - * Upgrade Gliderlabs SSH to 0.3.3 and add FailedConnectionCallback (#16278) - * Add previous/next buttons to review comments (#16273) - * Review comments: break-word for long file names (#16272) - * Add configuration to restrict allowed user visibility modes (#16271) - * Add scroll-margin-top to account for sticky header (#16269) - * Add --quiet and --verbose to gitea web to control initial logging (#16260) - * Use gitea logging module for git module (#16243) - * Add tests for all webhooks (#16214) - * Add button to delete undeleted repositories from failed migrations (#16197) - * Speed up git diff highlight generation (#16180) - * Add OpenID claims "profile" and "email". (#16141) - * Reintroduce squash merge default comment as a config setting (#16134) - * Add sanitizer rules per renderer (#16110) - * Improve performance of dashboard list orgs (#16099) - * Refactor assert statements in tests (#16089) - * Add sso.Group, context.Auth, context.APIAuth to allow auth special routes (#16086) - * Remove unnecessary goroutine (#16080) - * Add attachments for PR reviews (#16075) - * Make the github migration less rate limit waiting to get comment per page from repository but not per issue (#16070) - * Add Visible modes function from Organisation to Users too (#16069) - * Add checkbox to delete pull branch after successful merge (#16049) - * Make commit info cancelable (#16032) - * Make modules/context.Context a context.Context (#16031) - * Unified custom config creation (#16012) - * Make sshd_config more flexible regarding connections (#16009) - * Append to existing trailers in generated squash commit message (#15980) - * Always store primary email address into email_address table and also the state (#15956) - * Load issue/PR context popup data only when needed (#15955) - * Remove remaining fontawesome usage in templates (#15952) - * Remove fomantic accordion module (#15951) - * Small refactoring of modules/private (#15947) - * Double the avatar size factor (#15941) - * Add curl to rootless docker image (#15908) - * Replace clipboard.js with async clipboard api (#15899) - * Allow custom highlight mapping beyond file extensions (#15808) - * Add trace logging to SSO methods (#15803) - * Refactor routers directory (#15800) - * Allow only internal registration (#15795) - * Add a new internal hook to save ssh log (#15787) - * Respect default merge message syntax when parsing item references (#15772) - * OAuth2 login: Set account link to "login" as default behavior (#15768) - * Use single shared random string generation function (#15741) - * Hold the event source when there are no listeners (#15725) - * Code comments improvements (#15722) - * Provide OIDC compliant user info endpoint (#15721) - * Fix webkit calendar icon color on arc-green (#15713) - * Improve Light Chroma style (#15699) - * Only use boost workers for leveldb shadow queues (#15696) - * Add compare tag dropdown to releases page (#15695) - * Add caret styling CSS (#15651) - * Remove x-ua-compatible meta tag (#15640) - * Refactor of link creation (#15619) - * Add a new table issue_index to store the max issue index so that issue could be deleted with no duplicated index (#15599) - * Rewrite of the LFS server (#15523) - * Display more repository type on admin repository management (#15440) - * Remove usage of some JS globals (#15378) - * SHA in merged commit comment should be rendered ui sha (#15376) - * Add well-known config for OIDC (#15355) - * Use route rather than use thus reducing the number of stack frames (#15301) - * Code Formats, Nits & Unused Func/Var deletions (#15286) - * Let package git depend on setting but not opposite (#15241) - * Fixed sanitize errors (#15240) - * response simple text message for not html request when 404 (#15229) - * Remove file-loader dependency (#15196) - * Refactor renders (#15175) - * Add mimetype mapping settings (#15133) - * Add Status Updates whilst Gitea migrations are occurring (#15076) - * Reload locales in initialisation if needed by utilizing i18n.Reset (#15073) - * Counterwork seemingly unclickable repo button labels (#15064) - * Add DefaultMergeStyle option to repository (#14789) - * Added support for gopher URLs. (#14749) - * Rework repository archive (#14723) - * Add links to toggle WIP status (#14677) - * Add Tabular Diff for CSV files (#14661) - * Use milestone deadline when sorting issues (#14551) -* BUGFIXES - * Fix invalid params and typo of email templates (#16394) - * Fix activation of primary email addresses (#16385) - * Fix calculation for finalPage in repo-search component (#16382) - * Specify user in rootless container numerically (#16361) - * Detect encoding changes while parsing diff (#16330) - * Fix U2F error reasons always hidden (#16327) - * Prevent zombie processes (#16314) - * Escape reference to `user` table in models.SearchEmails (#16313) - * Fix default push instructions on empty repos (#16302) - * Fix modified files list in webhooks when there is a space (#16288) - * Fix webhook commits wrong hash on HEAD reset (#16283) - * Fuzzer finds an NPE due to incorrect URLPrefix (#16249) - * Don't WARN log UserNotExist errors on ExternalUserLogin failure (#16238) - * Do not show No match found for tribute (#16231) - * Fix "Copy Link" for pull requests (#16230) - * Fix diff expansion is missing final line in a file (#16222) - * Fix private repo permission problem (#16142) - * Fix not able to update local created non-urlencoded wiki pages (#16139) - * More efficiently parse shas for shaPostProcessor (#16101) - * Fix `doctor --run check-db-consistency --fix` with label fix (#16094) - * Prevent webhook action buttons from shifting (#16087) - * Change default TMPDIR path in rootless containers (#16077) - * Fix typo and add TODO notice (#16064) - * Use git log name-status in get last commit (#16059) - * Fix 500 Error with branch and tag sharing the same name (#16040) - * Fix get tag when migration (#16014) - * Add custom emoji support (#16004) - * Use filepath.ToSlash and Join in indexer defaults and queues (#15971) - * Add permission check for ``GenerateRepository`` (#15946) - * Ensure settings for Service and Mailer are read on the install page (#15943) - * Fix layout of milestone view (#15927) - * Unregister non-matching serviceworkers (#15834) - * Multiple Queue improvements: LevelDB Wait on empty, shutdown empty shadow level queue, reduce goroutines etc (#15693) - * Attachment support repository route (#15580) - * Fix missing icons and colorpicker when mounted on suburl (#15501) - * Create a session on ReverseProxy and ensure that ReverseProxy users cannot change username (#15304) - * Prevent double-login for Git HTTP and LFS and simplify login (#15303) - * Resolve Object { type: "error", data: undefined } in stopwatch.js (#15278) - * Fix heatmap activity (#15252) - * Remove vendored copy of fomantic-dropdown (#15193) - * Update repository size on cron gc task (#15177) - * Add NeedPostProcess for Parser interface to improve performance of csv parser and some external parser (#15153) - * Add code block highlight to orgmode back (#14222) - * Remove User.GetOrganizations() (#14032) - * Restore Accessibility for Dropdown (#16576) (#16617) - * Pass down SignedUserName down to AccessLogger context (#16605) (#16616) - * Fix table alignment in markdown (#16596) (#16602) - * Fix 500 on first wiki page (#16586) (#16598) - * Lock goth/gothic and Re-attempt OAuth2 registration on login if registration failed at startup (#16564) (#16570) - * Upgrade levelqueue to v0.4.0 (#16560) (#16561) - * Handle too long PR titles correctly (#16517) (#16549) - * Fix data race in bleve indexer (#16474) (#16509) - * Restore CORS on git smart http protocol (#16496) (#16506) - * Fix race in log (#16490) (#16505) - * Fix prepareWikiFileName to respect existing unescaped files (#16487) (#16498) - * Make cancel from CatFileBatch and CatFileBatchCheck wait for the command to end (#16479) (#16480) - * Update notification table with only latest data (#16445) (#16469) - * Fix crash following ldap authentication update (#16447) (#16448) - * Fix direct creation of external users on admin page (partial #16612) (#16613) - * Prevent 500 on draft releases without tag (#16634) (#16636) - * Restore creation of git-daemon-export-ok files (#16508) (#16514) - * Fix data race in bleve indexer (#16474) (#16509) - * Restore CORS on git smart http protocol (#16496) (#16506) - * Fix race in log (#16490) (#16505) - * Fix prepareWikiFileName to respect existing unescaped files (#16487) (#16498) - * Make cancel from CatFileBatch and CatFileBatchCheck wait for the command to end (#16479) (#16480) - * Update notification table with only latest data (#16445) (#16469) - * Fix crash following ldap authentication update (#16447) (#16448) - * Restore compatibility with SQLServer 2008 R2 in migrations (#16638) - * Fix direct creation of external users on admin page (#16613) - * Fix go-git implementation of GetNote when passed a non-existent commit (#16658) (#16659) - * Fix NPE in fuzzer (#16680) (#16682) - * Set issue_index when finishing migration (#16685) (#16687) - * Skip patch download when no patch file exists (#16356) (#16681) - * Ensure empty lines are copiable and final new line too (#16678) (#16692) - * Fix wrong user in OpenID response (#16736) (#16741) - * Do not use thin scrollbars on Firefox (#16738) (#16745) - * Recreate Tables should Recreate indexes on MySQL (#16718) (#16739) - * Keep attachments on tasklist update (#16750) (#16757) -* TESTING - * Bump `postgres` and `mysql` versions (#15710) - * Add tests for clone from wiki (#15513) - * Fix Benchmark tests, remove a broken one & add two new (#15250) - * Create Proper Migration tests (#15116) -* TRANSLATION - * Use a special name for update default branch on repository setting (#15893) - * Fix mirror_lfs source string in en-US locale (#15369) -* BUILD - * Upgrade xorm to v1.1.1 (#16339) - * Disable legal comments in esbuild (#15929) - * Switch to Node 16 to build fronted (#15804) - * Use esbuild to minify CSS (#15756) - * Use binary version of revive linter (#15739) - * Fix: npx webpack make: *** [Makefile:699: public/js/index.js] Error -… (#15465) - * Stop packaging node_modules in release tarballs (#15273) - * Introduce esbuild on webpack (#14578) -* DOCS - * Update queue workers documentation (#15999) - * Comment out app.example.ini (#15807) - * Improve logo customization docs (#15754) - * Add some response status on api docs (#15399) - * Rework Token API comments (#15162) - * Add better errors for disabled account recovery (#15117) -* MISC - * Remove utf8 option from installation page (#16126) - * Use Wants= over Requires= in systemd file (#15897) - -## [1.14.7](https://github.com/go-gitea/gitea/releases/tag/v1.14.7) - 2021-09-02 - -* BUGFIXES - * Add missing gitRepo close at GetDiffRangeWithWhitespaceBehavior (Partial #16894) (#16896) - * Fix wiki raw commit diff/patch view (#16891) (#16893) - * Ensure wiki repos are all closed (#16886) (#16889) - * Upgrade xorm to v1.2.2 (#16663) & Add test to ensure that dumping of login sources remains correct (#16847) (#16849) - * Recreate Tables should Recreate indexes on MySQL (#16718) (#16740) - -## [1.14.6](https://github.com/go-gitea/gitea/releases/tag/v1.14.6) - 2021-08-04 - -* SECURITY - * Bump github.com/markbates/goth from v1.67.1 to v1.68.0 (#16538) (#16540) - * Switch to maintained JWT lib (#16532) (#16535) - * Upgrade to latest version of golang-jwt (as forked for 1.14) (#16590) (#16607) -* BUGFIXES - * Add basic edit ldap auth test & actually fix #16252 (#16465) (#16495) - * Make cancel from CatFileBatch and CatFileBatchCheck wait for the command to end (#16479) (#16481) - -## [1.14.5](https://github.com/go-gitea/gitea/releases/tag/v1.14.5) - 2021-07-16 - -* SECURITY - * Hide mirror passwords on repo settings page (#16022) (#16355) - * Update bluemonday to v1.0.15 (#16379) (#16380) -* BUGFIXES - * Retry rename on lock induced failures (#16435) (#16439) - * Validate issue index before querying DB (#16406) (#16410) - * Fix crash following ldap authentication update (#16447) (#16449) -* ENHANCEMENTS - * Redirect on bad CSRF instead of presenting bad page (#14937) (#16378) - -## [1.14.4](https://github.com/go-gitea/gitea/releases/tag/v1.14.4) - 2021-07-06 - -* BUGFIXES - * Fix relative links in postprocessed images (#16334) (#16340) - * Fix list_options GetStartEnd (#16303) (#16305) - * Fix API to use author for commits instead of committer (#16276) (#16277) - * Handle misencoding of login_source cfg in mssql (#16268) (#16275) - * Fixed issues not updated by commits (#16254) (#16261) - * Improve efficiency in FindRenderizableReferenceNumeric and getReference (#16251) (#16255) - * Use html.Parse rather than html.ParseFragment (#16223) (#16225) - * Fix milestone counters on new issue (#16183) (#16224) - * reqOrgMembership calls need to be preceded by reqToken (#16198) (#16219) - -## [1.14.3](https://github.com/go-gitea/gitea/releases/tag/v1.14.3) - 2021-06-18 - -* SECURITY - * Encrypt migration credentials at rest (#15895) (#16187) - * Only check access tokens if they are likely to be tokens (#16164) (#16171) - * Add missing SameSite settings for the i_like_gitea cookie (#16037) (#16039) - * Fix setting of SameSite on cookies (#15989) (#15991) -* API - * Repository object only count releases as releases (#16184) (#16190) - * EditOrg respect RepoAdminChangeTeamAccess option (#16184) (#16190) - * Fix overly strict edit pr permissions (#15900) (#16081) -* BUGFIXES - * Run processors on whole of text (#16155) (#16185) - * Class `issue-keyword` is being incorrectly stripped off spans (#16163) (#16172) - * Fix language switch for install page (#16043) (#16128) - * Fix bug on getIssueIDsByRepoID (#16119) (#16124) - * Set self-adjusting deadline for connection writing (#16068) (#16123) - * Fix http path bug (#16117) (#16120) - * Fix data URI scramble (#16098) (#16118) - * Merge all deleteBranch as one function and also fix bug when delete branch don't close related PRs (#16067) (#16097) - * git migration: don't prompt interactively for clone credentials (#15902) (#16082) - * Fix case change in ownernames (#16045) (#16050) - * Don't manipulate input params in email notification (#16011) (#16033) - * Remove branch URL before IssueRefURL (#15968) (#15970) - * Fix layout of milestone view (#15927) (#15940) - * GitHub Migration, migrate draft releases too (#15884) (#15888) - * Close the gitrepo when deleting the repository (#15876) (#15887) - * Upgrade xorm to v1.1.0 (#15869) (#15885) - * Fix blame row height alignment (#15863) (#15883) - * Fix error message when saving generated LOCAL_ROOT_URL config (#15880) (#15882) - * Backport Fix LFS commit finder not working (#15856) (#15874) - * Stop calling WriteHeader in Write (#15862) (#15873) - * Add timeout to writing to responses (#15831) (#15872) - * Return go-get info on subdirs (#15642) (#15871) - * Restore PAM user autocreation functionality (#15825) (#15867) - * Fix truncate utf8 string (#15828) (#15854) - * Fix bound address/port for caddy's certmagic library (#15758) (#15848) - * Upgrade unrolled/render to v1.1.1 (#15845) (#15846) - * Queue manager FlushAll can loop rapidly - add delay (#15733) (#15840) - * Tagger can be empty, as can Commit and Author - tolerate this (#15835) (#15839) - * Set autocomplete off on branches selector (#15809) (#15833) - * Add missing error to Doctor log (#15813) (#15824) - * Move restore repo to internal router and invoke from command to avoid open the same db file or queues files (#15790) (#15816) -* ENHANCEMENTS - * Removable media support to snap package (#16136) (#16138) - * Move sans-serif fallback font higher than emoji fonts (#15855) (#15892) -* DOCKER - * Only write config in environment-to-ini if there are changes (#15861) (#15868) - * Only offer hostcertificates if they exist (#15849) (#15853) - -## [1.14.2](https://github.com/go-gitea/gitea/releases/tag/v1.14.2) - 2021-05-09 - -* API - * Make change repo settings work on empty repos (#15778) (#15789) - * Add pull "merged" notification subject status to API (#15344) (#15654) -* BUGFIXES - * Ensure that ctx.Written is checked after issues(...) calls (#15797) (#15798) - * Use pulls in commit graph unless pulls are disabled (#15734 & #15740 & #15774) (#15775) - * Set GIT_DIR correctly if it is not set (#15751) (#15769) - * Fix bug where repositories appear unadopted (#15757) (#15767) - * Not show `ref-in-new-issue` pop when issue was disabled (#15761) (#15765) - * Drop back to use IsAnInteractiveSession for SVC (#15749) (#15762) - * Fix setting version table in dump (#15753) (#15759) - * Fix close button change on delete in simplemde area (#15737) (#15747) - * Defer closing the gitrepo until the end of the wrapped context functions (#15653) (#15746) - * Fix some ui bug about draft release (#15137) (#15745) - * Only log Error on getLastCommitStatus error to let pull list still be visible (#15716) (#15715) - * Move tooltip down to allow selection of Remove File on error (#15672) (#15714) - * Fix setting redis db path (#15698) (#15708) - * Fix DB session cleanup (#15697) (#15700) - * Fixed several activation bugs (#15473) (#15685) - * Delete references if repository gets deleted (#15681) (#15684) - * Fix orphaned objects deletion bug (#15657) (#15683) - * Delete protected branch if repository gets removed (#15658) (#15676) - * Remove spurious set name from eventsource.sharedworker.js (#15643) (#15652) - * Not update updated uinx for `git gc` (#15637) (#15641) - * Fix commit graph author link (#15627) (#15630) - * Fix webhook timeout bug (#15613) (#15621) - * Resolve panic on failed interface conversion in migration v156 (#15604) (#15610) - * Fix missing storage init (#15589) (#15598) - * If the default branch is not present do not report error on stats indexing (#15546 & #15583) (#15594) - * Fix lfs management find (#15537) (#15578) - * Fix NPE on view commit with notes (#15561) (#15573) - * Fix bug on commit graph (#15517) (#15530) - * Send size to /avatars if requested (#15459) (#15528) - * Prevent migration 156 failure if tag commit missing (#15519) (#15527) -* ENHANCEMENTS - * Display conflict-free merge messages for pull requests (#15773) (#15796) - * Exponential Backoff for ByteFIFO (#15724) (#15793) - * Issue list alignment tweaks (#15483) (#15766) - * Implement delete release attachments and update release attachments' name (#14130) (#15666) - * Add placeholder text to deploy key textarea (#15575) (#15576) - * Project board improvements (#15429) (#15560) - * Repo branch page: label size, PR ref, new PR button alignment (#15363) (#15365) -* MISC - * Fix webkit calendar icon color on arc-green (#15713) (#15728) - * Performance improvement for last commit cache and show-ref (#15455) (#15701) - * Bump unrolled/render to v1.1.0 (#15581) (#15608) - * Add ETag header (#15370) (#15552) - -## [1.14.1](https://github.com/go-gitea/gitea/releases/tag/v1.14.1) - 2021-04-15 - -* BUGFIXES - * Fix bug clone wiki (#15499) (#15502) - * Github Migration ignore rate limit, if not enabled (#15490) (#15495) - * Use subdir for URL (#15446) (#15493) - * Query the DB for the hash before inserting in to email_hash (#15457) (#15491) - * Ensure review dismissal only dismisses the correct review (#15477) (#15489) - * Use index of the supported tags to choose user lang (#15452) (#15488) - * Fix wrong file link in code search page (#15466) (#15486) - * Quick template fix for built-in SSH server in admin config (#15464) (#15481) - * Prevent superfluous response.WriteHeader (#15456) (#15476) - * Fix ambiguous argument error on tags (#15432) (#15474) - * Add created_unix instead of expiry to migration (#15458) (#15463) - * Fix repository search (#15428) (#15442) - * Prevent NPE on avatar direct rendering if federated avatars disabled (#15434) (#15439) - * Fix wiki clone urls (#15430) (#15431) - * Fix dingtalk icon url at webhook (#15417) (#15426) - * Standardise icon on projects PR page (#15387) (#15408) -* ENHANCEMENTS - * Add option to skip LFS/attachment files for `dump` (#15407) (#15492) - * Clone panel fixes (#15436) - * Use semantic dropdown for code search query type (#15276) (#15364) -* BUILD - * Build go-git variants for windows (#15482) (#15487) - * Lock down build-images dependencies (Partial #15479) (#15480) -* MISC - * Performance improvement for list pull requests (#15447) (#15500) - * Fix potential copy lfs records failure when fork a repository (#15441) (#15485) - -## [1.14.0](https://github.com/go-gitea/gitea/releases/tag/v1.14.0) - 2021-04-11 - -* SECURITY - * Respect approved email domain list for externally validated user registration (#15014) - * Add reverse proxy configuration support for remote IP address detection (#14959) - * Ensure validation occurs on clone addresses too (#14994) - * Fix several render issues highlighted during fuzzing (#14986) -* BREAKING - * Fix double 'push tag' action feed (#15078) (#15083) - * Remove possible resource leak (#15067) (#15082) - * Handle unauthorized user events gracefully (#15071) (#15074) - * Restore Access.log following migration to Chi framework (Stops access logging of /api/internal routes) (#14475) - * Migrate from Macaron to Chi framework (#14293) - * Deprecate building for mips (#14174) - * Consolidate Logos and update README header (#14136) - * Inline manifest.json (#14038) - * Store repository data in data path if not previously set (#13991) - * Rename "gitea" png to "logo" (#13974) - * Standardise logging of failed authentication attempts in internal SSH (#13962) - * Add markdown support in organization description (#13549) - * Improve users management through the CLI (#6001) (#10492) -* FEATURES - * Create a new issue with reference to lines of code from file view (#14863) - * Repository transfer has to be confirmed, if user can not create repo for new owner (#14792) - * Allow blocking some email domains from registering an account (#14667) - * Create a new issue based on reference to an issue comment (#14366) - * Add support to migrate from gogs (#14342) - * Add pager to the branches page (#14202) - * Minimal OpenID Connect implementation (#14139) - * Display current stopwatch in navbar (#14122) - * Display SVG files as images instead of text (#14101) - * Disable SSH key deletion of externally managed Keys (#13985) - * Add support for ed25519_sk and ecdsa_sk SSH keys (#13462) - * Add support for Mastodon OAuth2 provider (#13293) - * Add gitea sendmail command (#13079) - * Create DB session provider(based on xorm) (#13031) - * Add dismiss review feature (#12674) - * Make manual merge autodetection optional and add manual merge as merge method (#12543) - * Dump github/gitlab/gitea repository data to a local directory and restore to gitea (#12244) - * Create Rootless Docker image (#10154) -* API - * Speedup issue search (#15179) (#15192) - * Get pull, return head branch sha, even if deleted (#14931) - * Export LFS & TimeTracking function status (#14753) - * Show Gitea version in swagger (#14654) - * Fix PATCH /repos/{owner}/{repo} panic (#14637) - * Add Restricted Field to User (#14630) - * Add support for ref parameter to get raw file API (#14602) - * Add affected files of commits to commit struct (#14579) - * Fix CJK fonts again and misc. font issues (#14575) - * Add delete release by tag & delete tag (#14563) & (#13358) - * Add pagination to ListBranches (#14524) - * Add signoff option in commit form (#14516) - * GetRelease by tag only return release (#14397) - * Add MirrorInterval to the API (#14163) - * Make BasicAuth Prefix case insensitive (#14106) - * Add user filter to issueTrackedTimes, enable usage for issue managers (#14081) - * Add ref to create/edit issue options & deprecated assignee (#13992) - * Add Ref to Issue (#13946) - * Expose default theme in meta and API (#13809) - * Send error message when CSRF token is missing (#13676) - * List, Check, Add & delete endpoints for repository teams (#13630) - * Admin EditUser: Make FullName, Email, Website & Location optional (#13562) - * Add more filters to issues search (#13514) - * Add review request api (#11355) -* BUGFIXES - * Fix delete nonexist oauth application 500 and prevent deadlock (#15384) (#15396) - * Always set the merge base used to merge the commit (#15352) (#15385) - * Upgrade to bluemonday 1.0.7 (#15379) (#15380) - * Turn RepoRef and RepoAssignment back into func(*Context) (#15372) (#15377) - * Move FCGI req.URL.Path fix-up to the FCGI listener (#15292) (#15361) - * Show diff on rename with diff changes (#15338) (#15339) - * Fix handling of logout event (#15323) (#15337) - * Fix CanCreateRepo check (#15311) (#15321) - * Fix xorm log stack level (#15285) (#15316) - * Fix bug in Wrap (#15302) (#15309) - * Drop the event source if we are unauthorized (#15275) (#15280) - * Backport Fix graph pagination (#15225) (#15249) - * Prevent NPE in CommentMustAsDiff if no hunk header (#15199) (#15200) - * should run RetrieveRepoMetas() for empty pr (#15187) (#15190) - * Move setting to enable closing issue via commit in non default branch to repo settings (#14965) - * Show correct issues for team dashboard (#14952) - * Ensure that new pull request button works on forked forks owned by owner of the root and reduce ambiguity (#14932) - * Only allow issue labels from owner repository or organization (#14928) - * Fix alignment of People and Teams right arrow on org homepage (#14924) - * Fix overdue marking of closed issues and milestones (#14923) - * Prevent panic when empty MilestoneID in repo/issue/list (#14911) - * Fix migration context data (#14910) - * Handle URLs with trailing slash (#14852) - * Add CORS config on to /login/oauth/access_token endpoint (#14850) - * Make searching issues by keyword case insensitive on DB (#14848) - * Prevent use of double sub-path and incorrect asset path in manifest (#14827) - * Fix link account ui (#14763) - * Fix preview status switch button on wiki editor (#14742) - * Fix github download on migration (#14703) - * Fix svg spacing (#14638) - * Prevent adding nil label to .AddedLabels or .RemovedLabels (#14623) - * Truncated organizations name (#14615) - * Exclude the current dump file from the dump (#14606) - * Use OldRef instead of CommitSHA for DeleteBranch comments (#14604) - * Ensure memcache caching works when TTL greater than 30 days (#14592) - * Remove NULs byte arrays passed to PostProcess (#14587) - * Restore detection of branches are equal on compare page (#14586) - * Fix incorrect key name so registerManualConfirm works (#14455) - * Fix close/reopen with comment (#14436) - * Allow passcode invalid error to appear (#14371) - * Escape branch names in compare url (#14364) - * Label and milestone webhooks on issue/pull creation (#14363) - * Handle NotifyCreateRef as create branch in feeds (#14245) - * Prevent clipping input text in Chrome + Segoe UI Font (#14179) - * Fix UI on edit auth source page (#14137) - * Fix git.parseTagData (#14105) - * Refactor get tag to remove unnecessary steps (#14058) - * Fix integrations test error with space in CURDIR path (#14056) - * Dropdown triangle fixes (#14028) - * Fix label of --id in admin delete user (#14005) - * Cause NotifyMigrateRepository to emit a repo create webhook (#14004) - * Update HEAD to match defaultBranch in template generation (#13948) - * Fix action avatar loading (#13909) - * Fix issue participants (#13893) - * Fix avatar template error (#13833) - * Fix review request notification email links when external issue tracker is enabled (#13723) - * Fix blame line alignment (#13542) - * Include OriginalAuthor in Reaction constraint (#13505) - * Comments on review should have the same sha (#13448) - * Fix whitespace rendering in diff (#13415) - * Fixed git args duplication (#13411) - * Fix bug on release publisherid migrations (#13410) - * Fix --port setting (#13288) - * Keep database transactions not too big (#13254) - * Git version check, ignore pre-releases constraints (#13234) - * Handle and propagate errors when checking if paths are Dirs, Files or Exist (#13186) - * Update Mirror IsEmpty status on synchronize (#13185) - * Use GO variable in go-check target (#13146) (#13147) -* ENHANCEMENTS - * UI style improvements - * Dropzone styling improvements (#15291) (#15374) - * Add size to Save function (#15264) (#15270) - * Monaco improvements (#15333) (#15345) - * Support .mailmap in code activity stats (#15009) - * Sort release attachments by name (#15008) - * Add ui.explore settings to control view of explore pages (#14094) - * Make internal SSH server host key path configurable (#14918) - * Hide resync all ssh principals when using internal ssh server (#14904) - * Add SameSite setting for cookies (#14900) - * Move Bleve and Elastic code indexers to use a common cat-file --batch (#14781) - * Add environment-to-ini to docker image (#14762) - * Add preview support for wiki editor when disable simpleMDE (#14757) - * Add easyMDE(simpleMDE) support for release content editor (#14744) - * Organization removal confirmation using name not password (#14738) - * Make branch names in PR description clickable (#14716) - * Add Password Algorithm option to install page (#14701) - * Add fullTextSearch to dropdowns by default (#14694) - * Fix truncated organization names (#14655) - * Whitespace in commits (#14650) - * Sort / move project boards (#14634) - * Make fileheader sticky in diffs (#14616) - * Add helper descriptions on new repo page (#14591) - * Move the stopwatches to the eventsource stream (#14588) - * Add Content-Length header to HEAD requests (#14542) - * Add Image Diff options in Diff view (#14450) - * Improve Description in new/ edit Project template (#14429) - * Allow ssh-keygen on Windows to detect ssh key type (#14413) - * Display error if twofaSecret cannot be retrieved (#14372) - * Sort issue search results by relevance (#14353) - * Implement ghost comment mitigation (#14349) - * Upgrade blevesearch dependency to v2.0.1 (#14346) - * Add edit, delete and reaction support to code review comments on issue page (#14339) - * Merge default and system webhooks under one menu (#14244) - * Add option for administrator to reset user 2FA (#14243) - * Add option to change username to the admin panel (#14229) - * Check for 'main' as potential default branch name (#14193) - * Project: show referenced PRs in issue cards (#14183) - * Use caddy's certmagic library for extensible/robust ACME handling (#14177) - * CLI support for OAuth sources custom icons (#14166) - * Custom icons for OAuth sources (#14161) - * Team dashboards (#14159) - * KanBan: be able to set default board (#14147) - * Disable Fomantic's custom scrollbars (#14109) - * Add UI to delete tracked times (#14100) - * Rework heatmap permissions (#14080) - * Issue and pull request filters on organization dashboard (#14072) - * Fix webhook list styling (#14001) - * Show dropdown with all statuses for commit (#13977) - * Show status check for merged PRs (#13975) - * Diff stat improvements (#13954) - * Report permissions denied in internal SSH (#13953) - * Markdown task list improvements (#13952) - * Heatmap days clickable (#13935) - * chore: use octicon-mirror for feeds display (#13928) - * Move diff split code into own template file (#13919) - * Markdown: Enable wrapping in code blocks and a color tweak (#13894) - * Do not reload page after adding comments in Pull Request reviews (#13877) - * Add pull request manually merge instruction (#13840) - * add thumbnail preview section to issue attachments (#13826) - * Move Repo APIFormat to convert package (#13787) - * Move notification APIFormat (#13783) - * Swap swagger-ui with swagger-ui-dist (#13777) - * User Settings: Ignore empty language codes & validate (#13755) - * Improve migrate page and add card CSS (#13751) - * Add block on official review requests branch protection (#13705) - * Add review requested filter on pull request overview (#13701) - * Use chronological commit order in default squash message (#13696) - * Clickable links in pull request (and issue) titles (#13695) - * Support shortened commit SHAs in URLs (#13686) - * Use native git variants by default with go-git variants as build tag (#13673) - * Don't render dropdown when only 1 merge style is available (#13670) - * Move webhook type from int to string (#13664) - * Direct avatar rendering (#13649) - * Verify password for local-account activation (#13631) - * Prevent clone protocol button flash on page load (#13626) - * Remove fetch request from heatmap (#13623) - * Refactor combine label comments with tests (#13619) - * Move metrics from macaron to chi (#13601) - * Issue and Pulls lists rework (#13594) - * HTTP cache rework and enable caching for storage assets (#13569) - * Use mount but not register for chi routes (#13555) - * Use monaco for the git hook editor (#13552) - * Make heatmap colors more distinct (#13533) - * Lazy-load issue reviewers and assignees avatars (#13526) - * Change search and filter icons to SVG (#13473) - * Create tag on ui (#13467) - * updateSize when create a repo with init commit (#13441) - * Added title and action buttons to Project view page (#13437) - * Override fomantic monospace fonts and set size (#13435) - * Rework focused comment styling (#13434) - * Tags cleanup (#13428) - * Various style tweaks (#13418) - * Refactor push update (#13381) - * Comment box tweaks and SVG dropdown triangles (#13376) - * Various style fixes (#13372) - * Change repo home page icons to SVG (#13364) - * Use CSS Vars for primary color (#13361) - * Refactor image paste code (#13354) - * Switch from SimpleMDE to EasyMDE (#13333) - * Group Label Changed Comments in timeline (#13304) - * Make the logger an interface (#13294) - * Fix PR/Issue titles on mobile (#13292) - * Rearrange the order of the merged by etc. in locale (#13284) - * Replace footer and modal icons with SVG (#13245) - * Issues overview should not show issues from archived repos (#13220) - * Show stale label for stale code comment which is marked as resolved (#13213) - * Use CSS Variables for fonts, remove postcss-loader (#13204) - * Add mentionable teams to tributeValues and change team mention rules to gh's style (#13198) - * Move install pages out of main macaron routes (#13195) - * Update outdated label to use Fomantic UI style (#13181) - * Added option to disable webhooks (#13176) - * Change order of possible-owner organizations to alphabetical (#13160) - * Log IP on SSH authentication failure for Built-in SSH server (#13150) - * Added option to disable migrations (#13114) - * New "Add Mirror" Button in the Organization view (#13105) - * Manually approve new registration (#13083) - * Cron job to cleanup hook_task table (#13080) - * Use the headline comment of pull-request as the squash commit's message (#13071) - * Clarify the suffices and prefixes of setting.AppSubURL and setting.AppURL (#12999) - * Slightly simplify the queue settings code to help reduce the risk of problems (#12976) - * Add precise search type for Elastic Search (#12869) - * Move APIFormat functions into convert package (#12856) - * Multiple GitGraph improvements: Exclude PR heads, Add branch/PR links, Show only certain branches, (#12766) - * Add TrN for repository limit (#12492) - * Refactor doctor (#12264) - * Add the tag list page to the release page (#12096) - * Redirect on changed user and org name (#11649) - * load U2F js only on pages which need it (#11585) - * Make archival asynchronous (#11296) - * Introduce go chi web framework as frontend of macaron, so that we can move routes from macaron to chi step by step (#7420) - * Improve vfsgen to not unzip bindata files but send to browser directly (#7109) - * Enhance release list (#6025) -* DOCS - * Swagger show models by default (#14880) - * Add missing repo.projects unit into swagger (#14876) - * Update docs and comments to remove macaron (#14491) - * Issue template addition: Are you using Gitea behind CloudFlare? (#14098) - * Generate man pages (#13901) - * Reformat/fine-tune docs (#13897) - * Added Table of Contents to long documentation pages (#13890) - * Add docs command (#13429) - * Update external-renderers.en-us.md (#13165) -* MISC - * Add builds for apple M1 (darwin arm64) (#14951) - * Migrate to use jsoniter instead of encoding/json (#14841) - * Reduce make verbosity (#13803) - * Add git command error directory on log (#13194) - -## [1.13.7](https://github.com/go-gitea/gitea/releases/tag/v1.13.7) - 2021-04-07 - -* SECURITY - * Update to bluemonday-1.0.6 (#15294) (#15298) - * Clusterfuzz found another way (#15160) (#15169) -* API - * Fix wrong user returned in API (#15139) (#15150) -* BUGFIXES - * Add 'fonts' into 'KnownPublicEntries' (#15188) (#15317) - * Speed up `enry.IsVendor` (#15213) (#15246) - * Response 404 for diff/patch of a commit that not exist (#15221) (#15238) - * Prevent NPE in CommentMustAsDiff if no hunk header (#15199) (#15201) -* MISC - * Add size to Save function (#15264) (#15271) - -## [1.13.6](https://github.com/go-gitea/gitea/releases/tag/v1.13.6) - 2021-03-23 - -* SECURITY - * Fix bug on avatar middleware (#15124) (#15125) - * Fix another clusterfuzz identified issue (#15096) (#15114) -* API - * Fix nil exeption for get pull reviews API #15104 (#15106) -* BUGFIXES - * Fix markdown rendering in milestone content (#15056) (#15092) - -## [1.13.5](https://github.com/go-gitea/gitea/releases/tag/v1.13.5) - 2021-03-21 - -* SECURITY - * Update to goldmark 1.3.3 (#15059) (#15061) - * Another clusterfuzz spotted issue (#15032) (#15034) -* API - * Fix set milestone on PR creation (#14981) (#15001) - * Prevent panic when editing forked repos by API (#14960) (#14963) -* BUGFIXES - * Fix bug when upload on web (#15042) (#15055) - * Delete Labels & IssueLabels on Repo Delete too (#15039) (#15051) - * Fix postgres ID sequences broken by recreate-table (#15015) (#15029) - * Fix several render issues (#14986) (#15013) - * Make sure sibling images get a link too (#14979) (#14995) - * Fix Anchor jumping with escaped query components (#14969) (#14977) - * Fix release mail html template (#14976) - * Fix excluding more than two labels on issues list (#14962) (#14973) - * Don't mark each comment poster as OP (#14971) (#14972) - * Add "captcha" to list of reserved usernames (#14930) - * Re-enable import local paths after reversion from #13610 (#14925) (#14927) - -## [1.13.4](https://github.com/go-gitea/gitea/releases/tag/v1.13.4) - 2021-03-07 - -* SECURITY - * Fix issue popups (#14898) (#14899) -* BUGFIXES - * Fix race in LFS ContentStore.Put(...) (#14895) (#14913) - * Fix a couple of issues with a feeds (#14897) (#14903) - * When transferring repository and database transaction failed, rollback the renames (#14864) (#14902) - * Fix race in local storage (#14888) (#14901) - * Fix 500 on pull view page if user is not loged in (#14885) (#14886) -* DOCS - * Fix how lfs data path is set (#14855) (#14884) - -## [1.13.3](https://github.com/go-gitea/gitea/releases/tag/v1.13.3) - 2021-03-04 - -* BREAKING - * Turn default hash password algorithm back to pbkdf2 from argon2 until we find a better one (#14673) (#14675) -* BUGFIXES - * Fix paging of file commit logs (#14831) (#14879) - * Print useful error if SQLite is used in settings but not supported (#14476) (#14874) - * Fix display since time round (#14226) (#14873) - * When Deleting Repository only explicitly close PRs whose base is not this repository (#14823) (#14842) - * Set HCaptchaSiteKey on Link Account pages (#14834) (#14839) - * Fix a couple of CommentAsPatch issues. (#14804) (#14820) - * Disable broken OAuth2 providers at startup (#14802) (#14811) - * Repo Transfer permission checks (#14792) (#14794) - * Fix double alert in oauth2 application edit view (#14764) (#14768) - * Fix broken spans in diffs (#14678) (#14683) - * Prevent race in PersistableChannelUniqueQueue.Has (#14651) (#14676) - * HasPreviousCommit causes recursive load of commits unnecessarily (#14598) (#14649) - * Do not assume all 40 char strings are SHA1s (#14624) (#14648) - * Allow org labels to be set with issue templates (#14593) (#14647) - * Accept multiple SSH keys in single LDAP SSHPublicKey attribute (#13989) (#14607) - * Fix bug about ListOptions and stars/watchers pagnation (#14556) (#14573) - * Fix GPG key deletion during account deletion (#14561) (#14569) - -## [1.13.2](https://github.com/go-gitea/gitea/releases/tag/v1.13.2) - 2021-01-31 - -* SECURITY - * Prevent panic on fuzzer provided string (#14405) (#14409) - * Add secure/httpOnly attributes to the lang cookie (#14279) (#14280) -* API - * If release publisher is deleted use ghost user (#14375) -* BUGFIXES - * Internal ssh server respect Ciphers, MACs and KeyExchanges settings (#14523) (#14530) - * Set the name Mapper in migrations (#14526) (#14529) - * Fix wiki preview (#14515) - * Update code.gitea.io/sdk/gitea v0.13.1 -> v0.13.2 (#14497) - * ChangeUserName: rename user files back on DB issue (#14447) - * Fix lfs preview bug (#14428) (#14433) - * Ensure timeout error is shown on u2f timeout (#14417) (#14431) - * Fix Deadlock & Delete affected reactions on comment deletion (#14392) (#14425) - * Use path not filepath in routers/editor (#14390) (#14396) - * Check if label template exist first (#14384) (#14389) - * Fix migration v141 (#14387) (#14388) - * Use Request.URL.RequestURI() for fcgi (#14347) - * Use ServerError provided by Context (#14333) (#14345) - * Fix edit-label form init (#14337) - * Fix mailIssueCommentBatch for pull request (#14252) (#14296) - * Render links for commit hashes followed by comma (#14224) (#14227) - * Send notifications for mentions in pulls, issues, (code-)comments (#14218) (#14221) - * Fix avatar bugs (#14217) (#14220) - * Ensure that schema search path is set with every connection on postgres (#14131) (#14216) - * Fix dashboard issues labels filter bug (#14210) (#14214) - * When visit /favicon.ico but the static file is not exist return 404 but not continue to handle the route (#14211) (#14213) - * Fix branch selector on new issue page (#14194) (#14207) - * Check for notExist on profile repository page (#14197) (#14203) - -## [1.13.1](https://github.com/go-gitea/gitea/releases/tag/v1.13.1) - 2020-12-29 - -* SECURITY - * Hide private participation in Orgs (#13994) (#14031) - * Fix escaping issue in diff (#14153) (#14154) -* BUGFIXES - * Fix bug of link query order on markdown render (#14156) (#14171) - * Drop long repo topics during migration (#14152) (#14155) - * Ensure that search term and page are not lost on adoption page-turn (#14133) (#14143) - * Fix storage config implementation (#14091) (#14095) - * Fix panic in BasicAuthDecode (#14046) (#14048) - * Always wait for the cmd to finish (#14006) (#14039) - * Don't use simpleMDE editor on mobile devices for 1.13 (#14029) - * Fix incorrect review comment diffs (#14002) (#14011) - * Trim the branch prefix from action.GetBranch (#13981) (#13986) - * Ensure template renderer is available before storage handler (#13164) (#13982) - * Whenever the password is updated ensure that the hash algorithm is too (#13966) (#13967) - * Enforce setting HEAD in wiki to master (#13950) (#13961) - * Fix feishu webhook caused by API changed (#13938) - * Fix Quote Reply button on review diff (#13830) (#13898) - * Fix Pull Merge when tag with same name as base branch exist (#13882) (#13896) - * Fix mermaid chart size (#13865) - * Fix branch/tag notifications in mirror sync (#13855) (#13862) - * Fix crash in short link processor (#13839) (#13841) - * Update font stack to bootstrap's latest (#13834) (#13837) - * Make sure email recipients can see issue (#13820) (#13827) - * Reply button is not removed when deleting a code review comment (#13824) - * When reinitialising DBConfig reset the database use flags (#13796) (#13811) -* ENHANCEMENTS - * Add emoji in label to project boards (#13978) (#14021) - * Send webhook when tag is removed via Web UI (#14015) (#14019) - * Use Process Manager to create own Context (#13792) (#13793) -* API - * GetCombinedCommitStatusByRef always return json & swagger doc fixes (#14047) - * Return original URL of Repositories (#13885) (#13886) - -## [1.13.0](https://github.com/go-gitea/gitea/releases/tag/v1.13.0) - 2020-12-01 - -* SECURITY - * Add Allow-/Block-List for Migrate & Mirrors (#13610) (#13776) - * Prevent git operations for inactive users (#13527) (#13536) - * Disallow urlencoded new lines in git protocol paths if there is a port (#13521) (#13524) - * Mitigate Security vulnerability in the git hook feature (#13058) - * Disable DSA ssh keys by default (#13056) - * Set TLS minimum version to 1.2 (#12689) - * Use argon as default password hash algorithm (#12688) -* BREAKING - * Set RUN_MODE prod by default (#13765) (#13767) - * Don't replace underscores in auto-generated IDs in goldmark (#12805) - * Add Primary Key to Topic and RepoTopic tables (#12639) - * Disable password complexity check default (#12557) - * Change PIDFile default from /var/run/gitea.pid to /run/gitea.pid (#12500) - * Add extension Support to Attachments (allow all types for releases) (#12465) - * Remove IE11 Support (#11470) -* FEATURES - * Adopt repositories (#12920) - * Check passwords against HaveIBeenPwned (#12716) - * Gitea 2 Gitea migration (#12657) - * Support storing Avatars in minio (#12516) - * Allow addition of gpg keyring with multiple keys (#12487) - * Add email notify for new release (#12463) - * Add Access-Control-Expose-Headers (#12446) - * UserProfile Page: Render Description (#12415) - * Add command to recreate tables (#12407) - * Add mermaid JS renderer (#12334) - * Add ssh certificate support (#12281) - * Add spent time to referenced issue in commit message (#12220) - * Initial support for push options (#12169) - * Provide option to unlink a fork (#11858) - * Show exact tag for commit on diff view (#11846) - * Pause, Resume, Release&Reopen, Add and Remove Logging from command line (#11777) - * Issue templates directory (#11450) - * Add a storage layer for attachments (#11387) - * Add hide activity option (#11353) - * Add push commits history comment on PR time-line (#11167) - * Support elastic search for code search (#10273) - * Kanban board (#8346) -* API - * If User is Admin, show 500 error message on PROD mode too (#13115) - * Add Timestamp to Tag list API (#13026) - * Return sample message for login error in api context (#12994) - * Add IsTemplate option in create repo ui and api (#12942) - * GetReleaseByID return 404 if not found (#12933) - * Get release by tags endpoint (#12932) - * NotificationSubject show Issue/Pull State (#12901) - * Expose its limitation settings (#12714) - * Add Created & Updated to Milestone (#12662) - * Milestone endpoints accept names too (#12649) - * Expose Attachment Settings in the API (#12514) - * Add Issue and Repo info to StopWatch (#12458) - * Add cron running API (#12421) - * Add Update Pull HeadBranch Function (#12419) - * Add TOTP header to Swagger Documentation (#12402) - * Delete Token accept names too (#12366) - * Add name filter for GetMilestoneList (#12336) - * Fixed count of filtered issues when api request. (#12275) - * Do not override API issue pagination with UI settings (#12068) - * Expose useful General Repo settings settings (#11758) - * Return error when trying to create Mirrors but Mirrors are globally disabled (#11757) - * Provide diff and patch API endpoints (#11751) - * Allow to create closed milestones (#11745) - * Add language Statistics endpoint (#11737) - * Add Endpoint to get GetGeneralUI Settings (#11735) & (#11854) - * Issue/Pull expose IsLocked Property on API (#11708) - * Add endpoint for Branch Creation (#11607) - * Add pagination headers on endpoints that support total count from database (#11145) -* BUGFIXES - * Fix bogus http requests on diffs (#13760) (#13761) - * Show 'owner' tag for real owner (#13689) (#13743) - * Validate email before inserting/updating (#13475) (#13666) - * Fix issue/pull request list assignee filter (#13647) (#13651) - * Gitlab migration support for subdirectories (#13563) (#13591) - * Fix logic for preferred license setting (#13550) (#13557) - * Add missed sync branch/tag webhook (#13538) (#13556) - * Migration won't fail on non-migrated reactions (#13507) - * Fix Italian language file parsing error (#13156) - * Show outdated comments in pull request (#13148) (#13162) - * Fix parsing of pre-release git version (#13169) (#13172) - * Fix diff skipping lines (#13154) (#13155) - * When handling errors in storageHandler check underlying error (#13178) (#13193) - * Fix size and clickable area on file table back link (#13205) (#13207) - * Add better error checking for inline html diff code (#13251) - * Fix initial commit page & binary munching problem (#13249) (#13258) - * Fix migrations from remote Gitea instances when configuration not set (#13229) (#13273) - * Store task errors following migrations and display them (#13246) (#13287) - * Fix bug isEnd detection on getIssues/getPullRequests (#13299) (#13301) - * When the git ref is unable to be found return broken pr (#13218) (#13303) - * Ensure topics added using the API are added to the repository (#13285) (#13302) - * Fix avatar autogeneration (#13233) (#13282) - * Add migrated pulls to pull request task queue (#13331) (#13334) - * Issue comment reactions should also check pull type on API (#13349) (#13350) - * Fix links to repositories in /user/setting/repos (#13360) (#13362) - * Remove obsolete change of email on profile page (#13341) (#13347) - * Fix scrolling to resolved comment anchors (#13343) (#13371) - * Storage configuration support `[storage]` (#13314) (#13379) - * When creating line diffs do not split within an html entity (#13357) (#13375) (#13425) (#13427) - * Fix reactions on code comments (#13390) (#13401) - * Add missing full names when DEFAULT_SHOW_FULL_NAME is enabled (#13424) - * Replies to outdated code comments should also be outdated (#13217) (#13433) - * Fix panic bug in handling multiple references in commit (#13486) (#13487) - * Prevent panic on git blame by limiting lines to 4096 bytes at most (#13470) (#13491) - * Show original author's reviews on pull summary box (#13127) - * Update golangci-lint to version 1.31.0 (#13102) - * Fix line break for MS teams webhook (#13081) - * Fix Issue & Pull Request comment headers on mobile (#13039) - * Avoid setting the CONN_STR in queues unless it is meant to be set (#13025) - * Remove code-view class from diff view (#13011) - * Fix the color of PR comment hyperlinks. (#13009) - * (Re)Load issue labels when changing them (#13007) - * Fix Media links in org files not liked to media files (#12997) - * Always return a list from GetCommitsFromIDs (#12981) - * Only set the user password if the password field would have been shown (#12980) - * Fix admin/config page (#12979) - * Changed width of commit signature avatar (#12961) - * Completely quote AppPath and CustomConf paths (#12955) - * Fix handling of migration errors (#12928) - * Fix anonymous GL migration (#12862) - * Fix git open close bug (#12834) - * Fix markdown meta parsing (#12817) - * Add default storage configurations (#12813) - * Show PR settings on empty repos (#12808) - * Disable watch and star if not signed in (#12807) - * Whilst changing the character set to utf8mb4 we should set ROW_FORMAT=dynamic too (#12804) - * Set opengraph attributes on org pages (#12803) - * Return error when creating gitlabdownloader failed (#12790) - * Add migration for password algorithm change (#12784) - * Compare SSH_DOMAIN when parsing submodule URLs (#12753) - * Fix editor.commit_empty_file_text locale string (#12744) - * Fix wrong poster message for code comment on Pull view (#11721) - * Escape failed highlighted files (#12685) - * Ensure that all migration requests are cancellable (#12669) - * Ensure RepoPath is lowercased in gitea serv (#12668) - * Do not disable commit changes button on repost (#12644) - * Dark theme for line numbers in blame view (#12632) - * Fix message when deleting last owner from an organization (#12628) - * Use shellquote to unpack arguments to gitea serv (#12624) - * Fix signing.wont_sign.%!s() if Require Signing commits but not signed in. (#12581) - * Set utf8mb4 as the default charset on MySQL if CHARSET is unset (#12563) - * Set context for running CreateArchive to that of the request (#12555) - * Prevent redirect back to /user/events (#12462) - * Re-attempt to delete temporary upload if the file is locked by another process (#12447) - * Mirror System Notice reports are too frequent (#12438) - * Do not show arrows on comment diffs on pull comment pages (#12434) - * Fix milestone links (#12405) - * Increase size of the language column in language_stat (#12396) - * Use transaction in V102 migration (#12395) - * Only use --exclude on name-rev with git >= 2.13 (#12347) - * Add action feed for new release (#12324) - * Set NoAutoTime when updating is_archived (#12266) - * Support Force-update in Mirror and improve Tracing in mirror (#12242) - * Avoid sending "0 new commits" webhooks (#12212) - * Fix U2F button icon (#12167) - * models/repo_sign.go: break out of loops (#12159) - * Ensure that git commit tree continues properly over the page (#12142) - * Rewrite GitGraph.js (#12137) - * Fix repo API listing stability (#12057) - * Add team support for review request (#12039) - * Fix 500 error on repos with no tags (#11870) - * Fix nil pointer in default issue mail template (#11862) - * Fix commit search in all branches (#11849) - * Don't consider tag refs as valid for branch name (#11847) - * Don't add same line code comment box twice (#11837) - * Fix visibility of forked public repos from private orgs (#11717) - * Fix chardet test and add ordering option (#11621) - * Fix number of files, total additions, and deletions on Diff pages (#11614) - * Properly handle and return empty string for dangling commits in GetBranchName (#11587) - * Include query in sign in redirect (#11579) - * Fix Enter not working in SimpleMDE (#11564) - * Fix bug about can't skip commits base on base branch (#11555) -* ENHANCEMENTS - * Only Return JSON for responses (#13511) (#13565) - * Use existing analyzer module for language detection for highlighting (#13522) (#13551) - * Return the full rejection message and errors in flash errors (#13221) (#13237) - * Remove PAM from auth dropdown when unavailable (#13276) (#13281) - * Add HostCertificate to sshd_config in Docker image (#13143) - * Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) - * Improve error feedback for duplicate deploy keys (#13112) - * Set appropriate `autocomplete` attributes on password fields (#13078) - * Adding visual cue for "Limited" & "Private" organizations. (#13040) - * Fix Pull Request merge buttons on mobile (#13035) - * Gitea serv, hooks, manager and the like should always display Fatals (#13032) - * CSS tweaks to warning/error segments and misc fixes (#13024) - * Fix formatting of branches ahead-behind on narrow windows (#12989) - * Add config option to make create-on-push repositories public by default (#12936) - * Disable migration items when mirror is selected (#12918) - * Add the checkbox quick button to the comment tool bar also (#12885) - * Support GH enterprise (#12863) - * Simplify CheckUnitUser logic (#12854) - * Fix background of signed-commits on arc-green of timeline commits (#12837) - * Move git update-server-info to hooks (#12826) - * Add ui style for "Open a blank issue" button (#12824) - * Use a simple format for the big number on ui (#12822) - * Make SVG size argument optional (#12814) - * Add placeholder text for bio profile text form (#12792) - * Set language via AJAX (#12785) - * Show git-pull-request icon for closed pull request (#12742) - * Migrate version parsing library to hashicorp/go-version (#12719) - * Only use async pre-empt hack if go < 1.15 (#12718) - * Inform user about meaning of an hourglass on reviews (#12713) - * Add a migrate service type switch page (#12697) - * Migrations: Gitlab Add Reactions Support for Issues & MergeRequests (#12695) - * Remove duplicate logic in initListSubmits (#12660) - * Set avatar image dimensions (#12654) - * Rename models.ProtectedBranchRepoID/PRID to models.EnvRepoID/PRID and ensure EnvPusherEmail is set (#12646) - * Set setting.AppURL as GITEA_ROOT_URL environment variable during pushes (#12752) - * Add postgres schema to the search_path on database connection (#12634) - * Git migration UX improvements (#12619) - * Add link to home page on swagger ui (#12601) - * hCaptcha Support (#12594) - * OpenGraph: use repo avatar if exist (#12586) - * Reaction picker display improvements (#12576) - * Fix emoji replacements, make emoji images consistent (#12567) - * Increase clickable area on files table links (#12553) - * Set z-index for sticky diff box lower (#12537) - * Report error if API merge is not allowed (#12528) - * LFS support to be stored on minio (#12518) - * Show 2FA info on Admin Pannel: Users List (#12515) - * Milestone Issue/Pull List: Add octicons type (#12499) - * Make dashboard newsfeed list length a configurable item (#12469) - * Add placeholder text for send testing email button in admin/config (#12452) - * Add SVG favicon (#12437) - * In issue comments, put issue participants also in completion list when hitting @ (#12433) - * Collapse Swagger UI tags by default (#12428) - * Detect full references to issues and pulls in commit messages (#12399) - * Allow common redis and leveldb connections (#12385) - * Don't use legacy method to send Matrix Webhook (#12348) - * Remove padding/border-radius on image diffs (#12346) - * Render the git graph on the server (#12333) - * Fix clone panel in wiki position not always align right (#12326) - * Rework 'make generate-images' (#12316) - * Refactor webhook payload conversion (#12310) - * Move jquery-minicolors to npm/webpack (#12305) - * Support use nvarchar for all varchar columns when using mssql (#12269) - * Update Octicons to v10 (#12240) - * Disable search box autofocus (#12229) - * Replace code fold icons with octicons (#12222) - * Ensure syntax highlighting is the same inside diffs (#12205) - * Auto-init repo on license, .gitignore select (#12202) - * Default to showing closed Issues/PR list when there are only closed issues/PRs (#12200) - * Enable cloning via Git Wire Protocol v2 over HTTP (#12170) - * Direct SVG rendering (#12157) - * Improve arc-green code colors (#12111) - * Allow admin to merge pr with protected file changes (#12078) - * Show description on individual milestone view (#12055) - * Update the wiki repository remote origin while update the mirror repository's Clone From URL (#12053) - * Server-side syntax highlighting for all code (#12047) - * Use Fomantic's fluid padded for blame full width (#12023) - * Use custom SVGs for commit signing lock icon (#12017) - * Make tabs smaller (#12003) - * Fix sticky diff stats container (#12002) - * Move fomantic and jQuery to main webpack bundle (#11997) - * Use enry language type to detect special languages (#11974) - * Use only first line of commit when creating referenced comment (#11960) - * Rename custom/conf/app.ini.sample to custom/conf/app.example.ini for better syntax light on editor (#11926) - * Fix double divider on issue sidebar (#11919) - * Shorten markdown heading anchors links (#11903) - * Add org avatar on top of internal repo icon (#11895) - * Use label to describe repository type (#11891) - * Make repository size unclickable on repo summary bar (#11887) - * Rework blame template and styling (#11885) - * Fix icon alignment for show/hide outdated link on resolved conversation (#11881) - * Vertically align review icons on repository sidebar (#11880) - * Better align items using flex within review request box (#11879) - * Only write to global gitconfig if necessary (#11876) - * Disable all typographic replacements in markdown renderer (#11871) - * Improve label edit buttons labels (#11841) - * Use crispEdges rendering for octicon-internal-repo (#11801) - * Show update branch item in merge box when it's necessary (#11761) - * Add compare link to releases (#11752) - * Allow site admin to disable mirrors (#11740) - * Export monaco editor on window.codeEditors (#11739) - * Add configurable Trust Models (#11712) - * Show full GPG commit status on PR commit history (#11702) - * Fix align issues and decrease avatar size on PR timeline (#11689) - * Replace jquery-datetimepicker with native date input (#11684) - * Change Style of Tags on Comments (#11668) - * Fix missing styling for shabox on PR commit history (#11625) - * Apply padding to approval icons on PR list (#11622) - * Fix message wrapping on PR commit list (#11616) - * Right-align status icon on pull request commit history (#11594) - * Add missing padding for multi-commit list on PR view (#11593) - * Do not show avatar for "{{user}} added X commits" (#11591) - * Fix styling and padding for commit list on PR view (#11588) - * Style code review comment for arc-green (#11572) - * Use default commit message for wiki edits (#11550) - * Add internal-repo octicon for public repos of private org (#11529) - * Fix dropzone color on arc-green (#11514) - * Insert ui divider directly in templates instead of from inside heatmap vue component (#11508) - * Move tributejs to npm/webpack (#11497) - * Fix text-transform on wiki revisions page (#11486) - * Do not show lock icon on repo list for public repos in private org (#11445) - * Include LFS when calculating repo size (#11060) - * Add check for LDAP group membership (#10869) - * When starting new stopwatch stop previous if it is still running (#10533) - * Add queue for code indexer (#10332) - * Move all push update operations to a queue (#10133) - * Cache last commit when pushing for big repository (#10109) - * Change/remove a branch of an open issue (#9080) - * Sortable Tables Header By Click (#7980) -* TESTING - * Use community codecov drone plugin (#12468) - * Add more tests for diff highlighting (#12467) - * Don't put integration test data outside of test folder (#11746) - * Add debug option to hooks (#11624) - * Log slow tests (#11487) -* TRANSLATION - * Translate two small lables on commit statutes list (#12821) - * Make issues.force_push_codes message shorter (#11575) -* BUILD - * Bump min required golang to 1.13 (#12717) - * Add 'make watch' (#12636) - * Extract Swagger CSS to its own file (#12616) - * Update eslint config (#12609) - * Avoid unnecessary system-ui expansion (#12522) - * Make the default PID file compile-time settable (#12485) - * Add 'watch-backend' (#12330) - * Detect version of sed in Makefile (#12319) - * Update gitea-vet to v0.2.1 (#12282) - * Add logic to build stable and edge builds for gitea snap (#12052) - * Fix missing CGO_EXTRA_FLAGS build arg for docker (#11782) - * Alpine 3.12 (#11720) - * Enable stylelint's shorthand-property-no-redundant-values (#11436) -* DOCS - * Change default log configuration (#13088) - * Add automatic JS license generation (#11810) - * Remove page size limit comment from swagger (#11806) - * Narrow down Edge version in browser support docs (#11640) - -## [1.12.5](https://github.com/go-gitea/gitea/releases/tag/v1.12.5) - 2020-10-01 - -* BUGFIXES - * Allow U2F with default settings for gitea in subpath (#12990) (#13001) - * Prevent empty div when editing comment (#12404) (#12991) - * On mirror update also update address in DB (#12964) (#12967) - * Allow extended config on cron settings (#12939) (#12943) - * Open transaction when adding Avatar email-hash pairs to the DB (#12577) (#12940) - * Fix internal server error from ListUserOrgs API (#12910) (#12915) - * Update only the repository columns that need updating (#12900) (#12912) - * Fix panic when adding long comment (#12892) (#12894) - * Add size limit for content of comment on action ui (#12881) (#12890) - * Convert User expose ID each time (#12855) (#12883) - * Support slashes in release tags (#12864) (#12882) - * Add missing information to CreateRepo API endpoint (#12848) (#12867) - * On Migration respect old DefaultBranch (#12843) (#12858) - * Fix notifications page links (#12838) (#12853) - * Stop cloning unnecessarily on PR update (#12839) (#12852) - * Escape more things that are passed through str2html (#12622) (#12850) - * Remove double escape on labels addition in comments (#12809) (#12810) - * Fix "only mail on mention" bug (#12775) (#12789) - * Fix yet another bug with diff file names (#12771) (#12776) - * RepoInit Respect AlternateDefaultBranch (#12746) (#12751) - * Fix Avatar Resize (resize algo NearestNeighbor -> Bilinear) (#12745) (#12750) -* ENHANCEMENTS - * gitea dump: include version & Check InstallLock (#12760) (#12762) - -## [1.12.4](https://github.com/go-gitea/gitea/releases/tag/v1.12.4) - 2020-09-02 - -* SECURITY - * Escape provider name in oauth2 provider redirect (#12648) (#12650) - * Escape Email on password reset page (#12610) (#12612) - * When reading expired sessions - expire them (#12686) (#12690) -* ENHANCEMENTS - * StaticRootPath configurable at compile time (#12371) (#12652) -* BUGFIXES - * Fix to show an issue that is related to a deleted issue (#12651) (#12692) - * Expire time acknowledged for cache (#12605) (#12611) - * Fix diff path unquoting (#12554) (#12575) - * Improve HTML escaping helper (#12562) - * models: break out of loop (#12386) (#12561) - * Default empty merger list to those with write permissions (#12535) (#12560) - * Skip SSPI authentication attempts for /api/internal (#12556) (#12559) - * Prevent NPE on commenting on lines with invalidated comments (#12549) (#12550) - * Remove hardcoded ES indexername (#12521) (#12526) - * Fix bug preventing transfer to private organization (#12497) (#12501) - * Keys should not verify revoked email addresses (#12486) (#12495) - * Do not add prefix on http/https submodule links (#12477) (#12479) - * Fix ignored login on compare (#12476) (#12478) - * Fix incorrect error logging in Stats indexer and OAuth2 (#12387) (#12422) - * Upgrade google/go-github to v32.1.0 (#12361) (#12390) - * Render emoji's of Commit message on feed-page (#12373) - * Fix handling of diff on unrelated branches when Git 2.28 used (#12370) - -## [1.12.3](https://github.com/go-gitea/gitea/releases/tag/v1.12.3) - 2020-07-28 - -* BUGFIXES - * Don't change creation date when updating Release (#12343) (#12351) - * Show 404 page when release not found (#12328) (#12332) - * Fix emoji detection in certain cases (#12320) (#12327) - * Reduce emoji size (#12317) (#12327) - * Fix double-indirection bug in logging IDs (#12294) (#12308) - * Link to pull list page on sidebar when view pr (#12256) (#12263) - * Extend Notifications API and return pinned notifications by default (#12164) (#12232) - -## [1.12.2](https://github.com/go-gitea/gitea/releases/tag/v1.12.2) - 2020-07-11 - -* BUGFIXES - * When deleting repository decrese user repository count in cache (#11954) (#12188) - * Return full commit message instead of summary in commits API (#12186) (#12187) - * Properly set HEAD when a repo is created with a default branch that is not named 'master' (#12135) (#12182) - * Ensure GPG Subkeys are verified (#12155) (#12168) - * Fix failing to cache last commit with key being to long (#12151) (#12161) - * Multiple small admin dashboard fixes (#12153) (#12156) - * Remove spurious logging of " Delete all repository archives" at startup (#12139) (#12148) - * Fix repository setup instructions when default branch is not named 'master' (#12122) (#12147) - * Move EventSource to SharedWorker (#12095) (#12130) - * Fix ui bug in wiki commit page (#12089) (#12125) - * Fix gitgraph branch continues after merge (#12044) (#12105) - * Set the base url when migrating from Gitlab using access token or username without password (#11852) (#12104) - * Ensure BlameReaders close at end of request (#12102) (#12103) - * Fix panic when adding review comment (#12058) -* ENHANCEMENTS - * Disable dropzone's timeout for file uploads (#12024) (#12032) - -## [1.12.1](https://github.com/go-gitea/gitea/releases/tag/v1.12.1) - 2020-06-21 - -* BUGFIXES - * Handle multiple merges in gitgraph.js (#11996) (#12000) - * Add serviceworker.js to KnownPublicEntries (#11992) (#11994) - * For language detection do not try to analyze big files by content (#11971) (#11975) -* ENHANCEMENTS - * Fix scrollable header on dropdowns (#11893) (#11965) - -## [1.11.8](https://github.com/go-gitea/gitea/releases/tag/v1.11.8) - 2020-06-21 - -* BUGFIXES - * Really fix __webpack_public_path__ for 1.11 (#11961) - -## [1.12.0](https://github.com/go-gitea/gitea/releases/tag/v1.12.0) - 2020-06-17 - -* BREAKING - * When using API CreateRelease set created_unix to the tag commit time (#11218) - * Enable ENABLE_HARD_LINE_BREAK by default for rendering markdown (#11162) - * Fix sanitizer config - multiple rules (#11133) - * Remove check on username when using AccessToken authentication for the API (#11015) - * Return 404 from Contents API when items don't exist (#10323) - * Notification API should always return a JSON object with the current count of notifications (#10059) - * Remove migration support from versions earlier than 1.6.0 (#10026) -* SECURITY - * Use -1 to disable key algorithm type in ssh.minimum_key_sizes (#11635) (#11662) -* FEATURES - * Improve config logging when WrappedQueue times out (#11174) - * Add branch delete to API (#11112) - * Use markdown frontmatter to provide Table of contents, language and frontmatter rendering (#11047) - * Add a way to mark Conversation (code comment) resolved (#11037) - * Handle yaml frontmatter in markdown (#11016) - * Cache PullRequest Divergence (#10914) - * Make `gitea admin auth list` formatting configurable (#10844) - * Add Matrix webhook (#10831) - * Add Organization Wide Labels (#10814) - * Allow to set protected file patterns for files that can not be changed under no conditions (#10806) - * Option to set default branch at repository creation (#10803) - * Add request review from specific reviewers feature in pull request (#10756) - * Add NextCloud oauth (#10562) - * System-wide webhooks (#10546) - * Relax sanitization as per https://github.com/jch/html-pipeline (#10527) - * Use media links for img in post-process (#10515) - * Add API endpoints to manage OAuth2 Application (list/create/delete) (#10437) - * Render READMEs in docs/ .gitea or .github from root (#10361) - * Add feishu webhook support (#10229) - * Cache last commit to accelerate the repository directory page visit (#10069) - * Implement basic app.ini and path checks to doctor cmd (#10064) - * Make WorkerPools and Queues flushable (#10001) - * Implement "embedded" command to extract static resources (#9982) - * Add API endpoint for repo transfer (#9947) - * Make archive prefixing configurable with a global setting (#9943) - * Add Unique Queue infrastructure and move TestPullRequests to this (#9856) - * Issue/PR Context Popups (#9822) - * Add "Update Branch" button to Pull Requests (#9784) - * Add require signed commit for protected branch (#9708) - * Mark PR reviews as stale at push and allow to dismiss stale approvals (#9532) - * Add API notification endpoints (#9488) - * Issue search support elasticsearch (#9428) - * Add API branch protection endpoint (#9311) - * Add a new command doctor to check if some wrong configurations on gitea instance (#9095) - * Add support for migrating from Gitlab (#9084) - * Add support for database schema in PostgreSQL (#8819) - * Add setting to set default and global disabled repository units. (#8788) - * Language statistics bar for repositories (#8037) - * Restricted users (#6274) -* BUGFIXES - * Fix commenting on non-utf8 encoded files (#11916) (#11950) - * Use google/uuid to instead satori/go.uuid (#11943) (#11946) - * Align show/hide outdated button on code review block (#11932) (#11944) - * Update to go-git v5.1.0 (#11936) (#11941) - * Use ID or Where to instead directly use Get when load object from database (#11925) (#11934) - * Update CommitsAhead CommitsBehind on Pull BaseBranch Change too (#11912) (#11915) - * Invalidate comments when file is shortened (#11882) (#11884) - * Rework api/user/repos for pagination (#11827) (#11877) - * Handle more pathological branch and tag names (#11843) (#11863) - * Add doctor check to set IsArchived false if it is null (partial #11853) (#11859) - * Prevent panic on empty HOST for mysql (#11850) (#11856) - * Use DEFAULT_PAGING_NUM instead of MAX_RESPONSE_ITEMS in ListOptions (#11831) (#11836) - * Fix reply octicon (#11821) (#11822) - * Honor DEFAULT_PAGING_NUM for API (#11805) (#11813) - * Ensure rejected push to refs/pull/index/head fails nicely (#11724) (#11809) - * In File Create/Update API return 404 if Branch does not exist (#11791) (#11795) - * Fix doer of rename repo (#11789) (#11794) - * Initialize SimpleMDE when making a code comment (#11749) (#11785) - * Fix timezone on issue deadline (#11697) (#11784) - * Fix to allow comment poster to edit or delete his own comments (#11671) (#11774) - * Show full 500 error in API when Gitea in dev mode (#11641) (#11753) - * Add missing templates for Matrix system webhooks (#11729) (#11748) - * Fix verification of subkeys of default gpg key (#11713) (#11747) - * Fix styling for commiter on diff view (#11715) (#11744) - * Properly truncate system notices (#11714) (#11742) - * Handle expected errors in FileCreate & FileUpdate API (#11643) (#11718) - * Fix missing authorization check on pull for public repos of private/limited org (#11656) (#11682) - * Doctor check & fix db consistency (#11111) (#11676) - * Exclude generated files from language statistics (#11653) (#11670) - * Return json on 500 error from API (#11574) (#11659) - * When must change password only show Signout (#11600) (#11637) - * Backport various styling fixes (#11619) - * Fix wrong milestone in webhook message (#11596) (#11611) - * Fix serviceworker output file and misc improvements (#11562) (#11610) - * When initialising repositories ensure that the user doing the creation is the initializer (#11601) (#11608) - * Prevent empty query parameter being set on dashboard (#11561) (#11604) - * Fix images in wiki edit preview (#11546) (#11602) - * Prevent (caught) panic on login (#11590) (#11597) - * Prevent transferring repos to invisible orgs (#11517) (#11549) - * Move serviceworker to workbox and fix SSE interference (#11538) (#11547) - * API PullReviewComment HTMLPullURL should return the HTMLURL (#11501) (#11533) - * Fix repo-list private and total count bugs (#11500) (#11532) - * Fix form action template substitutions on admin pages (backport #11519) (#11531) - * Fix a bug where the reaction emoji doesn't disappear. (#11489) (#11530) - * TrimSpace when reading InternalToken from a file (#11502) (#11524) - * Fix selected line color in arc-green (#11492) (#11520) - * Make localstorage read ssh or https correctly (#11483) (#11490) - * Check branch protection on IsUserAllowedToUpdate (#11448) - * Fix margin on attached segment headers when they are separated by other element (#11425) - * Fix webhook template when validation errors occur (#11421) - * Fix NPE in template due to missing signing key on commit page (#11392) - * Restore active background to Register button on Register page (#11390) - * Fix hook failure due to relative LFS_CONTENT_PATH (#11362) - * Correctly set the organization num repos (#11339) - * Prevent 500 with badly formed task list (#11328) - * Allow compare page to look up base, head, own-fork, forkbase-of-head (#11327) - * Handle panics that percolate up to the graceful module (#11291) - * Don't allow registration via the web form, when AllowOnlyExternalRegistration is True (#11248) - * Patch fomantic-ui to workaround build issue (#11244) - * Prevent panic during wrappedConn close at hammertime (#11219) - * On logout force redirect to start page (#11202) - * Fix creation of Organization repos by Users with max created personal repos (#11183) - * Add option to increase provided OAuth2 token maximum size (#11180) - * Log the indexer path on failure (#11172) - * Ensure that relative paths in edit preview work (#11143) - * Make API EditIssue and EditPullRequest issue notifications (#11123) - * Send 404 immediately for known public requests (#11117) - * Remove nil inserts in models (#11096) - * Add GetReviews() to RetryDownloader (#11093) - * Remove nonexistent serviceworker entries (#11091) - * Simplify and fix GetApprovalCounts (#11086) - * Fix wiki revision template and simplify some tmpl conditions (#11080) - * Make branch parameter optional for /api/v1/repos/{owner}/{repo}/contents/{filepath} (#11067) - * Align review-item svg octicons (#11065) - * Automatically remove Watches, Assignments, etc if user loses access due to being removed as collaborator or from a team (#10997) - * Users should not be able to prohibit their own login (#10970) - * Fix scrollbar issues in dropdowns (#10897) - * Change the order of issues.closed_by to list opening user first (#10876) - * Allow site admin to check /api/v1/orgs endpoints (#10867) - * Avoid logging []byte in queue failures - convert to string first (#10865) - * Use ErrKeyUnableToVerify if fail to calc fingerprint in ssh-keygen (#10863) - * Fix assignees double load bug (#10856) - * Handle push rejection in branch and upload (#10854) - * In authorized_keys use double-quote for windows compatibility (#10841) - * Fix milestone template (#10824) - * log.Fatal on failure to listen to SSH port (#10795) - * Fix forked repo has no icon and language stat. (#10791) - * Fix tag/release deletion (#10663) - * Fix webhook migration (#10641) - * Migration for deleting orphaned dependencies (#10617) - * Add migration to fix the old broken merge-bases (#10604) - * Update templates for Go 1.14 (#10596) - * Remove unnecessary parentheses in wiki/view template (#10583) - * Change default value of DefaultCommandExecutionTimeout to match docs (#10581) - * Handle panic in indexer initialisation better (#10534) - * Set correct content_type value for Gogs/Gitea webhooks (#9504) (#10456) - * Fixed wrong AppSubUrl in multiple templates (#10447) - * Fix profile page CSS (#10406) - * Inject SVG sprite via ajax (#10320) - * Fix migration information update bug when linked github account (#10310) - * Allow admin to check org membership by API for other users (#10201) - * Fix topics dropdown (#10167) - * Ensure DeleteUser is not allowed to Delete Orgs and visa versa (#10134) - * Fix IsErrPullClosed (#10093) - * Accept punctuation after simple+cross repository issue references (#10091) - * On merge of already closed PR redirect back to the pulls page (#10010) - * Fix crowdin update script (#9969) - * Fix pull view when head repository or head branch missed and close related pull requests when delete head repository or head branch (#9927) - * Add option to prevent LDAP from deactivating everything on empty search (#9879) - * Fix admin handling at merge of PR (#9749) - * err_admin_name_pattern_not_allowed String Clarification (#9731) - * Fix wrong original git service type on a migrated repository (#9693) - * Fix ref links in issue overviews for tags (#8742) -* ENHANCEMENTS - * Fix search form button overlap (#11840) (#11864) - * Make tabular menu styling consistent for arc-green (#11570) (#11798) - * Add option to API to update PullRequest base branch (#11666) (#11796) - * Increase maximum SQLite variables count to 32766 (#11696) (#11783) - * Update emoji dataset with skin tone variants (#11678) (#11763) - * Add logging to long migrations (#11647) (#11691) - * Change language statistics to save size instead of percentage (#11681) (#11690) - * Allow different HardBreaks settings for documents and comments (#11515) (#11599) - * Fix alignment for commits on dashboard (#11595) (#11680) - * Default MSSQL port 0 to allow automatic detection by default (#11642) (#11673) - * Handle expected errors in AddGPGkey API (#11644) (#11661) - * Close EventSource before unloading the page (#11539) (#11557) - * Ensure emoji render with regular font-weight (#11541) (#11545) - * Fix webpack chunk loading with STATIC_URL_PREFIX (#11526) (#11542) - * Tweak reaction buttons (#11516) - * Use more toned colors for selected line (#11493) (#11511) - * Increase width for authors on commit view (#11441) - * Hide archived repos by default in repo-list (#11440) - * Better styling for code review comment textarea (#11428) - * Support view individual commit for wiki pages (#11415) - * Fix yellow background on active elements in code review (#11414) - * Better styling for code review comment form (#11413) - * Change install description on homepage (#11395) - * Ensure search action button is coalesced to adjacent input (#11385) - * Switch code editor to Monaco (#11366) - * Add paging and archive/private repository filtering to dashboard list (#11321) - * Changed image of openid-connect logo for better look on arc-green theme (#11312) - * Load Repo Topics on blame view too (#11307) - * Change the style in admin notice content view from `

` to `

` (#11301)
-  * Allow log.xxx.default to set logging settings for the default logger only (#11292)
-  * Automatically attempt auto recovery of broken disk queues (Update lunny/levelqueue to 0.3.0) (#11285)
-  * Make sendmail a Process and have default timeout (#11256)
-  * Check value of skip-repository flag in dump command (#11254)
-  * Fix submit review form (#11252)
-  * Allow unauthenticated users to compare (#11240)
-  * Add EventSource support (#11235)
-  * Refactor Milestone related (#11225)
-  * Add pull review API endpoints (#11224)
-  * Add a 'this' to issue close/reopened messages (#11204)
-  * When migrating from Gitlab map Approvals to approving Reviews (#11147)
-  * Improve representation of attachments in issues (#11141)
-  * Protect default branch against deletion (#11115)
-  * Add X-Total-Count on /repos/{owner]/{repo}/pulls API endpoint (#11113)
-  * Fix status label on branches list vertical alignment (#11109)
-  * Add single release page and latest redirect (#11102)
-  * Add missing commit states to PR checks template (#11085)
-  * Change icon on title for merged PR to git-merge (#11064)
-  * Add MergePull comment type instead of close for merge PR (#11058)
-  * Upgrade jQuery to 3.5.0, remove jQuery-Migrate, fix deprecations (#11055)
-  * Consolidate author name across timeline (#11053)
-  * Refactor UpdateOAuth2Application (#11034)
-  * Support unicode emojis and remove emojify.js (#11032)
-  * Add git hook "warning" to admin panel (#11030)
-  * Add flash notify for email preference setting success (#11027)
-  * Remove package code.gitea.io/gitea/modules/git import out of models (#11025)
-  * Match arc-green code tag color to code blocks (#11023)
-  * Move syntax highlighting to web worker (#11017)
-  * Prevent merge of outdated PRs on protected branches (#11012)
-  * Add Get/Update for api/v1/user/applications/oauth2 (#11008)
-  * Upgrade to most recent bluemonday (#11007)
-  * Tweak code tags in markdown (#11000)
-  * Reject duplicate AccessToken names (#10994)
-  * Fix Ctrl-Enter shortcut for issues (#10986)
-  * Provide `OwnerName` field for README template (#10981)
-  * Prettify Timeline (#10972)
-  * Add issue subscription check to API (#10967)
-  * Use AJAX for notifications table (#10961)
-  * Adjust label padding (#10957)
-  * Avoiding directory execution on hook (#10954) (#10955)
-  * Migrate ActivityHeatmap to Vue SFC (#10953)
-  * Change merge strategy: do not check write access if user in merge white list (#10951)
-  * Enable GO111MODULE=on globally in Makefile (#10939)
-  * API endpoint to get single commit via SHA and Ref (#10915)
-  * Add accordion to release list and hide non-latest (#10910)
-  * Split dashboard elements into separate template files (#10885)
-  * Add more message on sidebar menus (#10872)
-  * Set MySQL rowtype to dynamic for new tables (#10833)
-  * Completely fix task-list checkbox styling (#10798)
-  * Hide gear icon for user who can't use them on sidebar (#10750)
-  * Refactor Cron and merge dashboard tasks (#10745)
-  * Change review status icons on pr view style to github style (#10737)
-  * Make pagination optional for API list notification endpoints (#10714)
-  * Fix tab indentation in code view (#10671)
-  * Fix task-list checkbox styling (#10668)
-  * Multiple LFS improvements (#10667)
-  * Make PR message on pushes configurable (#10664)
-  * Move dropzone.js to npm/webpack (#10645)
-  * Ensure Update button is enabled even when CI has failed (#10640)
-  * Add restricted user filter to LDAP authentication (#10600)
-  * Add Yandex OAuth2 provider (#8335) (#10564)
-  * Make avatar lookup occur at image request (#10540)
-  * Prevent accidental selection of language stats bar (#10537)
-  * Add fluid-icon (#10491)
-  * Inform participants on UI too (#10473)
-  * Build with go 1.14 (and raise minimum go version to 1.12) (#10467)
-  * Add max-file-size to LFS (#10463)
-  * Enable paggination for ListRepoTags API (#10454)
-  * Update JS dependencies (#10450)
-  * Show the username as a fallback on feeds if full name is blank (#10438)
-  * Various dark theme fixes (#10416)
-  * Display pull request head branch even the branch deleted or repository deleted (#10413)
-  * Prevent Firefox from using apple-touch-icon (#10402)
-  * Fix input[type=file] on dark theme (#10382)
-  * Improve mobile review-box sizing (#10297)
-  * Notification: queue ui.go notification-service (#10281)
-  * Add detected file language to code search (#10256)
-  * Index code and stats only for non-empty repositories (#10251)
-  * Add Approval Counts to pulls list (#10238)
-  * Limit label list height on edit issue page (#10216)
-  * Improve 404 error message (#10214)
-  * Tweak locale to respect singular conflicting file message in PR list (#10177)
-  * Fix commit view (#10169)
-  * Reorganize frontend files and tooling (#10168)
-  * Allow emoji on popup label (#10166)
-  * ListIssues add filter for milestones API (#10148)
-  * Show if a PR has conflicting files on the PR lists (#10130)
-  * Fix inconsistent label color format in API (#10129)
-  * Show download count info in release list (#10124)
-  * Add Octicon SVG spritemap (#10107)
-  * Update aria-fixed semantic-dropdown to fomantic master (#10096)
-  * Fix apple-touch-icon, regenerate images (#10065)(#10006)
-  * Style blockquote for default issue mail template (#10024)
-  * More expansions in template repositories (#10021)
-  * Allow list collaborators for users with Read access to repo (#9995)
-  * Add explicit dimensions to navbar avatar (#9986)
-  * Remove loadCSS and preload woff2 icon fonts (#9976)
-  * Fix commit view JS features, reimplement folding (#9968)
-  * Fix review avatar image (#9962)
-  * Improve notification pager (#9821)
-  * Move jquery and jquery-migrate to npm/webpack (#9813)
-  * Change font to Roboto to support more charsets (#9803)
-  * Move mailer to use a queue (#9789)
-  * Issue search on my related repositories (#9758)
-  * Add "before" query to ListIssueComments and ListRepoIssueComments API (#9685)
-  * Move tracked time api convert to convert package (#9665)
-  * Improve PR info in default merge message (#9635)
-  * Granular webhook events (#9626)
-  * Add Reviewed-on in commit message (#9623)
-  * Add top author stats to activity page (#9615)
-  * Allow repo admin to merge PR regardless of review status (#9611)
-  * Migrate reactions when migrating repository from github (#9599)
-  * API orgEditTeam make Fields optional (#9556)
-  * Move create/fork repository from models to modules/repository (#9489)
-  * Migrate reviews when migrating repository from github (#9463)
-  * Times API add filters (#9373)
-  * Move push commits from models to modules/repository (#9370)
-  * Add API endpoint to check notifications [Extend #9488] (#9595)
-  * Add GET /orgs API endpoint (#9560)
-  * API add/generalize pagination (#9452)
-  * Make create org repo API call same as github (#9186)
-* BUILD
-  * Turn off go modules for xgo and gxz (#10963)
-  * Add gitea-vet (#10948)
-  * Rename scripts to build and add revive command as a new build tool command (#10942)
-  * Add 'make lint', restructure 'compliance' pipeline (#10861)
-  * Move JS build dependencies to 'dependencies' (#10763)
-  * Use whitelist to find go files, run find only once (#10594)
-  * Move vue and vue-calendar-heatmap to npm/webpack (#10188)
-  * Move jquery.are-you-sure to npm/webpack (#10063)
-  * Move highlight.js to npm/webpack (#10011)
-  * Generate Bindata if TAGS="bindata" and not up-to-date (#10004)
-  * Move CSS build to webpack (#9983)
-  * Move fomantic target, update 'make help' (#9945)
-  * Add css extraction and minification to webpack (#9944)
-  * Misc webpack tweaks (#9924)
-  * Make node_modules a order-only prerequisite (#9923)
-  * Update documentation for the go module era (#9751)
-  * Move swagger-ui to webpack/npm and update it to 3.24.3 (#9714)
-  * Use npm to manage fomantic and only build needed components (#9561)
-* MISC
-  * Add gnupg to Dockerfile (#11365)
-  * Update snapcraft.yaml for core18 and latest features (#11300)
-  * Update JS dependencies, min Node.js version 10.13 (#11246)
-  * Change default charset for MySQL on install to utf8mb4 (#10989)
-  * Return issue subscription status from API subscribe (#10966)
-  * Fix queue log param (#10733)
-  * Add warning when using relative path to app.ini (#10104)
-
-## [1.11.7](https://github.com/go-gitea/gitea/releases/tag/v1.11.7) - 2020-06-18
-
-* BUGFIXES
-  * Use ID or Where to instead directly use Get when load object from database (#11925) (#11935)
-  * Fix __webpack_public_path__ for 1.11 (#11907)
-  * Fix verification of subkeys of default gpg key (#11713) (#11902)
-  * Remove unnecessary parentheses in wiki/view template (#11781)
-  * Doctor fix xorm.Count nil on sqlite error (#11741)
-
-## [1.11.6](https://github.com/go-gitea/gitea/releases/tag/v1.11.6) - 2020-05-30
-
-* SECURITY
-  * Fix missing authorization check on pull for public repos of private/limited org (#11656) (#11683)
-  * Use session for retrieving org teams (#11438) (#11439)
-* BUGFIXES
-  * Return json on 500 error from API (#11574) (#11660)
-  * Fix wrong milestone in webhook message (#11596) (#11612)
-  * Prevent (caught) panic on login (#11590) (#11598)
-  * Fix commit page js error (#11527)
-  * Use media links for img in post-process (#10515) (#11504)
-  * Ensure public repositories in private organizations are visible and fix admin organizations list (#11465) (#11475)
-  * Set correct Content-Type value for Gogs/Gitea webhooks (#9504) (#10456) (#11461)
-  * Allow all members of private orgs to see public repos (#11442) (#11459)
-  * Whenever the ctx.Session is updated, release it to save it before sending the redirect (#11456) (#11457)
-  * Forcibly clean and destroy the session on logout (#11447) (#11451)
-  * Fix /api/v1/orgs/* endpoints by changing parameter to :org from :orgname (#11381)
-  * Add tracked time fix to doctor (part of #11111) (#11138)
-  * Fix webpack chunk loading with STATIC_URL_PREFIX (#11526) (#11544)
-  * Remove unnecessary parentheses in wiki/revision.tmpl to allow 1.11 to build on go1.14  (#11481)
-
-## [1.11.5](https://github.com/go-gitea/gitea/releases/tag/v1.11.5) - 2020-05-09
-
-* BUGFIXES
-  * Prevent timer leaks in Workerpool and others (#11333) (#11340)
-  * Fix tracked time issues (#11349) (#11354)
-  * Add NotifySyncPushCommits to indexer notifier (#11309) (#11338)
-  * Allow X in addition to x in tasks (#10979) (#11335)
-  * When delete tracked time through the API return 404 not 500 (#11319) (#11326)
-  * Prevent duplicate records in organizations list when creating a repository (#11303) (#11325)
-  * Manage port in submodule refurl (#11305) (#11323)
-  * api.Context.NotFound(...) should tolerate nil (#11288) (#11306)
-  * Show pull request selection even when unrelated branches (#11239) (#11283)
-  * Repo: milestone: make /milestone/:id endpoint accessible (#11264) (#11282)
-  * Fix GetContents(): Dont't ignore Executables (#11192) (#11209)
-  * Fix submodule paths when AppSubUrl is not root (#11098) (#11176)
-  * Prevent clones and pushes to disabled wiki (#11131) (#11134)
-  * Remove errant third closing curly-bracket from account.tmpl and send account ID in account.tmpl (#11130)
-  * On Repo Deletion: Delete related TrackedTimes too (#11110) (#11125)
-  * Refresh codemirror on show pull comment tab (#11100) (#11122)
-  * Fix merge dialog on protected branch with missing required statuses (#11074) (#11084)
-  * Load pr Issue Poster on API too (#11033) (#11039)
-  * Fix release counter on API repository info (#10968) (#10996)
-  * Generate Diff and Patch direct from Pull head (#10936) (#10938)
-  * Fix rebase conflict detection in git 2.26 (#10929) (#10930)
-* ENHANCEMENT
-  * Fix 404 and 500 image size in small size screen (#11043) (#11049)
-  * Multiple Gitea Doctor improvements (#10943) (#10990) (#10064) (#9095) (#10991)
-
-## [1.11.4](https://github.com/go-gitea/gitea/releases/tag/v1.11.4) - 2020-04-01
-
-* BUGFIXES
-  * Only update merge_base if not already merged (#10909)
-  * Fix milestones too many SQL variables bug (#10880) (#10904)
-  * Protect against NPEs in notifications list (#10879) (#10883)
-  * Convert plumbing.ErrObjectNotFound to git.ErrNotExist in getCommit (#10862) (#10868)
-  * Convert plumbing.ErrReferenceNotFound to git.ErrNotExist in GetRefCommitID (#10676) (#10797)
-  * Account for empty lines in receive-hook message (#10773) (#10784)
-  * Fix bug on branch API (#10767) (#10775)
-  * Migrate to go-git/go-git v5.0.0 (#10735) (#10753)
-  * Fix hiding of fields in authorization source page (#10734) (#10752)
-  * Prevent default for linkAction (#10742) (#10743)
-
-## [1.11.3](https://github.com/go-gitea/gitea/releases/tag/v1.11.3) - 2020-03-10
-
-* BUGFIXES
-  * Prevent panic in stopwatch (#10670) (#10673)
-  * Fix bug on pull view when required status check no ci result (#10648) (#10651)
-  * Build explicitly with Go 1.13 (#10684)
-
-## [1.11.2](https://github.com/go-gitea/gitea/releases/tag/v1.11.2) - 2020-03-06
-
-* BREAKING
-  * Various fixes in login sources (#10428) (#10429)
-* SECURITY
-  * Ensure only own addresses are updated (#10397) (#10399)
-  * Logout POST action (#10582) (#10585)
-  * Org action fixes and form cleanup (#10512) (#10514)
-  * Change action GETs to POST (#10462) (#10464)
-  * Fix admin notices (#10480) (#10483)
-  * Change admin dashboard to POST (#10465) (#10466)
-  * Update markbates/goth (#10444) (#10445)
-  * Update crypto vendors (#10385) (#10398)
-* BUGFIXES
-  * Allow users with write permissions to modify issue descriptions and comments. (#10623) (#10626)
-  * Handle deleted base branch in PR (#10618) (#10619)
-  * Delete dependencies when deleting a repository (#10608) (#10616)
-  * Ensure executable bit is kept on the web editor (#10607) (#10614)
-  * Update mergebase in pr checker (#10586) (#10605)
-  * Fix release attachments being deleted while upgrading (#10572) (#10573)
-  * Fix redirection path if Slack webhook channel is invalid (#10566)
-  * Fix head.tmpl og:image picture location (#10531) (#10556)
-  * Fix 404 after activating secondary email (#10547) (#10553)
-  * Show Signer in commit lists and add basic trust (#10425 & #10511) (#10524)
-  * Fix potential bugs (#10513) (#10518)
-  * Use \[:space:\] instead of \\s (#10508) (#10509)
-  * Avoid mailing users that have explicitly unwatched an issue (#10475) (#10500)
-  * Handle push rejection message in Merge & Web Editor (#10373) (#10497)
-  * Fix SQLite concurrency problems by using BEGIN IMMEDIATE (#10368) (#10493)
-  * Fix double PR notification from API (#10482) (#10486)
-  * Show the username as a fallback on feeds if full name is blank (#10461)
-  * Trigger webhooks on issue label-change via API too (#10421) (#10439)
-  * Fix git reference type in webhooks (#10427) (#10432)
-  * Prevent panic on merge to PR (#10403) (#10408)
-  * Fix wrong num closed issues on repository when close issue via commit… (#10364) (#10380)
-  * Reading pull attachments should depend on read UnitTypePullRequests (#10346) (#10354)
-  * Set max-width on review-box comment box (#10348) (#10353)
-  * Prevent nil pointer in GetPullRequestCommitStatusState (#10342) (#10344)
-  * Fix protected branch status check settings (#10341) (#10343)
-  * Truncate long commit message header (#10301) (#10319)
-  * Set the initial commit status to Success otherwise it will always be Pending (#10317) (#10318)
-  * Don't manually replace whitespace during render (#10291) (#10315)
-* ENHANCEMENT
-  * Admin page for managing user e-mail activation (#10557) (#10579)
-
-## [1.11.1](https://github.com/go-gitea/gitea/releases/tag/v1.11.1) - 2020-02-15
-
-* BUGFIXES
-  * Repo name added to automatically generated commit message when merging (#9997) (#10285)
-  * Fix Workerpool deadlock (#10283) (#10284)
-  * Divide GetIssueStats query in smaller chunks (#10176) (#10282)
-  * Fix reply on code review (#10257)
-  * Stop hanging issue indexer initialisation from preventing shutdown (#10243) (#10249)
-  * Fix filter label emoji width (#10241) (#10244)
-  * Fix issue sidebar menus having an infinite height (#10239) (#10240)
-  * Fix commit between two commits calculation if there is only last commit (#10225) (#10226)
-  * Only check for conflicts/merging if the PR has not been merged in the interim (#10132) (#10206)
-  * Blacklist manifest.json & milestones user (#10292) (#10293)
-
-## [1.11.0](https://github.com/go-gitea/gitea/releases/tag/v1.11.0) - 2020-02-10
-
-* BREAKING
-  * Fix followers and following tabs in profile (#10202) (#10203)
-  * Make CertFile and KeyFile relative to CustomPath (#9868) (#9874)
-  * Remove unused endpoints (#9538)
-  * Prefix all user-generated IDs in markup (#9477)
-  * Enforce Gitea environment for pushes (#8982)
-  * Hide some user information via API if user have not enough permissions (#8655)
-  * Move startpage/homepage translation to crowdin (#8596)
-* SECURITY
-  * Never allow an empty password to validate (#9682) (#9683)
-  * Prevent redirect to Host (#9678) (#9679)
-  * Swagger hide search field (#9554)
-  * Add "search" to reserved usernames (#9063)
-  * Switch to fomantic-ui (#9374)
-  * Only serve attachments when linked to issue/release and if accessible by user (#9340)
-* FEATURES
-  * Webhooks should only show sender if it makes sense (#9601)
-  * Provide Default messages for merges (#9393)
-  * Add description to labels on create issue (#9392)
-  * Graceful Queues: Issue Indexing and Tasks (#9363)
-  * Default NO_REPLY_ADDRESS to DOMAIN (#9325)
-  * Allow FCGI over unix sockets (#9298)
-  * Graceful: Xorm, RepoIndexer, Cron and Others (#9282)
-  * Add API for Reactions (#9220)
-  * Graceful: Cancel Process on monitor pages & HammerTime (#9213)
-  * Graceful: Allow graceful restart for unix sockets (#9113)
-  * Graceful: Allow graceful restart for fcgi (#9112)
-  * Sign protected branches (#8993)
-  * Add Graceful shutdown for Windows and hooks for shutdown of goroutines (#8964)
-  * Add Gitea icon to Emojis (#8950)
-  * Expand/Collapse Files and Blob Excerpt while Reviewing/Comparing code (#8924)
-  * Allow Custom Reactions (#8886)
-  * Close/reopen issues by keywords in titles and comments (#8866)
-  * Allow incompletely specified Time Formats (#8816)
-  * Prevent upload (overwrite) of lfs locked file (#8769)
-  * Template Repositories (#8768)
-  * Add /milestones endpoint (#8733)
-  * Make repository management section handle lfs locks (#8726)
-  * Respect LFS File Lock on UI (#8719)
-  * Add team option to grant rights for all organization repositories (#8688)
-  * Enabling and disabling the commit button to prevent empty commits (web editor) (#8590)
-  * Add setting to disable BASIC authentication (#8586)
-  * Expose db.SetMaxOpenConns and allow non MySQL dbs to set conn pool params (#8528)
-  * Allow Protected Branches to Whitelist Deploy Keys (#8483)
-  * Push to create repo (#8419)
-  * Sign merges, CRUD, Wiki and Repository initialisation with gpg key (#7631)
-  * Add basic repository lfs management (#7199)
-* BUGFIXES
-  * Fix code-expansion arc-green theme bug (#10180) (#10185)
-  * Prevent double wait-group decrement (#10170) (#10175)
-  * Allow emoji on review head comments (#10159) (#10174)
-  * Fix issue/pull link (#10158) (#10173)
-  * Fix push-create SSH bugs (#10145) (#10151)
-  * Prevent DeleteUser API abuse (#10125) (#10128)
-  * Fix issues/pulls dashboard paging error (#10114) (#10115)
-  * Add button to revert SimpleMDE to plain textarea (#10099) (#10102)
-  * Fix branch page pull request title and link error (#10092) (#10097)
-  * Fix PR API: Only try to get HeadBranch if HeadRepo exist (#10029) (#10088)
-  * Update topics repo count when deleting repository (#10051) (#10081)
-  * Show pull icon on pull requests (#10061) (#10062)
-  * Fix milestone API state parameter unhandled (#10049) (#10052)
-  * Move to using a temporary repo for pushing new PRs (#10009) (#10042)
-  * Fix wiki raw view on sub path (#10002) (#10040)
-  * Ensure that feeds are appropriately restricted (#10018) (#10019)
-  * Sanitize credentials in mirror form (#9975) (#9991)
-  * Close related pull requests when deleting head repository or head branch (#9927) (#9974)
-  * Switch to use -f instead of -F for sendmail (#9961) (#9970)
-  * Fix file rename/copy not supported by indexer (#9965) (#9967)
-  * Fix repo indexer not updating upon push (#9957) (#9963)
-  * Don't convert ellipsis in markdown (#9905) (#9937)
-  * Fixed repo link in generated comment for cross repository dependency (#9863) (#9935)
-  * Check if diff actually contains sections when rendering (#9926) (#9933)
-  * Fix wrong hint when status checking is running on pull request view (#9886) (#9928)
-  * Fix RocketChat (#9908) (#9921)
-  * Do not try to recreate ldap user if they are already created (#9900) (#9919)
-  * Create terminated channel in queue_redis (#9910) (#9911)
-  * Prevent empty LDAP search result from deactivating all users (#9879) (#9896)
-  * Fix wrong permissions check when issues/prs shared operations (#9885) (#9889)
-  * Check user != nil before checking values (#9881) (#9883)
-  * Allow hyphen in language name (#9873) (#9880)
-  * Ensure that 2fa is checked on reset-password (#9857) (#9876)
-  * Fix issues/pulls dependencies problems (#9842) (#9864)
-  * Fix markdown anchor links (#9673) (#9840)
-  * Allow assignee on Pull Creation when Issue Unit is deactivated (#9836) (#9837)
-  * Fix download file wrong content-type (#9825) (#9834)
-  * Fix wrong poster identity on a migrated pull request when submit review (#9827) (#9830)
-  * Fix database dump when log directory is missing (#9818) (#9819)
-  * Fix compare (#9808) (#9814)
-  * Fix push-to-create (#9772) (#9797)
-  * Fix missing msteam webhook on organization (#9781) (#9794)
-  * Fix missing unlock in uniquequeue (#9790) (#9791)
-  * Fix add team on collaborator page when same name as organization (#9778)
-  * DeleteRepoFile incorrectly handles Delete to new branch (#9769) (#9775)
-  * Fix milestones page (#9771)
-  * Fix SimpleMDE quote reply (#9757) (#9768)
-  * Fix missing updated time on migrated issues and comments (#9744) (#9764)
-  * Move Errored PRs out of StatusChecking (#9675) (#9726)
-  * Make hook status printing configurable with delay (#9641) (#9725)
-  * ​Fix /repos​/issues​/search (#9698) (#9724)
-  * Silence fomantic error regarding tabs (#9713) (#9718)
-  * Remove unused lock (#9709) (#9710)
-  * Remove q.lock.Unlock() in setInternal to prevent panic (#9705) (#9706)
-  * Load milestone in API PR list (#9671) (#9700)
-  * Don't attempt to close issue if already closed (#9696) (#9699)
-  * Remove google font call (#9668) (#9681)
-  * Eliminate horizontal scroll caused by footer (#9674)
-  * Fix nil reference in repo generation (#9660) (#9666)
-  * Add HTML URL to API Issues (#9654) (#9661)
-  * Add PR review webhook to Telegram (#9653) (#9655)
-  * Use filepath.IsAbs instead of path.IsAbs (#9651) (#9652)
-  * Disable remove button on repository teams when have access to all (#9640)
-  * Clean up old references on branch delete (#9614)
-  * Hide public repos owned by private orgs (#9609)
-  * Fix access issues on milestone and issue overview pages. (#9603)
-  * Fix error logged when repos qs is empty (#9591)
-  * Dont trigger notification twice on issue assignee change (#9582)
-  * Fix mirror pushed commit actions (#9572)
-  * Allow only specific columns to be updated on issue via API (#9189) (#9539)
-  * Fix default avatar for ghost user (#9536)
-  * Fix download of release attachments with same name (#9529)
-  * Resolve deprecated INI conversion (#9525)
-  * Ignore empty avatars during database migration (#9520)
-  * Fix deleted branch isn't removed when push the branch again (#9516)
-  * Fix repository issues pagination bug when there are more than one label filter (#9512)
-  * Fix SetExpr failed (#9506)
-  * Remove obsolete file private/push_update.go (#9503)
-  * When recreating hooks, delete them first so they are recreated with the umask (#9502)
-  * Properly enforce gitea environment for pushes (#9501)
-  * Fix datarace on repo indexer queue (#9490)
-  * Add call to load repo prior to redirect in add/remove dependency code (#9484)
-  * Wrap the code indexer (#9476)
-  * Use Req.URL.RequestURI() to cope with FCGI urls (#9473)
-  * Set default ssh.minimum_key_sizes (#9466)
-  * Fixed issue with paging in /repos/{owner}/{repo}/git/trees/{sha} api (#9459)
-  * Fix wrong notification on merge (#9450)
-  * Issue with Migration rule v111 (#9449)
-  * Trigger webhook when deleting a branch after merging a PR (#9424)
-  * Add migration to sanitize repository original_url (#9423)
-  * Use OriginalURL instead of CloneAddr in migration logging (#9418)
-  * Push update after branch is restored (#9416)
-  * Fix wrong migration (#9381)
-  * Fix show repositories filter (#9234) (#9379)
-  * Fix Slack webhook payload title generation to work with Mattermost (#9378)
-  * Fix double webhook for new PR (#9375)
-  * AuthorizedKeysCommand should not query db directly (#9371)
-  * Fix missed change to GetManager() (#9361)
-  * Fix cache problem on dashboard (#9358)
-  * RepoIndexer: DefaultBranch needs to be prefixed by BranchPrefix (#9356)
-  * Fix protected branch using IssueID (#9348)
-  * Fix nondeterministic behavior (#9341)
-  * Fix PR/issue redirects when having external tracker (#9339)
-  * Remove release attachments which repository has been deleted (#9334)
-  * Fix issue indexer not triggered when migrating a repository (#9332)
-  * Add SyncTags to uploader interface (#9326)
-  * Fix bug that release attachment files not deleted when deleting repository (#9322)
-  * Only sync tags after all migration release batches are completed (#9319)
-  * File Edit: Author/Committer interchanged (#9297)
-  * prebuild CSS/JS before xgo release binaries (#9293)
-  * Log: Ensure FLAGS=none shows no flags (#9287)
-  * Make Diff Detail on Pull Request Changed File UI always on Top (#9280)
-  * Switch CSS minifier to cssnano (#9260)
-  * Fix latest docker image haven't include static files. (#9252)
-  * Don't link wiki revision to commit (#9244)
-  * Change review content column to type text in db (#9229)
-  * Fixed topic regex pattern and added search by topic links after save (#9219)
-  * Add language to user API response (#9215)
-  * Correct tooltip message blocked by dependencies (#9211)
-  * Add SimpleMDE and Fix Image Paste for Issue/Comment Editor (#9197)
-  * Fix panic when diff (#9187)
-  * Fix #9151 - smtp logger configuration sendTos should be an array (#9154)
-  * Fix max length check and limit in multiple repo forms (#9148)
-  * Always Show Password Field on Link Account Sign-in Page (#9147)
-  * Properly fix displaying virtual session provider in admin panel (#9137)
-  * Fix race condition on indexer (#9136)
-  * Fix team links in HTML rendering (#9127)
-  * Fix race condition in ReplaceSanitizer (#9123)
-  * Fix what information is shown about user in API (#9115)
-  * Fix nil context user for template repositories (#9099)
-  * Hide given credentials for migrated repos. (#9097)
-  * Fix reCAPTCHA API URL (#9083)
-  * Fix password checks on admin create/edit user (#9076)
-  * Update golang.org/x/crypto vendor to use acme v2 (#9056)
-  * Ensure Written is set in GZIP ProxyResponseWriter (#9018)
-  * Fix wrong system notice when repository is empty (#9010)
-  * Fix broken link to branch from issue list (#9003)
-  * Fix bug when pack js (#8992)
-  * New review approvals shouldn't require a message (#8991)
-  * Shadow password correctly for session config (#8984)
-  * Don't send notification on pending reviews (#8943)
-  * Fix Notify Create Ref Error on tag creation (#8936)
-  * Convert EOL to UNIX-style to render MD properly (#8925)
-  * Migrate temp_repo.go to use git.NewCommand  (#8918)
-  * Fix issue with user.fullname (#8902)
-  * Add Close() method to gogitRepository (#8901)
-  * Enable punctuations ending mentions (#8889)
-  * Fix password complexity check on registration (#8887)
-  * Fix require external registration password (#8885)
-  * Fix edit content button on migrated issue content (#8877)
-  * Fix permission checks for close/reopen from commit (#8875)
-  * Fix API Bug (fail on empty assignees) (#8873)
-  * Stop using git count-objects and use raw directory size for repository (#8848)
-  * Fix count for commit graph last page (#8843)
-  * Fix to close opened io resources as soon as not needed (#8839)
-  * Improve notification (#8835)
-  * Fix new user form for non-local users (#8826)
-  * Fix: remove duplicated signed commit icons (#8820)
-  * Fix (open/closed) issue count when label excluded (#8815)
-  * Fix SSH2 conditional in key parsing code (#8806)
-  * Fix 500 when edit hook (#8782)
-  * On windows set core.longpaths true (#8776)
-  * Fix commit expand button to not go to commit link (#8745)
-  * Avoid re-issuing redundant cross-references. (#8734)
-  * Fix milestone close timestamp function (#8728)
-  * Move webhook codes from service to webhook notification (#8712)
-  * Show zero lines on the line counter if the file empty (#8700)
-  * Fix deadline on update issue or PR via API (#8696)
-  * make call createMilestoneComment on newIssue func (#8678)
-  * Send tag create and push webhook when release created on UI (#8671)
-  * Prevent chrome download page as html with alt + click (#8669)
-  * Fix 500 when getting user as unauthenticated user (#8653)
-  * Graceful fixes (#8645)
-  * Add SubURL to redirect path (#8632) (#8634)
-  * Fix extra columns from `label` table (#8633)
-  * Add SubURL to redirect path for transferred/renamed repos (#8632)
-  * Fix bug when migrate from API (#8631)
-  * Allow to merge if file path contains " or \ (#8629)
-  * Prevent removal of non-empty emoji panel following selection of duplicate (#8609)
-  * Ensure default gpg settings not nil and found commits have reference to repo (#8604)
-  * Set webhook Content-Type for application/x-www-form-urlencoded (#8599)
-  * Fix #8582 by handling empty repos (#8587)
-  * Fix of the diff statistics view on pull request's (#8581)
-  * Fix bug on pull requests when transfer head repository (#8564)
-  * Fix template error on account page (#8562)
-  * Allow externalID to be UUID (#8551)
-  * Fix ignored error on editorconfig api (#8550)
-  * Fix user avatar name (#8547)
-  * Ensure that GitRepo is set on Empty repositories (#8539)
-  * Add missed close in ServeBlobLFS (#8527)
-  * Fix migrate mirror 500 bug (#8526)
-  * Fix password complexity regex for special characters (on master) (#8525)
-* ENHANCEMENTS
-  * Explicitly refer to PR in squash-merge commit message in case of external tracker (#9844) (#9855)
-  * Add a /user/login landing page option (#9622)
-  * Some more e-mail notification fixes (#9596)
-  * Add branch protection option to block merge on requested changes. (#9592)
-  * Add footer extra links template (#9576)
-  * Fix for a wrong URL in activity page of repository.  (#9571)
-  * Update default issue template (#9568)
-  * Change markdown rendering from blackfriday to goldmark  (#9533)
-  * Extend file create api with dates (#9464)
-  * Add ActionCommentPull action (#9456)
-  * Response for context on retry database connection (#9444)
-  * Refactor webhooks to reduce code duplication (#9422)
-  * update couchbase deps for new license (#9419)
-  * Add .ignore file for search tools (#9417)
-  * Remove unsued struct (#9405)
-  * Hide not allowed Reactions (#9387)
-  * Remove text from action-only webhooks (#9377)
-  * Move PushToBaseRepo from models to services/pull (#9352)
-  * Site admin could view org's members (#9346)
-  * Sleep longer if request speed is over github limitation (#9335)
-  * Refactor comment (#9330)
-  * Refactor code indexer (#9313)
-  * Remove SavePatch and generate patches on the fly (#9302)
-  * Move some pull request functions from models to services (#9266)
-  * Update JS dependencies (#9255)
-  * Show label list on label set (#9251)
-  * Redirect issue if repo has configured external tracker. (#9247)
-  * Allow kbd tags (#9245)
-  * Remove unused comment actions (#9222)
-  * Fixed errors logging in dump.go (#9218)
-  * Expose release counter to repo API response (#9214)
-  * Make consistent links to repository in the Slack/Mattermost notificiations (#9205)
-  * Expose pull request counter to repo API response (#9202)
-  * Extend TrackedTimes API (#9200)
-  * Extend StopWatch API (#9196)
-  * Move code indexer related code to a new package (#9191)
-  * Docker: ask s6 to stop all service when gitea stop (#9171)
-  * Variable expansion in repository templates (#9163)
-  * Add avatar and issue labels to template repositories (#9149)
-  * Show single review comments in the PR conversation tab (#9143)
-  * Extract createComment (#9125)
-  * Move PushUpdateOptions from models to repofiles (#9124)
-  * Alternate syntax for cross references (#9116)
-  * Add USE_SERVICE_WORKER setting (#9110)
-  * Only show part of members on orgnization dashboard and add paging for orgnization members page (#9092)
-  * Explore page: Add topic param to pagination (#9077) (#9078)
-  * Markdown: Sanitizier Configuration (#9075)
-  * Add password requirement info on error (#9074)
-  * Allow authors to use act keywords in PR content (#9059)
-  * Move modules/gzip to gitea.com/macaron/gzip (#9058)
-  * Branch protection: Possibility to not use whitelist but allow anyone with write access (#9055)
-  * Context menus for comments, add quote reply (#9043)
-  * Update branch API endpoint to show effective branch protection. (#9031)
-  * Move git graph from models to modules/graph (#9027)
-  * Move merge actions to notification (#9024)
-  * Move mirror sync actions to notification (#9022)
-  * Add retry for migration http/https requests (#9019)
-  * Rewrite delivery of issue and comment mails (#9009)
-  * Add review comments to mail notifications (#8996)
-  * Refactor pull request review (#8954)
-  * Githook highlighter (#8932)
-  * Add git hooks and webhooks to template repositories; move to services (#8926)
-  * Only view branch or tag if it match refType requested. (#8899)
-  * Drop Admin attribute based on LDAP when login (continue #1743) (#8849)
-  * Add additional periods to activity page (#8829)
-  * Update go-org to optimize code (#8824)
-  * Move some actions to notification/action (#8779)
-  * Webhook support custom proxy (#8760)
-  * Fix API deadline removal (#8759)
-  * Mark review comment as invalidated when file is deleted (#8751)
-  * Move pull list code to a separate file (#8748)
-  * Move webhook to a standalone package under modules (#8747)
-  * Multi repo select on issue page (#8741)
-  * apply exclude label on milestone issue list (#8739)
-  * Move issue notifications and assignee man (#8713)
-  * Move issue change content from models to service (#8711)
-  * Move issue change status from models to service (#8691)
-  * Move more issue assignee code from models to issue service (#8690)
-  * Create PR on Current Repository by Default (#8670)
-  * Improve Open Graph Protocol (#8637)
-  * Batch hook pre- and post-receive calls (#8602)
-  * Improve webhooks (#8583)
-  * Move transfer repository and rename repository on a service package and start action notification (#8573)
-  * Implement/Fix PR review webhooks (#8570)
-  * Rewrite markdown rendering to blackfriday v2 and rewrite orgmode rendering to go-org (#8560)
-  * Move some repositories' operations to a standalone service package (#8557)
-  * Allow more than 255 characters for tokens in external_login_user table (#8554)
-  * Move issue label operations to issue service package (#8553)
-  * Adjust error reporting from merge failures and use LC_ALL=C for git (#8548)
-  * Mail assignee when issue/pull request is assigned (#8546)
-  * Allow committing / adding empty files using the web ui (#8420) (#8532)
-  * Move sync mirror actions to mirror service package (#8518)
-  * Remove arrows on numeric inputs (#8516)
-  * Support inline rendering of CUSTOM_URL_SCHEMES (#8496)
-  * Recalculate repository access only for specific user (#8481)
-  * Add download button for rull request diff- and patch-file (#8470)
-  * Add single sign-on support via SSPI on Windows (#8463)
-  * Move change issue title from models to issue service package (#8456)
-  * Add included tag on  branch view (#8449)
-  * Make static resouces web browser cache time customized on app.ini (#8442)
-  * Enable Uploading/Removing Attachments When Editing an Issue/Comment (#8426)
-  * Add pagination to commit graph page (#8360)
-  * Use templates for issue e-mail subject and body (#8329)
-  * Move clearlabels from models to issue service (#8326)
-  * Move AddTestPullRequestTask to pull service package from models (#8324)
-  * Team permission to create repository in organization (#8312)
-  * Allows external rendering of other filetypes (#8300)
-  * Add 'Alt + click' feature to exclude labels (#8199)
-  * Configurable close and reopen keywords for PRs (#8120)
-  * Configurable URL for static resources (#7911)
-  * Unifies commit list in repository commit table and wiki revision page (#7907)
-  * Allow cross-repository dependencies on issues (#7901)
-  * Auto-subscribe user to repository when they commit/tag to it (#7657)
-  * Restore Graceful Restarting & Socket Activation (#7274)
-  * wiki - add 'write' 'preview' buttons to wiki edit like in issues (#7241)
-  * Change target branch for pull request (#6488)
-  * Display PR commits and diffs using base repo rather than forked (#3648)
-* TESTING
-  * Add debug option to serv to help debug problems (#9492)
-  * Fix the intermittent TestGPGGit failures (#9360)
-  * Testing: Update postgres sequences (#9304)
-  * Missed defer prepareTestEnv (#9285)
-  * Fix "data race" in testlogger (#9159)
-  * Yet another attempt to fix the intermittent failure of gpg git test (#9146)
-  * integrations: Fix Dropped Test Errors (#9040)
-  * services/mirror: fix dropped test errors (#9007)
-  * Fix intermittent GPG Git test failure (#8968)
-  * Update Github Migration Tests (#8893) (#8938)
-  * Update heatmap fixtures to restore tests (#8615)
-* TRANSLATION
-  * Fix Korean locales (#9761) (#9780)
-  * Fix placeholders in the error message (#9060)
-  * Fix spelling of admin.users.max_repo_creation (#8934)
-  * Improve german translation of homepage (#8549)
-* BUILD
-  * Fix webpack polyfills (#9735) (#9738)
-  * Update gitea.com/macaron to 1.4.0 (#9608)
-  * Upgrade lato fonts to v16. (#9498)
-  * Update alpine to 3.11 (#9440)
-  * Upgrade blevesearch (#9177)
-  * Remove built js/css files from git (#9114)
-  * Move semantic.dropdown.custom.js to webpack (#9064)
-  * Check compiled files during build (#9042)
-  * Enable lazy-loading of gitgraph.js (#9036)
-  * Pack web_src/js/draw.js to public/js/index.js (#8975)
-  * Modernize js and use babel (#8973)
-  * Move index.js to web_src and use webpack to pack them (#8598)
-  * Restrict modules/graceful to non-windows build and shim IsChild (#8537)
-  * Upgrade gopkg.in/editorconfig/editorconfig-core-go.v1 (#8501)
-* DOCS
-  * Swagger info corrections (#9441) (#9558)
-  * Add ALLOW_ONLY_EXTERNAL_REGISTRATION to config cheat sheet (#8986)
-  * Rephrase comment about RuntimeDirectory option in systemd config (#8912)
-  * Explicitly indicate the socket unit to use the service unit "gitea.service" (#8804)
-  * Adjust the must-change-password help (#8755)
-  * Add notice to docs for migrating from more recent versions of Gogs (#8724)
-  * Add explicit info about customization of homepage (#8694)
-  * Change external asciidoctor tool to embedded mode (#8677)
-  * Add Docker fail2ban configuration (#8642)
-  * Correct some outdated statements in the contributing guidelines (#8612)
-  * Basic Design guidelines (describing different parts of the code) (#8601)
-  * Display Gitea logo in Readme (#8592)
-  * Fix building from source docs to ref AppWorkPath (#8567)
-  * Update the provided gitea.service to mention socket activation (#8531)
-  * Doc added how to setup email (#8520)
-* MISC
-  * Backport Locales [2020-01-14] (#9773)
-  * Add translatable Powered by Gitea text in footer (#9600)
-  * Add contrib/environment-to-ini (#9519)
-  * Remove unnecessary loading of settings in update hook (#9496)
-  * Update gitignore list (#9437)
-  * Update license list (#9436)
-  * Fix background reactions in the arc-green theme (#9421)
-  * Update and fix chardet import (#9351)
-  * Ensure LF on checkouts and in editors (#9259)
-  * Fixed topics margin (#9248)
-  * Add comment to exported function WindowsServiceName (make revive) (#9241)
-  * Remove empty lines on issues/pulls page (#9232)
-  * Fix Add Comment Button's "+" Position (#9140)
-  * Add first issue comment hashtag (#9052)
-  * Change some label colors (#9051)
-  * Fix double scroll in branch dropdown (#9048)
-  * Add comment highlight when target from url (#9047)
-  * Update display of reactions to issues and comments (#9038)
-  * Button tooltip formatting under Branches (#9034)
-  * Allow setting default branch via API (#9030)
-  * Update dashboard context for PR reviews (#8995)
-  * Show repository size in repo home page and settings (#8940)
-  * Allow to add and remove all repositories to/from team. (#8867)
-  * Show due date in dashboard issues list (#8860)
-  * Theme arc-green: reverse heatmap colors (#8840)
-  * Project files table style update (#8757)
-  * gitignore debugging file from vscode (#8740)
-  * Add API for Issue set Subscription (#8729)
-  * Make 100% width search bar (#8710)
-  * Update color theme for heatmap (#8709)
-  * Add margin to title_wip_desc (#8705)
-  * Improve visibility of "Pending" indicator (#8685)
-  * Improve accessibility of dropdown menus (#8638)
-  * Make /users/{username}/repos list private repos the current user has access to (#8621)
-  * Prevent .code-view from overriding font on icon fonts (#8614)
-  * Add id references on all issue events to allow internal linking (#8608)
-  * Upgrade xorm to v0.8.0 (#8536)
-  * Upgrade gopkg.in/ini.v1 (#8500)
-  * Update CodeMirror to version 5.49.0 (#8381)
-  * Wiki editor: enable side-by-side button (#7242)
-
-## [1.10.6](https://github.com/go-gitea/gitea/releases/tag/v1.10.6) - 2020-03-10
-
-This is a re-tag version of v1.10.5 and also explicitly built with Go 1.13.
-
-WARNING: v1.10.5 is incorrectly tagged targeting 1.12-dev and should __not__ be used.
-
-## [1.10.5](https://github.com/go-gitea/gitea/releases/tag/v1.10.5) - 2020-03-06
-
-* BUGFIXES
-  * Fix release attachments being deleted while upgrading (#10572) (#10574)
-
-## [1.10.4](https://github.com/go-gitea/gitea/releases/tag/v1.10.4) - 2020-02-16
-
-* FEATURE
-  * Prevent empty LDAP search from deactivating all users (#9879) (#9890)
-* BUGFIXES
-  * Fix reply on code review (#10261) (#10227)
-  * Fix branch page pull request title and link error (#10092) (#10098)
-  * Fix milestone API state parameter unhandled (#10049) (#10053)
-  * Fix wiki raw view on sub path (#10002) (#10041)
-  * Fix RocketChat Webhook (#9908) (#9921) (#9925)
-  * Fix bug about wrong dependencies permissions check and other wrong permissions check (#9884) (Partial backport #9842)
-  * Ensure that 2fa is checked on reset-password (#9857) (#9877)
-
-## [1.10.3](https://github.com/go-gitea/gitea/releases/tag/v1.10.3) - 2020-01-17
-
-* SECURITY
-  * Hide credentials when submitting migration (#9102) (#9704)
-  * Never allow an empty password to validate (#9682) (#9684)
-  * Prevent redirect to Host (#9678) (#9680)
-  * Hide public repos owned by private orgs (#9609) (#9616)
-* BUGFIXES
-  * Allow assignee on Pull Creation when Issue Unit is deactivated (#9836) (#9838)
-  * Fix download file wrong content-type (#9825) (#9835)
-  * Fix wrong identify poster on a migrated pull request when submit review (#9827) (#9831)
-  * Fix dump non-exist log directory (#9818) (#9820)
-  * Fix compare (#9808) (#9815)
-  * Fix missing msteam webhook on organization (#9781) (#9795)
-  * Fix add team on collaborator page when same name as organization (#9783)
-  * Fix cache problem on dashboard (#9358) (#9703)
-  * Send tag create and push webhook when release created on UI (#8671) (#9702)
-  * Branches not at ref commit ID should not be listed as Merged (#9614) (#9639)
-
-## [1.10.2](https://github.com/go-gitea/gitea/releases/tag/v1.10.2) - 2020-01-02
-
-* BUGFIXES
-  * Allow only specific Columns to be updated on Issue via API (#9539) (#9580)
-  * Add ErrReactionAlreadyExist error (#9550) (#9564)
-  * Fix bug when migrate from API (#8631) (#9563)
-  * Use default avatar for ghost user (#9536) (#9537)
-  * Fix repository issues pagination bug when there are more than one label filter (#9512) (#9528)
-  * Fix deleted branch not removed when push the branch again (#9516) (#9524)
-  * Fix missing repository status when migrating repository via API (#9511)
-  * Trigger webhook when deleting a branch after merging a PR (#9510)
-  * Fix paging on /repos/{owner}/{repo}/git/trees/{sha} API endpoint (#9482)
-  * Fix NewCommitStatus (#9434) (#9435)
-  * Use OriginalURL instead of CloneAddr in migration logging (#9418) (#9420)
-  * Fix Slack webhook payload title generation to work with Mattermost (#9404)
-  * DefaultBranch needs to be prefixed by BranchPrefix (#9356) (#9359)
-  * Fix issue indexer not triggered when migrating a repository (#9333)
-  * Fix bug that release attachment files not deleted when deleting repository (#9322) (#9329)
-  * Fix migration releases (#9319) (#9326) (#9328)
-  * Fix File Edit: Author/Committer interchanged (#9297) (#9300)
-
-## [1.10.1](https://github.com/go-gitea/gitea/releases/tag/v1.10.1) - 2019-12-05
-
-* BUGFIXES
-  * Fix max length check and limit in multiple repo forms (#9148) (#9204)
-  * Properly fix displaying virtual session provider in admin panel (#9137) (#9203)
-  * Upgrade levelqueue to 0.1.0 (#9192) (#9199)
-  * Fix panic when diff (#9187) (#9193)
-  * Smtp logger configuration sendTos should be an array (#9154) (#9157)
-  * Always Show Password Field on Link Account Sign-in Page (#9150)
-  * Create PR on Current Repository by Default (#8670) (#9141)
-  * Fix race on indexer (#9136) (#9139)
-  * Fix reCAPTCHA URL (#9119)
-  * Hide migrated credentials (#9098)
-  * Update golang.org/x/crypto vendor to use acme v2 (#9056) (#9085)
-  * Fix password checks on admin create/edit user (#9076) (#9081)
-  * Fix add search as a reserved username (#9063) (#9065)
-  * Fix permission checks for close/reopen from commit (#8875) (#9033)
-  * Ensure Written is set in GZIP ProxyResponseWriter (#9018) (#9025)
-  * Fix broken link to branch from issue list (#9003) (#9021)
-  * Fix wrong system notice when repository is empty (#9020)
-  * Shadow password correctly for session config (#8984) (#9002)
-
-## [1.10.0](https://github.com/go-gitea/gitea/releases/tag/v1.10.0) - 2019-11-13
-
-* BREAKING
-  * Fix deadline on update issue or PR via API (#8698)
-  * Hide some user information via API if user doesn't have enough permission (#8655) (#8657)
-  * Remove legacy handling of drone token (#8191)
-  * Change repo search to use exact match for topic search. (#7941)
-  * Add pagination for admin api get orgs and fix only list public orgs bug (#7742)
-  * Implement the ability to change the ssh port to match what is in the gitea config (#7286)
-* SECURITY
-  * Fix issue with user.fullname (#8903)
-  * Ignore mentions for users with no access (#8395)
-  * Be more strict with git arguments (#7715)
-  * Extract the username and password from the mirror url (#7651)
-  * reserve .well-known username (#7637)
-* FEATURES
-  * Org/Members: display 2FA members states + optimize sql requests (#7621)
-  * SetDefaultBranch on pushing to empty repository (#7610)
-  * Adds side-by-side diff for images (#6784)
-  * API method to list all commits of a repository (#6408)
-  * Password Complexity Checks  (#6230)
-  * Add option to initialize repository with labels (#6061)
-  * Add additional password hash algorithms (#6023)
-* BUGFIXES
-  * Allow to merge if file path contains " or \ (#8629) (#8771)
-  * On windows set core.longpaths true (#8776) (#8786)
-  * Fix 500 when edit hook (#8782) (#8789)
-  * Fix Checkbox at RepoSettings Protected Branch (#8799) (#8801)
-  * Fix SSH2 conditional in key parsing code (#8806) (#8810)
-  * Fix commit expand button to not go to commit link (#8745) (#8825)
-  * Fix new user form for non-local users (#8826) (#8828)
-  * Fix to close opened io resources as soon as not needed (#8839) (#8846)
-  * Fix edit content button on migrated issue content (#8877) (#8884)
-  * Fix require external registration password (#8885) (#8890)
-  * Fix password complexity check on registration (#8887) (#8888)
-  * Update Github Migration Tests (#8896) (#8938) (#8945)
-  * Enable punctuations ending mentions (#8889) (#8894)
-  * Add Close() method to gogitRepository (#8901) (#8956)
-  * Hotfix for review actions and notifications (#8965)
-  * Expose db.SetMaxOpenConns and allow non MySQL dbs to set conn pool params (#8528) (#8618)
-  * Fix milestone close timestamp (#8728) (#8730)
-  * Fix 500 when getting user as unauthenticated user (#8653) (#8663)
-  * Fix 'New Issue Missing Milestone Comment' (#8678) (#8681)
-  * Use AppSubUrl for more redirections (#8647) (#8651)
-  * Add SubURL to redirect path (#8632) (#8634)
-  * Fix template error on account page (#8562) (#8622)
-  * Allow externalID to be UUID (#8551) (#8624)
-  * Prevent removal of non-empty emoji panel following selection of duplicate (#8609) (#8623)
-  * Update heatmap fixtures to restore tests (#8615) (#8616)
-  * Ensure that diff stats can scroll independently of the diff (#8581) (#8621)
-  * Webhook: set Content-Type for application/x-www-form-urlencoded (#8600)
-  * Fix #8582 by handling empty repos (#8587) (#8594)
-  * Fix bug on pull requests when transfer head repository (#8564) (#8569)
-  * Add missed close in ServeBlobLFS (#8527) (#8542)
-  * Ensure that GitRepo is set on Empty repositories (#8539) (#8541)
-  * Fix migrate mirror 500 bug (#8526) (#8530)
-  * Fix password complexity regex for special characters (#8524)
-  * Prevent .code-view from overriding font on icon fonts (#8614) (#8627)
-  * Allow more than 255 characters for tokens in external_login_user table (#8554)
-  * Fix errors in create org UI regarding team access permission (#8506)
-  * Fix bug on FindExternalUsersByProvider (#8504)
-  * Create .ssh dir as necessary (#8486)
-  * IsBranchExist: return false if provided name is empty (#8485)
-  * Making openssh listen on SSH_LISTEN_PORT not SSH_PORT (#8477)
-  * Add check for empty set when dropping indexes during migration (#8471)
-  * LFS files are relative to LFS content path, ensure that when deleting they are made relative to this (#8455)
-  * Ensure Request Body Readers are closed in LFS server (#8454)
-  * Fix template bug on mirror repository setting page (#8438)
-  * Fix migration v96 to keep issue attachments (#8435)
-  * Update strk.kbt.io/projects/go/libravatar to latest (#8429)
-  * Singular form for files that has only one line (#8416)
-  * Check for either escaped or unescaped wiki filenames (#8408)
-  * Allow users with explicit read access to give approvals (#8382)
-  * Fix editor commit to new branch if PR disabled (#8375)
-  * readd .markdown class to all markup renderers (#8357)
-  * Upgrade xorm to v0.7.9 to fix some bugs (#8354)
-  * Fix column name ambiguity in GetUserIssueStats() (#8347)
-  * Change general form binding to gogs form (#8334)
-  * Fix pull request commit status in user dashboard list (#8321)
-  * Fix repo_admin_change_team_access always checked in org settings (#8319)
-  * Update to github.com/lafriks/xormstore@v1.3.0 (#8317)
-  * Show correct commit status in PR list (#8316)
-  * Bugfix for image compare and minor improvements to image compare (#8289)
-  * Update xorm (#8286)
-  * Fix API for edit and delete release attachment (#8285)
-  * Fix nil object access in some conditions when parsing cross references (#8281)
-  * Fix label count (#8267)
-  * Only show teams access for organization repositories on collaboration setting page (#8265)
-  * Test more reserved usernames (#8263)
-  * Rewrite reference processing code in preparation for opening/closing from comment references (#8261)
-  * Fix assets key on release webhook (#8253)
-  * Allow registration when button is hidden (#8237)
-  * Fix release API URL generation (#8234)
-  * Fix milestone num_issues (#8221)
-  * MS Teams webhook misses commit messages (#8209)
-  * Fix data race (#8204)
-  * Fix team user api (#8172)
-  * Fix pull merge 500 error caused by git-fetch breaking behaviors (#8161)
-  * Make show private icon when repo avatar set (#8144)
-  * Add reviewers as participants (#8121)
-  * Fix Go 1.13 private repository go get issue (#8112)
-  * feat: highlight issue references with : (#8101)
-  * Make AllowedUsers configurable in sshd_config (#8094)
-  * Strict name matching for Repository.GetTagID() (#8074)
-  * Avoid ambiguity of branch/directory names for the git-diff-tree command (#8066)
-  * Add change title notification for issues (#8061)
-  * [ssh] fix the config specification in the authorized_keys template (#8031)
-  * Fix reading git notes from nested trees (#8026)
-  * Fixes synchronize tags to releases for repository - makes sure we are only getting tag refs (#7990)
-  * Fix adding default Telegram webhook (#7972)
-  * Run CORS handler first for /api routes (#7967)
-  * Abort synchronization from LDAP source if there is some error. (#7960)
-  * Fix wrong sender when send slack webhook (#7918)
-  * Fix bug when migrating a private repository (#7917)
-  * Evaluate emojis in commit messages in list view (#7906)
-  * Fix upload file type check (#7890)
-  * lfs/lock: round locked_at timestamp to second (#7872)
-  * fix non existent milestone with 500 error instead of 404 (#7867)
-  * gpg/bugfix: Use .ExpiredUnix.IsZero to display green color of forever valid gpg key (#7846)
-  * Fix duplicate call of webhook (#7821)
-  * Enable switching to a different source branch when PR already exists (#7819)
-  * Convert files to utf-8 for indexing (#7814)
-  * Do not fetch all refs in pull-request compare (#7797)
-  * Fix multiple bugs with statuses endpoints at API (#7785)
-  * Restore functionality for early gits (#7775)
-  * Fix Slack webhook fork message (#7774)
-  * Rewrite existing repo units if setting is not included in api body (#7763)
-  * Fix rename failed when rewrite public keys (#7761)
-  * Fix approvals counting (#7757)
-  * Add migration step to remove old repo_indexer_status orphaned records (#7746)
-  * Fix repo_index_status lingering when deleting a repository (#7734)
-  * Remove camel case tokenization from repo indexer (#7733)
-  * Fix milestone completness calculation when migrating (#7725)
-  * Regression: Include "executable" files in the index, as they are not necessarily … (#7718)
-  * Fixes indexed repos keeping outdated indexes when files grow too large (#7712)
-  * Skip non-regular files (e.g. submodules) on repo indexing (#7711)
-  * Fix dropTableColumns sqlite implementation (#7710)
-  * Update gopkg.in/src-d/go-git.v4 to v4.13.1 (#7705)
-  * improve branches list performance and fix protected branch icon when no-login (#7695)
-  * Correct wrong datetime format for git (#7689)
-  * Move add to hook queue for created repo to outside xorm session. (#7675)
-  * sugestion to use range .Branches (#7674)
-  * Fix bug on migrating milestone from github (#7665)
-  * hide delete/restore button on archived repos (#7658)
-  * css: use flex to fix floating paginate (#7656)
-  * Fix syntax highlight initialization (#7617)
-  * Fix panic on push at - Merging pull request causes 500 error (#7615)
-  * Make PKCS8, PEM and SSH2 keys work (#7600)
-  * Fix mistake in arc-green.less split-diff css code. (#7587)
-  * Handle ErrUserProhibitLogin in http git (#7586)
-  * Fix bug create/edit wiki pages when code master branch protected (#7580)
-  * Fixes Malformed URLs in API git/commits response (#7565)
-  * Fix file header overflow in file and blame views (#7562)
-  * Improve SSH key parser to handle newlines in keys (#7522)
-  * Fix empty commits now showing in repo overview (#7521)
-  * Fix repository's pull request count error (#7518)
-  * Fix markdown invoke sequence (#7513)
-  * Remove duplicated webhook trigger (#7511)
-  * Update User.NumRepos atomically in createRepository (#7493)
-  * Fix settings page of repo you aren't admin print error - Settings pages giving UnitType error message (#7482)
-  * Fix redirection after file edit - Handles all redirects for Web UI File CRUD (#7478)
-  * cmd/serv: actually exit after fatal errors (#7458)
-  * Fix an issue with some pages throwing 'not defined' js exceptions (#7450)
-  * fix Dropzone.js integration (#7445)
-  * Fix regex for issues in commit messages (#7444)
-  * Diff: Fix indentation on unhighlighted code (#7435)
-  * Only show "New Pull Request" button if repo allows pulls (#7426)
-  * Upgrade macaron/captcha to fix random error problem (#7407)
-  * create class for inline positioned lists (#7393)
-  * Fetch refs for successful testing for tag (#7388)
-  * add missing template variable on organisation settings (#7385)
-  * fix post parameter - on issue list - unset assignee (#7380)
-  * fix/define autochecked checkboxes on issue list in firefox (#7320)
-  * only return head: null if source branch was deleted (#6705)
-* ENHANCEMENTS
-  * Add nofollow to sign in links (#8509)
-  * vendor: update mvdan.cc/xurls/v2 to v2.1.0 (#8495)
-  * Update milestone issues numbers when save milestone and other code improvements (#8411)
-  * Add extra user information when migrating release (#8331)
-  * Require overall success if no context is given for status check (#8318)
-  * Transaction-aware retry create issue to cope with duplicate keys (#8307)
-  * Change link on issue milestone (#8246)
-  * Alwaywas return local url for users avatar (#8245)
-  * Move some milestone functions to a standalone package (#8213)
-  * Move create issue comment to comments package (#8212)
-  * Disable max height property of comment textarea (#8203)
-  * Add 'Mentioning you' group to /issues page (#8201)
-  * oauth2 with remote Gitea (#8149)
-  * Reference issues from pull requests and other issues (#8137)
-  * Fix webhooks to use proxy from environment (#8116)
-  * Add merged commit id on pull view when it's merged (#8062)
-  * Add teams to repo on collaboration page. (#8045)
-  * Update swagger to 0.20.1  (#8010)
-  * Make link last commit massages in repository home page and commit tables (#8006)
-  * Add API endpoint for accessing repo topics (#7963)
-  * Include description in repository search (#7942)
-  * Use gitea forked macaron (#7933)
-  * Fix pull creation with empty changes (#7920)
-  * Allow token as authorization for accessing attachments (#7909)
-  * Retry create issue to cope with duplicate keys (#7898)
-  * Move git diff codes from models to services/gitdiff (#7889)
-  * migrate gplus to google oauth2 provider (#7885)
-  * Remove unique filter from repo indexer analyzer. (#7878)
-  * Detect delimiter in CSV rendering (#7869)
-  * Import topics during migration (#7851)
-  * Move CreateReview to modules/pull (#7841)
-  * vendor: update pdf.js to v2.1.266 (#7834)
-  * Support SSH_LISTEN_PORT env var in docker app.ini template (#7829)
-  * Add Ability for User to Customize Email Notification Frequency (#7813)
-  * Move database settings from models to setting (#7806)
-  * Display ui time with customize time location (#7792)
-  * Implement webhook branch filter (#7791)
-  * Restrict repository indexing by glob match (#7767)
-  * Api: advanced settings for repository (external wiki, issue tracker etc.) (#7756)
-  * Update migrated repositories' issues/comments/prs poster id if user has a github external user saved (#7751)
-  * deps: Upgrade gopkg.in/editorconfig/editorconfig-core-go.v1 (#7749)
-  * Apply emoji on commit graph page (#7743)
-  * Add a lot of extension to language mappings for syntax highlights (#7741)
-  * Add SQL execution on log and indexes on table repository and comment (#7740)
-  * Set DB connection error level to error (#7724)
-  * Check commit message hashes before making links (#7713)
-  * remove unnecessary fmt on generate bindata (#7706)
-  * Fix specific highlighting (CMakeLists.txt ...) (#7686)
-  * Add file status on API (#7671)
-  * Add support for DEFAULT_ORG_MEMBER_VISIBLE (#7669)
-  * Provide links in commit summaries in commits table/view list (#7659)
-  * Change length of some repository's columns (#7652)
-  * Move commit repo action from models to repofiles package (#7645)
-  * fix wrong email when use gitea as OAuth2 provider (#7640)
-  * [Branch View] add download button (#7604)
-  * Update to xorm@v0.7.4 (#7596)
-  * use 403 instead of 401 for ErrUserProhibitLogin (#7591)
-  * Removed unnecessary conversions (#7557)
-  * Un-lambda base.FileSize (#7556)
-  * Added missing error checks in tests (#7554)
-  * Move create release from models to a standalone package (#7539)
-  * Make default branch name link to default branch (#7519)
-  * Added total count of contributions to heatmap (#7517)
-  * Move mirror to a standalone package from models (#7486)
-  * Move models.PushUpdate to repofiles.PushUpdate (#7485)
-  * Include thread related headers in issue/coment mail (#7484)
-  * Refuse merge until all required status checks success (#7481)
-  * convert all js var to let/const (#7464)
-  * Only create branches for opened pull requestes when migrating from github (#7463)
-  * jQuery 3 (#7425)
-  * Add notification placeholder (#7409)
-  * Search Commits via Commit Hash (#7400)
-  * Move status table to cron package (#7370)
-  * wiki - page revisions list  (#7369)
-  * Display original author and URL information when showing migrated issues/comments (#7352)
-  * Refactor filetype is not allowed errors (#7309)
-  * switch to use gliderlabs/ssh for builtin server (#7250)
-  * Remove setting dependency on modules/session (#7237)
-  * Move all mail related codes from models to services/mailer (#7200)
-  * Support git.PATH entry in app.ini (#6772)
-  * Support setting cookie domain (#6288)
-  * Move migrating repository from frontend to backend (#6200)
-  * Delete releases attachments if release is deleted (#6068)
-* TRANSLATION
-  * Latvian translation for home page (#8468)
-  * Add home template italian translation (#8352)
-  * fix misprint (#7452)
-* BUILD
-  * use go 1.13 (#8088)
-* MISC
-  * add file line count info on UI (#8396)
-  * Make issues page left menu 100% width and add reponame as title attribute (#8359)
-  * [arc-green] white on hover for active menu items (#8344)
-  * Move ref (branch or tag) location on issue list page (#8157)
-  * apply emoji on dashboard issue list labels (#8156)
-  * 1148: Take up the full width when viewing the diff in split view. (#8114)
-  * Display description of 'make this repo private' as help text, not as tooltip (#8097)
-  * Fixes deformed emoji in pull request reviews (#8047)
-  * Add strike to old header on comment (#8046)
-  * Add tooltip for the visibility checkbox in /repo/create (#8025)
-  * Update github.com/lafriks/xormstore and tidy up mod.go (#8020)
-  * keep blame view buttons sequence consistent with normal view when view a file (#8007)
-  * Use "Pull Request" instead of "Merge Request" (#8003)
-  * Move line number to :before attr to hide from search on browser (#8002)
-  * Changed black color to white for (read) number label on issue list page (#8000)
-  * [Branch View] show "New Pull Request" Button only if posible (#7977)
-  * Fix hook problem by only setting the git environment variables if we are passed them (#7854)
-  * Prevent Commit Status and Message From Overflowing On Branch Page (#7800)
-  * Fix global search result CSS, misc CSS tweaks (#7789)
-  * Tweak label border CSS (#7739)
-  * Fix create menu item widths (#7708)
-  * [Branch View] Delete duplicate protection symbol (#7624)
-  * [Branch View] Delete Table Header (#7622)
-  * [Branch View] icons to buttons (#7602)
-  * update js dependencies (#7462)
-  * Add Extra Info to Branches Page (#7461)
-  * Bump lodash from 4.17.11 to 4.17.14 (#7459)
-  * wiki history improvements (#7391)
-  * ui fixes - compare view and archieved repo issues (#7345)
-  * dark theme scrollbars (#7269)
-  * wiki - editor - add buttons 'inline code', 'empty checkbox', 'checked checkbox' (#7243)
-  * Fix Statuses API only shows first 10 statuses: Add paging and extend API GetCommitStatuses (#7141)
-
-## [1.9.6](https://github.com/go-gitea/gitea/releases/tag/v1.9.6) - 2019-11-13
-
-* BUGFIXES
-  * Allow to merge if file path contains " or \ (#8629) (#8772)
-  * Fix 500 when edit hook (#8782) (#8790)
-  * Fix issue with user.fullname (#8904)
-  * Update Github Migration Test (#8897) (#8946)
-  * Add Close() method to gogitRepository (#8901) (#8958)
-
-## [1.9.5](https://github.com/go-gitea/gitea/releases/tag/v1.9.5) - 2019-10-30
-
-* BREAKING
-  * Hide some user information via API if user doesn't have enough permission (#8655) (#8658)
-* BUGFIXES
-  * Fix milestone close timestamp (#8728) (#8731)
-  * Fix deadline on update issue or PR via API (#8699)
-  * Fix 'New Issue Missing Milestone Comment' (#8678) (#8682)
-  * Fix 500 when getting user as unauthenticated user (#8653) (#8662)
-  * Use AppSubUrl for more redirections (#8647) (#8652)
-  * Add SubURL to redirect path (#8632) (#8634) (#8640)
-  * Fix #8582 by handling empty repos (#8587) (#8593)
-  * Fix bug on pull requests when transfer head repository (#8571)
-  * Add missed close in ServeBlobLFS (#8527) (#8543)
-  * Return false if provided branch name is empty for IsBranchExist (#8485) (#8492)
-  * Create .ssh dir as necessary (#8369) (#8486) (#8489)
-  * Restore functionality for early gits (#7775) (#8476)
-  * Add check for empty set when dropping indexes during migration (#8475)
-  * Ensure Request Body Readers are closed in LFS server (#8454) (#8459)
-  * Ensure that LFS files are relative to the LFS content path (#8455) (#8458)
-* SECURITY
-  * Ignore mentions for users with no access (#8395) (#8484)
-* TESTING
-  * Update heatmap fixtures to restore tests (#8615) (#8617)
-
-## [1.9.4](https://github.com/go-gitea/gitea/releases/tag/v1.9.4) - 2019-10-08
-
-* BUGFIXES
-  * Highlight issue references (#8101) (#8404)
-  * Fix bug when migrating a private repository #7917 (#8403)
-  * Change general form binding to gogs form (#8334) (#8402)
-  * Fix editor commit to new branch if PR disabled (#8375) (#8401)
-  * Fix milestone num_issues (#8221) (#8400)
-  * Allow users with explicit read access to give approvals (#8398)
-  * Fix commit status in PR #8316 and PR #8321 (#8339)
-  * Fix API for edit and delete release attachment (#8290)
-  * Fix assets on release webhook (#8283)
-  * Fix release API URL generation (#8239)
-  * Allow registration when button is hidden (#8238)
-  * MS Teams webhook misses commit messages (backport v1.9) (#8225)
-  * Fix data race (#8206)
-  * Fix pull merge 500 error caused by git-fetch breaking behaviors (#8194)
-  * Fix the SSH config specification in the authorized_keys template (#8193)
-  * Fix reading git notes from nested trees (#8189)
-  * Fix team user api (#8172) (#8188)
-  * Add reviewers as participants (#8124)
-* BUILD
-  * Use vendored go-swagger (#8087) (#8165)
-  * Fix version-validation for GO 1.13 (go-macaron/cors) (#8389)
-* MISC
-  * Make show private icon when repo avatar set (#8144) (#8175)
-
-## [1.9.3](https://github.com/go-gitea/gitea/releases/tag/v1.9.3) - 2019-09-06
-
-* BUGFIXES
-  * Fix go get from a private repository with Go 1.13 (#8100)
-  * Strict name matching for Repository.GetTagID() (#8082)
-  * Avoid ambiguity of branch/directory names for the git-diff-tree command (#8070)
-  * Add change title notification for issues (#8064)
-  * Run CORS handler first for /api routes (#7967) (#8053)
-  * Evaluate emojis in commit messages in list view (#8044)
-  * Fix failed to synchronize tags to releases for repository (#7990) (#7994)
-  * Fix adding default Telegram webhook (#7972) (#7992)
-  * Abort synchronization from LDAP source if there is some error (#7965)
-  * Fix deformed emoji in commit message (#8071)
-* ENHANCEMENTS
-  * Keep blame view buttons sequence consistent with normal view when viewing a file (#8007) (#8009)
-
-## [1.9.2](https://github.com/go-gitea/gitea/releases/tag/v1.9.2) - 2019-08-22
-
-* BUGFIXES
-  * Fix wrong sender when send slack webhook (#7918) (#7924)
-  * Upload support text/plain; charset=utf8 (#7899)
-  * Lfs/lock: round locked_at timestamp to second (#7872) (#7875)
-  * Fix non existent milestone with 500 error (#7867) (#7873)
-* SECURITY
-  * Fix No PGP signature on 1.9.1 tag (#7874)
-  * Release built with go 1.12.9 to fix security fixes in golang std lib, ref: https://groups.google.com/forum/#!msg/golang-announce/oeMaeUnkvVE/a49yvTLqAAAJ
-* ENHANCEMENTS
-  * Fix pull creation with empty changes (#7920) (#7926)
-* BUILD
-  * Drone/docker: prepare multi-arch release + provide arm64 image (#7571) (#7884)
-
-## [1.9.1](https://github.com/go-gitea/gitea/releases/tag/v1.9.1) - 2019-08-14
-
-* BREAKING
-  * Add pagination for admin api get orgs and fix only list public orgs bug (#7742) (#7752)
-* SECURITY
-  * Be more strict with git arguments (#7715) (#7762)
-  * Release built with go 1.12.8 to fix security fixes in golang std lib, ref: https://groups.google.com/forum/#!topic/golang-nuts/fCQWxqxP8aA
-* BUGFIXES
-  * Fix local runs of ssh-requiring integration tests (#7855) (#7857)
-  * Fix hook problem (#7856) (#7754)
-  * Use .ExpiredUnix.IsZero to display green color of forever valid gpg key (#7850) (#7846)
-  * Do not fetch all refs (#7797) (#7837)
-  * Fix duplicate call of webhook (#7824) (#7821)
-  * Enable switching to a different source branch when PR already exists (#7823)
-  * Rewrite existing repo units if setting is not included in api body (#7811)
-  * Prevent Commit Status and Message From Overflowing On Branch Page (#7800) (#7808)
-  * API: fix multiple bugs with statuses endpoints (Backport #7785) (#7807)
-  * Fix Slack webhook fork message (1.9 release backport) (#7783)
-  * Fix approvals counting (#7757) (#7777)
-  * Fix rename failed when rewrite public keys (#7761) (#7769)
-  * Fix dropTableColumns sqlite implementation (#7710) (#7765)
-  * Fix repo_index_status lingering when deleting a repository (#7738)
-  * Fix milestone completness calculation when migrating (#7725) (#7732)
-  * Fixes indexed repos keeping outdated indexes when files grow too large (#7731)
-  * Skip non-regular files (e.g. submodules) on repo indexing (#7717)
-  * Improve branches list performance and fix protected branch icon when no-login (#7695) (#7704)
-  * Correct wrong datetime format for git (#7689) (#7690)
-
-## [1.9.0](https://github.com/go-gitea/gitea/releases/tag/v1.9.0) - 2019-07-30
-
-* BREAKING
-  * Better logging (#6038) (#6095)
-* SECURITY
-  * Shadow the password on cache and session config on admin panel (#7300)
-  * Fix markdown invoke sequence (#7513) (#7560)
-  * Reserve .well-known username (#7638)
-  * Do not leak secrets via timing side channel (#7364)
-  * Ensure that decryption of cookie actually succeeds (#7363)
-* FEATURES
-  * Content API for Creating, Updating, Deleting Files (#6314)
-  * Enable tls-alpn-01: Use certmanager provided TLSConfig for LetsEncrypt (#7229)
-  * Add command to convert mysql database from utf8 to utf8mb4 (#7144)
-  * Fixes #2738 - Adds the /git/tags API endpoint (#7138)
-  * Compare branches, commits and tags with each other (#6991)
-  * Show Pull Request button or status of latest PR in branch list (#6990)
-  * Repository avatars (#6986)
-  * Show git-notes (#6984)
-  * Add commit statuses reports on pull request view (#6845)
-  * Number of commits ahead/behind in branch overview (#6695)
-  * Add CLI commands to manage LDAP authentication source (#6681)
-  * Add support for MS Teams webhooks (#6632)
-  * OAuth2 Grant UI (#6625)
-  * Add SUBJECT_PREFIX mailer config option (#6605)
-  * Include custom configuration file in dump (#6516)
-  * Add API for manipulating Git hooks (#6436)
-  * Improve migrations to support migrating milestones/labels/issues/comments/pullrequests (#6290)
-  * Add option to blame files (#5721)
-  * Implement Default Webhooks (#4299)
-  * Telegram webhook (#4227)
-* BUGFIXES
-  * Send webhook after commit when creating issue with assignees (#7681) (#7684)
-  * Upgrade macaron/captcha to fix random error problem (#7407) (#7683)
-  * Move add to hook queue for created repo to outside xorm session. (#7682) (#7675)
-  * Show protection symbol if needed on default branch (#7660) (#7668)
-  * Hide delete/restore button on archived repos (#7660)
-  * Fix bug on migrating milestone from github (#7665) (#7666)
-  * Use flex to fix floating paginate (#7656) (#7662)
-  * Change length of some repository's columns (#7652) (#7655)
-  * Fix wrong email when use gitea as OAuth2 provider (#7640) (#7647)
-  * Fix syntax highlight initialization (#7617) (#7626)
-  * Fix bug create/edit wiki pages when code master branch protected (#7580) (#7623)
-  * Fix panic on push at #7611 (#7615) (#7618)
-  * Handle ErrUserProhibitLogin in http git (#7586, #7591) (#7590)
-  * Fix color of split-diff view in dark theme (#7587) (#7589)
-  * Fix file header overflow in file and blame views (#7562) (#7579)
-  * Malformed URLs in API git/commits response (#7565) (#7567)
-  * Fix empty commits now showing in repo overview (#7521) (#7563)
-  * Fix repository's pull request count error (#7518) (#7524)
-  * Remove duplicated webhook trigger (#7511) (#7516)
-  * Handles all redirects for Web UI File CRUD (#7478) (#7507)
-  * Fix regex for issues in commit messages (#7444) (#7466)
-  * cmd/serv: actually exit after fatal errors (#7458) (#7460)
-  * Fix an issue with some pages throwing 'not defined' js exceptions #7450 (#7453)
-  * Fix Dropzone.js integration (#7445) (#7448)
-  * Create class for inline positioned lists (#7439) (#7393)
-  * Diff: Fix indentation on unhighlighted code (#7435) (#7443)
-  * jQuery 3 (#7442) (#7425)
-  * Only show "New Pull Request" button if repo allows pulls (#7426) (#7432)
-  * Fix vendor references (#7394) (#7396)
-  * Only return head: null if source branch was deleted (#6705) (#7376)
-  * Add missing template variable on organisation settings (#7386) (#7385)
-  * Fix post parameter on issue list which had unset assignee (#7380) (#7383)
-  * Fix migration tests due to issue 7 being resolved (#7375) (#7381)
-  * Correctly adjust mirror url (#6593)
-  * Handle early git version's lack of get-url (#7065)
-  * Fix icon position in issue view (#7354)
-  * Cut timeline length with last element on issue view (#7355)
-  * Fix mirror repository webhooks (#7366)
-  * Fix api route for hooks (#7346)
-  * Fix bug conflict between SyncReleasesWithTags and InsertReleases (#7337)
-  * Fix pull view ui merge section (#7335)
-  * Fix 7303 - remove unnessesary buttons on archived repos (#7326)
-  * Fix topic bar to allow prefixes (#7325)
-  * Fixes #7152 - Allow create/update/delete message to be empty, use default message (#7324)
-  * Fixes #7238 - Annotated tag commit ID incorrect (#7321)
-  * Dark theme fixes (#7319)
-  * Gitea own dark codemirror theme (#7317)
-  * Fixes #7292 - API File Contents bug (#7301)
-  * Fix API link header (#7298)
-  * Fix extra newlines when copying from diff in Firefox (#7288)
-  * Make diff line-marker non-selectable (#7279)
-  * Fix Submodule dection in subdir (#7275)
-  * Fix error log when loading issues caused by a xorm bug (#7271)
-  * Add .fa icon margin like .octicon (#7258)
-  * Fix hljs unintenionally highlighting commit links (#7244)
-  * Only check and config git on web subcommand but not others (#7236)
-  * Fix migration panic when Head.User is not exist (#7226)
-  * Only warn on errors in deleting LFS orphaned files during repo deletion (#7213)
-  * Fix duplicated file on pull request conflicted files (#7211)
-  * Allow colon between fixing word and issue (#7207)
-  * Fix overflow issues in repo (#7190)
-  * API error cleanup (#7186)
-  * Add error for fork already existing (#7185)
-  * Fixes diff on merged pull requests (#7171)
-  * If milestone id is zero don't get it from database (#7169)
-  * Fix pusher name via ssh push (#7167)
-  * Fix database lock when use random repository fallback image (#7166)
-  * Various fixes for issue mail notifications (#7165)
-  * Allow archived repos to be (un)starred and (un)watched (#7163)
-  * Fix GCArgs load from ini (#7156)
-  * Detect noreply email address as user (#7133)
-  * Avoid arbitrary format strings upon calling fail() function (#7112)
-  * Validate External Tracker URL Format (#7089)
-  * Repository avatar fallback configuration (#7087)
-  * Fix #732: Add LFS objects to base repository on merging  (#7082)
-  * Install page - Handle invalid administrator username better (#7060)
-  * Workaround for posting single comments in split diff view (#7052)
-  * Fix possbile mysql invalid connnection error (#7051)
-  * Fix charset was not saved after installation finished (#7048)
-  * Handle insecure and ports in go get (#7041)
-  * Avoid bad database state after failed migration (#7040)
-  * Fix wrong init dependency on markup extensions (#7038)
-  * Fix default for allowing new organization creation for new users (#7017)
-  * Fix content download and /verify LFS handler expecting wrong content-type (#7015)
-  * Fix missing repo description when migrating (#7000)
-  * Fix LFS Locks over SSH (#6999)
-  * Do not attempt to return blob on submodule (#6996)
-  * Fix U2F for Chrome >= 74 (#6980)
-  * Fix index produces problem when issues/pulls deleted (#6973)
-  * Allow collaborators to view repo owned by private org (#6965)
-  * Stop running hooks on pr merge (#6963)
-  * Run hooks on merge/edit and cope with protected branches (#6961)
-  * Webhook Logs show proper HTTP Method, and allow change HTTP method in form (#6953)
-  * Stop colorizing log files by default (#6949)
-  * Rotate serv.log, http.log and hook logs and stop stacktracing in these (#6935)
-  * Fix plain text overflow line wrap (#6915)
-  * Fix input size for dependency select (#6913)
-  * Change drone token name to let users know to use oauth2 (#6912)
-  * Fix syntax highlight in blame view #6895 (#6909)
-  * Use AppURL for Oauth user link (#6894)
-  * Fixes #6881 - API users search fix (#6882)
-  * Fix 404 when send pull request some situation  (#6871)
-  * Enforce osusergo build tag for releases (#6862)
-  * Fix 500 when reviewer is deleted with integration tests (#6856)
-  * Fix v85.go (#6851)
-  * Make dropTableColumns drop columns on sqlite and constraints on all (#6849)
-  * Fix double-generation of scratch token (#6832) (#6833)
-  * When mirroring we should set the remote to mirror (#6824)
-  * Fix the v78 migration "Drop is_bare" on MSSQL #6707 (#6823)
-  * Change verbose flag in dump command to avoid colliding with global version flag (#6822)
-  * Fix #6813: Allow git.GetTree to take both commit and tree names (#6816)
-  * Remove `seen` map from `getLastCommitForPaths` (#6807)
-  * Show scrollbar only when needed (#6802)
-  * Restore IsWindows variable assignment (#6722) (#6790)
-  * Service worker js is a missing comma (#6788)
-  * Fix team edit API panic (#6780)
-  * Set user search base field optional in LDAP (simple auth) edit page (#6779)
-  * Ignore already existing public keys after ldap sync (#6766)
-  * Fix pulls broken when fork repository deleted (#6754)
-  * Fix missing return (#6751)
-  * Fix new team 500 (#6749)
-  * OAuth2 token can be used in basic auth (#6747)
-  * Fix org visibility bug when git cloning (#6743)
-  * Fix bug when sort repos on org home page login with non-admin (#6741)
-  * Stricter domain name pattern in email regex (#6739)
-  * Fix admin template error (#6737)
-  * Drop is_bare IDX only when it exists for MySQL and MariaDB (#6736)
-  * UI: Detect and restore encoding and BOM in content  (#6727)
-  * Load issue attributes when editing an issue with API (#6723)
-  * Fix team members API (#6714)
-  * Unfortunately MemProvider Init does not actually Init properly (#6692)
-  * Fix partial reversion of #6657 caused by #6314 (#6685)
-  * Prevent creating empty sessions (#6677)
-  * Fixes #6659 - Swagger schemes selection default to page's protocol (#6660)
-  * Update highlight.js to 9.15.6 (#6658)
-  * Properly escape on the redirect from the web editor (#6657)
-  * Fix #6655 - Don't EscapePound .Link as it is already escaped (#6656)
-  * Use ctx.metas for SHA hash links (#6645)
-  * Fix wrong GPG expire date (#6643)
-  * upgrade version of lib/pq to v1.1.0 (#6640)
-  * Fix forking an empty repository (#6637)
-  * Fix issuer of OTP URI should be URI-encoded. (#6634)
-  * Return a UserList from /api/v1/admin/users (#6629)
-  * Add json tags for oauth2 form (#6627)
-  * Remove extra slash from twitter card (#6619)
-  * remove bash requirement in makefile (#6617)
-  * Fix Open Graph og:image link (#6612)
-  * Fix cross-compile builds (#6609)
-  * Change commit summary to full message in API (#6591)
-  * Fix bug user search API pagesize didn't obey ExplorePagingNum (#6579)
-  * Prevent server 500 on compare branches with no common history (#6555)
-  * Properly escape release attachment URL (#6512)
-  * Delete local branch when repo branch is deleted (#6497)
-  * Fix bug when user login and want to resend register confirmation email (#6482)
-  * Fix upload attachments (#6481)
-  * Avoid multi-clicks in oauth2 login (#6467)
-  * Hacky fix for alignment of the create-organization dialog (#6455)
-  * Change order that PostProcess Processors are run (#6445)
-  * Clean up ref name rules (#6437)
-  * Fix Hook & HookList in Swagger (#6432)
-  * Fixed unitTypeCode not being used in accessLevelUnit (#6419)
-  * Display correct error for invalid mirror interval (#6414)
-  * Don't Unescape redirect_to cookie value (#6399)
-  * Fix dump table name error and add some test for dump database (#6394)
-  * Fix migrations 82 to ignore unsynced tags between database and git data and missing is_archived on repository table (#6387)
-  * Make sure units of a team are returned (#6379)
-  * Fix bug manifest.json will not request with cookie so that session will created every request (#6372)
-  * Disable benchmarking during tag events on DroneIO (#6365)
-  * Comments list performance optimization (#5305)
-* ENHANCEMENTS
-  * Update Drone docker generation to standard format (#7480) (#7496) (#7504)
-  * Add API Endpoint for Repo Edit (#7006)
-  * Add state param to milestone listing API (#7131)
-  * Make captcha and password optional for external accounts (#6606)
-  * Detect migrating batch size (#7353)
-  * Fix 7255 - wrap long texts on user profile info (#7333)
-  * Use commit graph files for listing pages (#7314)
-  * Add git command line commitgraph support global default true when git version >= 2.18 (#7313)
-  * Add LFS_START_SERVER option to control git-lfs support (#7281)
-  * Dark theme markdown fixes (#7260)
-  * Update go-git to v4.12.0 (#7249)
-  * Show lfs config on admin panel (#7220)
-  * Disable same user check for internal SSH (#7215)
-  * Add LastLogin to the User API (#7196)
-  * Add missing description of label on API (#7159)
-  * Use go method to calculate ssh key fingerprint (#7128)
-  * Enable Rust highlighting (#7125)
-  * Refactor submodule URL parsing (#7100)
-  * Change issue mail title. (#7064)
-  * Use batch insert on migrating repository to make the process faster (#7050)
-  * Improve github downloader on migrations (#7049)
-  * When git version >= 2.18, git command could run with git wire protocol version 2 param if enabled (#7047)
-  * Fix Erlang and Elixir highlight mappings (#7044)
-  * API Org Visibility (#7028)
-  * Improve handling of non-square avatars (#7025)
-  * Bugfix: Align comment label and actions to the right (#7024)
-  * Change UpdateRepoIndex api to include watchers (#7012)
-  * Move serv hook functionality & drop GitLogger (#6993)
-  * Add support of utf8mb4 for mysql (#6992)
-  * Make webhook http connections reusable (#6976)
-  * Move xorm logger bridge from log to models so that log module could be a standalone package (#6944)
-  * Refactor models.NewRepoContext to extract git related codes to modules/git (#6941)
-  * Remove macaron dependent on models (#6940)
-  * Add less linter via npx (#6936)
-  * Remove macaron dependent on modules/log (#6933)
-  * Remove macaron dependent on models/mail.go (#6931)
-  * Clean less files (#6921)
-  * Fix code overflow (#6914)
-  * Style orgs list in user profile (#6911)
-  * Improve description of branch protection (fix #6886) (#6906)
-  * Move sdk structs to modules/structs (#6905)
-  * update sdk to latest (#6903)
-  * Escape the commit message on issues update and title in telegram hook (#6901)
-  * SearchRepositoryByName improvements and unification (#6897)
-  * Change the color of issues/pulls list, merged is purple and closed is red (#6874)
-  * Refactor table width to have more info shown in file list (#6867)
-  * Monitor all git commands; move blame to git package and replace git as a variable (#6864)
-  * Fix config ui error about cache ttl (#6861)
-  * Improve localization of git activity stats (#6848)
-  * Generate access token in admin cli (#6847)
-  * Update github.com/urfave/cli to version 1.2.0 (#6838)
-  * Rename LFS_JWT_SECRET cli option to include OAUTH2 as well (#6826)
-  * internal/ssh: ignore env command totally (#6825)
-  * Allow Recaptcha service url to be configured (#6820)
-  * update github.com/mcuadros/go-version to v0.0.0-20190308113854-92cdf37c5b75 (#6815)
-  * Use modules/git for git commands (#6775)
-  * Add GET requests to webhook (#6771)
-  * Move PushUpdate dependency from models to repofiles (#6763)
-  * Tweak tab text and icon colors (#6760)
-  * Ignore non-standard refs in git push (#6758)
-  * Disable web preview for telegram webhook (#6719)
-  * Show full name if DEFAULT_SHOW_FULL_NAME setting enabled (#6710)
-  * Reorder file actions (#6706)
-  * README WordPress the code is overflowing #6679 (#6696)
-  * Improve issue reference on commit (#6694)
-  * Handle redirects for git clone commands (#6688)
-  * Fix one performance/correctness regression in #6478 found on Rails repository. (#6686)
-  * API OTP Context (#6674)
-  * Remove local clones & make hooks run on merge/edit/upload (#6672)
-  * Bump github.com/stretchr/testify from 1.2.2 to 1.3.0 (#6663)
-  * Bump gopkg.in/src-d/go-git.v4 from 4.8.0 to 4.10.0 (#6662)
-  * Fix dropdown icon padding (#6651)
-  * Add more title attributes on shortened names (#6647)
-  * Update UI for topics labels on projects (#6639)
-  * Trace Logging on Permission Denied & ColorFormat (#6618)
-  * Add .gpg url (match github behaviour) (#6610)
-  * Support for custom GITEA_CUSTOM env var in docker(#6608)
-  * Show "delete branch" button on closed pull requests (#6570) (#6601)
-  * Add option to disable refresh token invalidation (#6584)
-  * Fix new repo dropdown alignment (#6583)
-  * Fix mail notification when close/reopen issue (#6581)
-  * Pre-calculate the absolute path of git (#6575)
-  * Minor CSS cleanup for the navbar (#6553)
-  * Render SHA1 links as code blocks (#6546)
-  * Add username flag in create-user command (#6534)
-  * Unifies pagination template usage (#6531) (#6533)
-  * Fixes pagination width on mobile view (#5711) (#6532)
-  * Improve SHA1 link detection (#6526)
-  * Fixes #6446 - Sort team members and team's repositories (#6525)
-  * Use stricter boundaries for auto-link detection (#6522)
-  * Use regular line-height on frontpage entries (#6518)
-  * Fixes #6514 - New Pull Request on files and pulls pages the same (#6515)
-  * Make distinction between DisplayName and Username in email templates (#6495)
-  * Add X-Auto-Response-Suppress header to outgoing messages (#6492)
-  * Cleaned permission checks for API -> site admin can now do anything (#6483)
-  * Support search operators for commits search (#6479)
-  * Improve listing performance by using go-git (#6478)
-  * Fix repo sub_menu font color in arc-green (#6477)
-  * Show last commit status in pull request lists (#6465)
-  * Add signatures to webhooks (#6428)
-  * Optimize all images in public/img (#6427)
-  * Add golangci (#6418)
-  * Make "Ghost" not link to 404 page (#6410)
-  * Include more variables on admin/config page (#6378)
-  * Markdown: enable some more extensions (#6362)
-  * Include repo name in page title tag (#6343)
-  * Show locale string on timestamp (#6324)
-  * Handle CORS requests (#6289)
-  * Improve issue autolinks (#6273)
-  * Migration Tweaks (#6260)
-  * Add title attributes to all items in the repo list viewer (#6258)
-  * Issue indexer queue redis support (#6218)
-  * Add bio field for user (#6113)
-  * Make the version within makefile overwriteable (#6080)
-  * Updates to API 404 responses (#6077)
-  * Use Go1.11 module (#5743)
-  * UX + Security current user password reset (#5042)
-  * Refactor: append, build variable and type switch (#4940)
-  * Git statistics in Activity tab (#4724)
-  * Drop the bits argument when generating an ed25519 key (#6504)
-* TESTING
-  * Exclude pull_request from fetch-tags step, fixes #7108 (#7120)
-  * Refactor and improve git test (#7086)
-  * Fix TestSearchRepo by waiting till indexing is done (#7004)
-  * Add mssql migration tests (needs #6823) (#6852)
-  * Add tests for Org API (#6731)
-  * Context.ServerError and NotFound should log from their caller (#6550)
-* TRANSLATION
-  * Add french specific rule for translating plural texts (#6846)
-* BUILD
-  * Update mssql driver to last working version 20180314172330-6a30f4e59a44 (#7306)
-  * Alpine 3.10 (#7256)
-  * Use vfsgen instead of go-bindata (#7080)
-  * remove and disable package-lock (#6969)
-  * add make targets for js and css, add js linter (#6952)
-  * Added tags pull step to drone config to show correct version hashes i… (#6836)
-  * Make CustomPath, CustomConf and AppWorkPath configurable at build (#6631)
-  * chore: update drone format to 1.0 (#6602)
-  * Fix race in integration testlogger (#6556)
-  * Quieter Integration Tests (#6513)
-  * Drop the docker Makefile from the image (#6507)
-  * Add make version on gitea version (#6485)
-  * Fix #6468 - Uses space match and adds newline for all sed flavors (#6473)
-  * Move code.gitea.io/git to code.gitea.io/gitea/modules/git (#6364)
-  * Update npm dependencies and various tweaks (#7344)
-  * Fix updated drone file (#7336)
-  * Add 'npm' and 'npm-update' make targets and lockfile (#7246)
-* DOCS
-  * Add work path CLI option (#6922)
-  * Fix logging documentation (#6904)
-  * Some logging documentation (#6498)
-  * Fix link to Hacking on Gitea on From-Source doc page (#6471)
-  * Fix typos in docs command-line examples (#6466)
-  * Added docker example for backup (#5846)
-
-## [1.8.3](https://github.com/go-gitea/gitea/releases/tag/v1.8.3) - 2019-06-17
-
-* BUGFIXES
-  * Always set userID on LFS authentication (#7224) (Part of #6993)
-  * Fix LFS Locks over SSH (#6999) (#7223)
-  * Fix duplicated file on pull request conflicted files (#7211) (#7214)
-  * Detect noreply email address as user (#7133) (#7195)
-  * Don't get milestone from DB if ID is zero (#7169) (#7174)
-  * Allow archived repos to be (un)starred and (un)watched (#7163) (#7168)
-  * Fix GCArgs load from ini (#7156) (#7157)
-
-## [1.8.2](https://github.com/go-gitea/gitea/releases/tag/v1.8.2) - 2019-05-29
-
-* BUGFIXES
-  * Fix possbile mysql invalid connnection error (#7051) (#7071)
-  * Handle invalid administrator username on install page (#7060) (#7063)
-  * Disable arm7 builds (#7037) (#7042)
-  * Fix default for allowing new organization creation for new users (#7017) (#7034)
-  * SearchRepositoryByName improvements and unification (#6897) (#7002)
-  * Fix u2f registrationlist ToRegistrations() method (#6980) (#6982)
-  * Allow collaborators to view repo owned by private org (#6965) (#6968)
-  * Use AppURL for Oauth user link (#6894) (#6925)
-  * Escape the commit message on issues update (#6901) (#6902)
-  * Fix regression for API users search (#6882) (#6885)
-  * Handle early git version's lack of get-url (#7065) (#7076)
-  * Fix wrong init dependency on markup extensions (#7038) (#7074)
-
-## [1.8.1](https://github.com/go-gitea/gitea/releases/tag/v1.8.1) - 2019-05-08
-
-* BUGFIXES
-  * Fix 404 when sending pull requests in some situations (#6871) (#6873)
-  * Enforce osusergo build tag for releases (#6862) (#6869)
-  * Don't post process commit summary in templates (#6842) (#6868)
-  * Fix 500 when reviewer is deleted (#6856) (#6860)
-  * Fix v78 migration for MSSQL (#6823) (#6854)
-  * Added tags pull step to drone config to show correct version hashes (#6836) (#6839)
-  * Fix double-generation of scratch token (#6833) (#6835)
-  * When mirroring we should set the remote to mirror (#6824) (#6834)
-  * Show scrollbar only when needed (#6802) (#6803)
-  * Service worker js is missing a comma (#6788) (#6795)
-  * Set user search base field optional in LDAP (simple auth) edit page (#6779) (#6789)
-  * Fix team edit API panic (#6780) (#6785)
-  * Minor CSS cleanup for the navbar (#6553) (#6781)
-  * Stricter domain name pattern in email regex (#6739) (#6768)
-  * Detect and restore encoding and BOM in content (#6727) (#6765)
-  * Fix org visibility bug when git cloning (#6743) (#6762)
-  * OAuth2 token can be used in basic auth (#6747) (#6761)
-  * Fix missing return (#6751) (#6756)
-  * Fix sorting repos on org home page with non-admin login (#6741) (#6746)
-  * Drop is_bare IDX only when it exists for MySQL and MariaDB (#6736) (#6744)
-  * Fix team members API (#6714) (#6729)
-  * Load issue attributes when editing an issue with API (#6723) (#6725)
-  * Fix config ui error about cache ttl (#6861) (#6865)
-
-## [1.8.0](https://github.com/go-gitea/gitea/releases/tag/v1.8.0) - 2019-04-20
-
-* SECURITY
-  * Prevent remote code execution vulnerability with mirror repo URL settings (#6593) (#6594)
-  * Resolve 2FA bypass on API (#6676) (#6674)
-  * Prevent the creation of empty sessions for non-logged in users (#6690) (#6677)
-* BREAKING
-  * Add "ghost" and "notifications" to list of reserved user names. (#6208)
-  * Change sqlite DB path default to data directory (#6198)
-  * Adds MustChangePassword to user create/edit API (#6193)
-  * Disable redirect for i18n (#5910)
-  * Releases API paging (#5831)
-  * Allow Macaron to be set to log through to gitea.log (#5667)
-  * Don't close issues via commits on non-default branch (#5622)
-* FEATURES
-  * Add regenerate secret feature for oauth2 (#6291)
-  * Expose issue stopwatch toggling via API (#5970)
-  * Add other session providers (#5963)
-  * Pull request conflict files detection (#5951)
-  * Integrate OAuth2 Provider (#5378)
-  * Implement "conversation lock" for issue comments (#5073)
-  * Feature: Archive repos (#5009)
-  * Discord Oauth2 support (#4476)
-  * Allow to set organization visibility (public, internal, private) (#1763)
-  * Added URL mapping for Release attachments like on github.com (#1707)
-* ENHANCEMENTS
-  * Add support for client basic auth for exchanging access tokens (#6293)
-  * Add ability to sort issues by due date (#6206) (#6244)
-  * Style tweaks to issue selection (#6196)
-  * Increase Username and Orgname MaxSize 35 -> 40 (#6178)
-  * Coverage profile with multiple packages (#6167)
-  * Split setting.go to multiple files (#6154)
-  * Allow labels to contain emoji (#6063)
-  * Disable git fsck for mirrored repos by default (#6018)
-  * Add default time out for git operations (#6015)
-  * Split setting.go as multiple files (#6014)
-  * Make dashboard navbar and footer full-width (#6013)
-  * Add lang specific font stacks for CJK (#6007)
-  * Fix header menu misalignment (#6002)
-  * Enhance closed PR and Issue status in the list (#6000)
-  * Make navbar full width (#5998)
-  * Add option to close issues via commit on a non master branch (#5992)
-  * Support n as a line highlight prefix (#5987)
-  * Search for org repos (#3031) (#5986)
-  * Minor UI tweaks (#5980)
-  * Use native golang SSH library but ssh-keygen when enable built-in SSH server to remove dependent on that command lines (#5976)
-  * Dashboard tweaks (#5974)
-  * Fixes for repo topic editor (#5971)
-  * Display the branch name in the commit view (#5950)
-  * handle milestone events for issues and PR (#5947)
-  * Add label names as filter in issue search api (#5946)
-  * Repo header tweaks (#5945)
-  * Better support for long repo names (#5932)
-  * Fix wrapping long code lines (#5927)
-  * Change GPG Validation colors and remove inline CSS (#5404) (#5896)
-  * Fix "pulls.blocked_by_approvals" text (#5879)
-  * Rename reject to 'request changes' (#5858)
-  * Move input fields to add members to a team and repos to a team (#5853)
-  * Config option to disable automatic repo watching (#5852)
-  * New Issue ?body= query (#5851)
-  * Add API to list tags (#5850)
-  * Pagination for git tree API (#5838)
-  * Add InternalTokenURI to load InternalToken from an external file (#5812)
-  * Allow markdown files to read from the LFS (#5787)
-  * Add the ability to use multiple labels as filters (#5786)
-  * Adjust log settings when a user is not found. (#5771)
-  * Log IP of failed ssh connection (#5766)
-  * Moved defaults in defaults.go to setting.go (#5764)
-  * Make DB connect more robust (#5738)
-  * Add Default Pull Request Title (#5735)
-  * Refactor repo.isBare to repo.isEmpty #5629 (#5714)
-  * Add flag to skip repository dumping (#5695)
-  * Prioritize "readme.md" (#5691)
-  * Improve "Fork button" for guests by showing a pop up asking them to log in before forking (#5690)
-  * Allow for user specific themes (#5668)
-  * Display branch name in delete branch confirmation modal. (#5654)
-  * New API routes added (#5594)
-  * Refactor notification for indexer (#5111)
-  * Refactor mail notification (#5110)
-  * Show email if the authenticated user owns the profile page being requested for (#4981)
-  * Optimize pulls merging (#4921)
-  * Sort Repositories widget by most recently updated (#3963) (#4599)
-  * Allow markdown table to scroll (#4401)
-  * Automatically clear stopwatch on merging a PR (#4327)
-  * Add the Owner Name to differentiate when merging (#3807)
-  * Add title attributes to all items in the repo list viewer (#6258) (#6650)
-* BUGFIXES
-  * Fix dropdown icon padding (#6651) (#6654)
-  * Fix wrong GPG expire date (#6643) (#6644)
-  * Fix forking an empty repository (#6637) (#6653)
-  * Remove call to EscapePound .Link as it is already escaped (#6656) (#6666)
-  * Properly escape on the redirect from the web editor (#6657) (#6667)
-  * Allow resend of confirmation email when logged in (#6482) (#6486)
-  * Fix mail notification when close/reopen issue (#6581) (#6588)
-  * Change API commit summary to full message (#6591) (#6592)
-  * Add option to disable refresh token invalidation (#6584) (#6587)
-  * Fix bug user search API pagesize didn't obey ExplorePagingNum (#6579) (#6586)
-  * Fix new repo alignment (#6583) (#6585)
-  * Prevent server 500 on compare branches with no common history (#6555) (#6558)
-  * Properly escape release attachment URL (#6512) (#6523)
-  * Hacky fix for alignment of the create-organization dialog (#6455) (#6462)
-  * Disable benchmarking during tag events on DroneIO (#6365) (#6366)
-  * Make sure units of a team are returned (#6379) (#6381)
-  * Don't Unescape redirect_to cookie value (#6399) (#6401)
-  * Fix dump table name error and add some test for dump database (#6394) (#6402)
-  * Fix migration v82 to ignore unsynced tags between database and git data; Add missing is_archived column on repository table (#6387) (#6403)
-  * Display correct error for invalid mirror interval (#6414) (#6429)
-  * Clean up ref name rules (#6437) (#6439)
-  * Fix Hook & HookList in Swagger (#6432) (#6440)
-  * Change order that PostProcess Processors are run (#6445) (#6447)
-  * Clean up various use of escape/unescape functions for URL generation (#6334)
-  * Return 409 when creating repo if it already exists. (#6330)
-  * Add same changes from issues page to milestone->issues page (#6328)
-  * Fix ParsePatch function to work with quoted diff --git strings (#6323)
-  * Fix reported issue in repo description (#6306)
-  * Use url.PathEscape to escape the branchname (#6304)
-  * Add robots.txt as reserved username (#6272)
-  * Replace linkRegex with xurls library (#6261)
-  * Remove visitLinksForShortLinks features (#6257)
-  * Add unit types to repo action URL to correctly show 404 when archived (#6247)
-  * Check organization visibility before everything else (#6234) (#6235)
-  * Prevent double-close of issues (#6233)
-  * Override xorm type mapping for U2F counter (#6232)
-  * Add isAdmin to user API response (#6231)
-  * Update git vendor to fix wrong release commit id and add migrations (#6224)
-  * Fix fork button (#6223)
-  * Fix renames over redirects (#6216)
-  * Fix display dashboard even if require to change password (#6214)
-  * Create a repo redirect when transferring ownership (#6210) (#6211)
-  * Fix issue update race condition (#6194)
-  * Fix bug when migrate repository 500 when repo is existed (#6188)
-  * Fix scrollbar always present on page body (#6177)
-  * Fix bug when set indexer as db and add tests (#6173)
-  * Modify linkRegex to require http|https (#6171)
-  * Fix bug user could change private repository to public when force private enabled. (#6156)
-  * Fix admin list user/org API (#6143)
-  * Make repo creation for API similar to UI (#6142)
-  * Make document body a flexbox (#6139)
-  * Refactor issue indexer, add some testing and fix a bug (#6131)
-  * Load Issue attributes for API call (#6122)
-  * Fix bug when update owner team then visit team's repo return 404 (#6119)
-  * Fix heatmap and repository menu display in Internet Explorer 9+ (#6117)
-  * Show private organization for admin, fix #6111 (#6112)
-  * Fix prohibit login check on authorization (#6106)
-  * Move to ldap.v3 to fix #5928 (#6105)
-  * Remove use MakeAssigneeList in webhooks to fix deadlock (#6102)
-  * Allow display of LFS stored Readme.md on directory page (#6073) (#6099)
-  * Make sure labels are actually returned (#6053)
-  * Fix panic: template: repo/issue/list:210: unexpected "=" in operand (#6041)
-  * After deleting a repo on admin panel, UI should remember the last sort type (#6033)
-  * Default create repository on organisation on its dashboard (#6026)
-  * Swagger: Remove spaces in MergePullRequestOption enum (#6016)
-  * Fix metrics auth token detection (#6006)
-  * Fix repo header issues (#5995)
-  * Fix bug when deleting a linked account will removed all (#5989)
-  * Make organization dropdown scrollable when using mouse wheel (#5988)
-  * Fix empty ssh key importing in ldap (#5984)
-  * Admin config page mailertype setting option update (#5973)
-  * Fix redirect loop during forced password change (#5965)
-  * Show user who created the repository instead of the organisation in action feed (#5948)
-  * Remove all CommitStatus when a repo is deleted (#5940)
-  * Fix ssh deploy and user key constraints (#1357) (#5939)
-  * Fix log output (#5938)
-  * Set PusherName and PusherID to owner on deploy key to fix pushing with deploy keys (#5935)
-  * Fix compare button (#5929)
-  * Fix bug when read public repo lfs file (#5912)
-  * Only allow local login if password is non-empty (#5906)
-  * Recover panic in orgmode.Render if bad orgfile (#4982) (#5903)
-  * Provide better panic handling (#5902)
-  * Respect value of REQUIRE_SIGNIN_VIEW (#5901)
-  * Show a 404 not a 500 if a repo does not exist (#5900)
-  * Ensure repo is loaded in mailer (Completely fix #5891) (#5895)
-  * Ensure issue.Poster is loaded in mailIssueCommentToParticipants (#5891)
-  * Correct footer height if screen-width is to small (fixes #5878) (#5889)
-  * In gitea serv switch off console logger to fix #5866 (#5887)
-  * Don't allow pull requests to be created on an archived repository (#5883)
-  * Support reviews on a deleted file path (#5880)
-  * Fix compare button on upstream repo leading to 404 (#5877)
-  * Fix null pointer on not logged in attempt to Sudo (#5872)
-  * Fix new release creation API to allow empty target (#5870)
-  * Fix an error while adding a dependency via UI. (#5862)
-  * Fix failing migration v67 (#5849)
-  * Fix delete correct temp directory (#5839)
-  * Make sure .git/info is created before generating .git/info/sparse-che… (#5825)
-  * Fix topics saving internal error and disable for archived repos (#5821)
-  * Fix TLS errors when using acme/autocert for local connections (#5820)
-  * When creating new repository fsck option should be enabled (#5817)
-  * Request for public keys only if LDAP attribute is set  (#5816)
-  * Fix serving of raw wiki files other than .md (#5814)
-  * Fix migration 78 error mssql (#5791)
-  * Disallow empty titles (#5785)
-  * Fix the v78 migration script (#5776)
-  * Ensure valid git author names passed in signatures (#5774)
-  * Fix wrong assumption where a user is always said to have unassigned (her)himself (#5769)
-  * Upgrade go-sql-driver/mysql to fix invalid connection error (#5748)
-  * Fixing PostgreSQL dump creation (#5747)
-  * Add proper CORS preflight origin validation (#5740)
-  * Disable auto-migrate in docker container (#5730)
-  * In basic auth check for tokens before call UserSignIn (#5725)
-  * Pooled and buffered gzip implementation (#5722)
-  * Ensure that sessions are passed into queries that could use the database to prevent deadlocks (#5718)
-  * Keep file permissions during database migration (#5707)
-  * Use correct value for "MSpan Structures Obtained" #4742 (#5706)
-  * Refactor editor upload, update and delete to use git plumbing and add LFS support (#5702)
-  * Update xorm to fix issue #5659 and #5651 (#5680)
-  * Fix public will not be reused as public key after deleting as deploy key (#5671)
-  * When redirecting, clean the path (#5669)
-  * Don't list an issue on its own dependency list UI. (#5658)
-  * Fix commit page showing status for current default branch (#5649) (#5650)
-  * Only count users own actions for heatmap contributions (#5647)
-  * Fix sqlite deadlock when assigning to a PR (#5640)
-  * Refactor issue indexer (#5363)
-* TESTING
-  * Run benchmark at tag to track performances (#6035)
-  * Add test environment for MySQL8 (#5234)
-* BUILD
-  * Use go 1.12 for tests and deprecate go 1.9 (#6186)
-  * Makefile changes for Windows and easier development (#6103)
-  * Update bleve dependency to latest master revision (#6100)
-  * Switch to more recent build of xgo (#6070)
-  * Add autoprefixer to css build (#6029)
-  * Update the version of less (#6010)
-  * Make log mailer for testing (#5893)
-* DOCS
-  * Add more tests and docs for issue indexer, add db indexer type for searching from database (#6144)
-  * update default value of `--must-change-password` cli flag (#6032)
-  * Update and expand information about building Gitea (#6019)
-  * Update U2F Section of app.ini.sample (#5994)
-  * Update swagger for release API pagination (#5841)
-  * Added docs for the tree api (#5834)
-* MISC
-  * Add single commit API support (#5843)
-  * Add missing GET teams endpoints (#5382)
-  * Migrate database if app.ini found (#5290)
-
-## [1.7.6](https://github.com/go-gitea/gitea/releases/tag/v1.7.6) - 2019-04-12
-
-* SECURITY
-  * Prevent remote code execution vulnerability with mirror repo URL settings (#6593) (#6595)
-* BUGFIXES
-  * Allow resend of confirmation email when logged in (#6482) (#6487)
-
-## [1.7.5](https://github.com/go-gitea/gitea/releases/tag/v1.7.5) - 2019-03-27
-
-* BUGFIXES
-  * Fix unitTypeCode not being used in accessLevelUnit (#6419) (#6423)
-  * Fix bug where manifest.json was being requested without cookies and continuously creating new sessions (#6372) (#6383)
-  * Fix ParsePatch function to work with quoted diff --git strings (#6323) (#6332)
-
-## [1.7.4](https://github.com/go-gitea/gitea/releases/tag/v1.7.4) - 2019-03-12
-
-* SECURITY
-  * Fix potential XSS vulnerability in repository description. (#6306) (#6308)
-* BUGFIXES
-  * Fix wrong release commit id (#6224) (#6300)
-  * Fix panic on empty signed commits (#6292) (#6300)
-  * Fix organization dropdown not being scrollable when using mouse wheel (#5988) (#6246)
-  * Fix displaying dashboard even if required to change password (#6214) (#6215)
-
-## [1.7.3](https://github.com/go-gitea/gitea/releases/tag/v1.7.3) - 2019-02-27
-
-* BUGFIXES
-  * Fix server 500 when trying to migrate to an already existing repository (#6188) (#6197)
-  * Load Issue attributes for API /repos/{owner}/{repo}/issues/{index} (#6122) (#6185)
-  * Fix bug whereby user could change private repository to public when force private enabled. (#6156) (#6165)
-  * Fix bug when update owner team then visit team's repo return 404 (#6119) (#6166)
-  * Fix heatmap and repository menu display in Internet Explorer 9+ (#6117) (#6137)
-  * Fix prohibit login check on authorization (#6106) (#6115)
-  * Fix LDAP protocol error regression by moving to ldap.v3 (#6105) (#6107)
-  * Fix deadlock in webhook PullRequest (#6102) (#6104)
-  * Fix redirect loop when password change is required and Gitea is installed as a suburl (#5965) (#6101)
-  * Fix compare button regression (#5929) (#6098)
-  * Recover panic in orgmode.Render if bad orgfile (#4982) (#5903) (#6097)
-
-## [1.7.2](https://github.com/go-gitea/gitea/releases/tag/v1.7.2) - 2019-02-14
-
-* BUGFIXES
-  * Remove all CommitStatus when a repo is deleted (#5940) (#5941)
-  * Fix notifications on pushing with deploy keys by setting hook environment variables (#5935) (#5944)
-  * Silence console logger in gitea serv (#5887) (#5943)
-  * Handle milestone webhook events for issues and PR (#5947) (#5955)
-  * Show user who created the repository instead of the organization in action feed (#5948) (#5956)
-  * Fix ssh deploy and user key constraints (#1357) (#5939) (#5966)
-  * Fix bug when deleting a linked account will removed all (#5989) (#5990)
-  * Fix empty ssh key importing in ldap (#5984) (#6009)
-  * Fix metrics auth token detection (#6006) (#6017)
-  * Create repository on organisation by default on its dashboard (#6026) (#6048)
-  * Make sure labels are actually returned in API (#6053) (#6059)
-  * Switch to more recent build of xgo (#6070) (#6072)
-  * In basic auth check for tokens before call UserSignIn (#5725) (#6083)
-
-## [1.7.1](https://github.com/go-gitea/gitea/releases/tag/v1.7.1) - 2019-01-31
-
-* SECURITY
-  * Disable redirect for i18n (#5910) (#5916)
-  * Only allow local login if password is non-empty (#5906) (#5908)
-  * Fix go-get URL generation (#5905) (#5907)
-* BUGFIXES
-  * Fix TLS errors when using acme/autocert for local connections (#5820) (#5826)
-  * Request for public keys only if LDAP attribute is set (#5816) (#5819)
-  * Fix delete correct temp directory (#5840) (#5839)
-  * Fix an error while adding a dependency via UI (#5862) (#5876)
-  * Fix null pointer in attempt to Sudo if not logged in (#5872) (#5884)
-  * When creating new repository fsck option should be enabled (#5817) (#5885)
-  * Prevent nil dereference in mailIssueCommentToParticipants (#5891) (#5895) (#5894)
-  * Fix bug when read public repo lfs file (#5913) (#5912)
-  * Respect value of REQUIRE_SIGNIN_VIEW (#5901) (#5915)
-  * Fix compare button on upstream repo leading to 404 (#5877) (#5914)
-* DOCS
-  * Added docs for the tree api (#5835)
-* MISC
-  * Include Go toolchain to --version (#5832) (#5830)
-
-## [1.7.0](https://github.com/go-gitea/gitea/releases/tag/v1.7.0) - 2019-01-22
-
-* SECURITY
-  * Do not display the raw OpenID error in the UI (#5705) (#5712)
-  * When redirecting clean the path to avoid redirecting to external site (#5669) (#5679)
-  * Prevent DeleteFilePost doing arbitrary deletion (#5631)
-* BREAKING
-  * Restrict permission check on repositories and fix some problems (#5314)
-  * Show only opened milestones on issues page milestone filter (#5051)
-* FEATURES
-  * Implement git refs API for listing references (branches, tags and other) (#5354)
-  * Approvals at Branch Protection (#5350)
-  * Add raw blob endpoint to get objects by SHA ID (#5334)
-  * Add api for user to create org (#5268)
-  * Create AuthorizedKeysCommand (#5236)
-  * User action heatmap (#5131)
-  * Refactor heatmap to vue component (#5401)
-  * Webhook for Pull Request approval/rejection (#5027)
-  * Add command for migrating database (#4954)
-  * Search keyword by splitting provided values by , (#4939)
-  * Create Progressive Web App (#4730)
-  * Give user a link to create PR after push (#4716)
-  * Add rebase with merge commit merge style (#3844) (#4052)
-* BUGFIXES
-  * Disallow empty titles (#5785) (#5794)
-  * Fix sqlite deadlock when assigning to a PR (#5640) (#5642)
-  * Don't close issues via commits on non-default branch. (#5622) (#5643)
-  * Fix commit page showing status for current default branch (#5650) (#5653)
-  * Only count users own actions for heatmap contributions (#5647) (#5655)
-  * Update xorm to fix issue postgresql dumping issues (#5680) (#5692)
-  * Use correct value for "MSpan Structures Obtained" (#5706) (#5716)
-  * Fix bug on modifying sshd username (#5624)
-  * Delete tags in mirror which are removed for original repo. (#5609)
-  * Fix wrong text getting saved on editing second comment on an issue. (#5608)
-  * Fix nil pointer when adding a due date  (#5587)
-  * Fix type mismatch of format string (#5574)
-  * Fix bug on upload file name (#5571)
-  * Issue is not overdue when it is on the same date #5566 (#5568)
-  * Fix indexer reindex bug when gitea restart (#5563)
-  * Fix table name typo on SQL (#5562)
-  * Synchronize SSH keys on login with LDAP + Fix SQLite deadlock on ldap ssh key deletion (#5557)
-  * Fix makefile generate buildstep (#5556)
-  * Fix nil pointer base branch bug (#5555)
-  * Fix permission check on api create org (#5523)
-  * Fix detect force push failure on deletion of protected branches (#5522)
-  * Fix approvals limitation (#5521)
-  * Fix bug when a read perm user to edit his issue (#5516)
-  * Fix adding reaction fail for read permission user (#5515)
-  * Fixing MSSQL timestamp type (#5511)
-  * Fix forgot deletion of notification when delete repository (#5506)
-  * Fix empty wiki (#5504)
-  * Fix clone wiki failed via ssh (#5503)
-  * Fix code review on mssql (#5502)
-  * Fix lfs version check warning log when using ssh protocol (#5501)
-  * Fix topic name length on database (#5493)
-  * Ensure that the `closed_at` is set for closed issues (#5449)
-  * Admin should be able to delete repos via the API even if he is not a member of the organization (#5443)
-  * Word-Break the WebHook url to prevent a ui-break (#5432)
-  * Fix forgot removed records when deleting user (#5429)
-  * Fix repository deletion when there is large number of issues in it (#5426)
-  * Fix heatmap colors for Chrome/Safari (#5421)
-  * Fix password variable shadowing (#5405)
-  * Fix dependent issue searching when gitea is run in subpath (#5392)
-  * Don't force a password change for the admin user when creating an account via cli (#5391)
-  * API: '/orgs/:org/repos': return private repos with read access (#5383)
-  * Don't send assign webhooks when creating issue (#5365)
-  * Removing Labels via EditPullRequest API (#5348)
-  * Migration fixes for gogs (0.11.66) to gitea (1.6.0) #5318 (#5341)
-  * Fix bug when users have serval teams with different units on different repositories (#5307)
-  * Fix U2F if gitea is configured in subpath (#5302)
-  * Fix file edit change preview functionality (#5300)
-  * Update gitignore list (#5258)
-  * Fixed heatmap not working in mssql (#5248)
-  * Fixed wrong api request url for instances running in subfolders (#5247)
-  * Fix compatibility heatmap with mysql 8 (#5232)
-  * Fix data race on migrate repository (#5224)
-  * Fix sqlite and mssql lock (#5214)
-  * Fix sqlite lock (#5210)
-  * Fix: Accept web-command cli flags if web-command is committed (#5200)
-  * Fix: Add secret to all webhook's payload where it has been missing (#5199)
-  * Fix race on updatesize (#5190)
-  * Fix create team, update team missing units (#5188)
-  * Fix sqlite lock (#5184 & #5176)
-  * Fix showing pull request link when delete a branch (#5166)
-  * Fix JSON result of empty array in heatmap data array (#5154)
-  * Update build tags for sqlite_unlock notify (#5144)
-  * This commit will reduce join star, repo_topic, topic tables on repo search, so that fix extra columns problem on mssql (#5136)
-  * Fix deadlock when sqlite (#5118)
-  * Add comment replies (#5104)
-  * Fix home page template regression (#5102)
-  * Fix regex to support optional end line of old section in diff hunk (#5096)
-  * LDAP via simple auth separate bind user and search base (#5055)
-  * Fix markdown image with link (#4675)
-  * Fix to 3819 - Filtering issues by tags on main screen issues (#3824)
-* ENHANCEMENTS
-  * Delete organization endpoint added (#5601)
-  * Update Licenses (#5558)
-  * Support reverse proxy providing email (#5554)
-  * Add git protocol v2 support via SSH on Docker image (#5520)
-  * Add tests for api user orgs (#5494)
-  * Allow link verification for services like Mastodon (#5481)
-  * Improve team members and repositories settings UI (#5457)
-  * Remove the required class from optional ssh port in installation page (#5428)
-  * Explicitly disable Git credential helper (#5367)
-  * Setting Labels via EditPullRequest API (#5347)
-  * Implement pasting image from clipboard for browsers that supports that (#5317)
-  * Milestone issues and pull requests (#5293)
-  * Support envs on external render commands (#5278)
-  * Add option to disable automatic mirror syncing. (#5242)
-  * Remove unused db init on commands serv, update, hooks (#5225)
-  * Serve audio files using HTML5 audio tag (#5221)
-  * Pass link prefixes to external markup parsers (#5201)
-  * Add AutoHead functionality. (#5186)
-  * Fix emojis not showing in commit messages (#5168)
-  * Block registration based on email domain (#5157)
-  * Update vendor/go-sqlite3 (#5133 & #5162)
-  * Update x/net lib (#5169)
-  * Show review summary in pull requests (#5132)
-  * Use type switch (#5122)
-  * Remove duplicated if bodies (#5121)
-  * Remove check for negative length (#5120)
-  * Make switch more clear (#5119)
-  * Use named const instead of a raw string (#5115)
-  * Fix issue where ecdsa and other key types are not synced from LDAP (#5092) (#5094)
-  * Refactor: err != nil check, just return error instead (#5093)
-  * Add notification interface and refactor UI notifications (#5085)
-  * Use APP_NAME on home page (#5048)
-  * Explicitly decide whether to  use TLS in mailer's configuration (#5024)
-  * Generate random password (#5023)
-  * UX of link account (Step 1) (#5006)
-  * Make sure argsSet verifies string isn't empty too (#4980)
-  * Improve performance of dashboard (#4977)
-  * Keys API changes (#4960)
-  * Add must-change-password flag to cli for creating a user (#4955)
-  * Use native go method to get current user rather than environment variable (#4930)
-  * Make gitea serv use api/internal (#4886)
-  * Add support for search by uid (#4876)
-  * Allow to add organization members as collaborators on organization owned repositories (#4748)
-* TESTING
-  * Kill testing processes if the test takes too long (#5174)
-  * Update outdated Go toolchain version for .drone.yml (#5146)
-  * Increase the retry limit to 20 times and the interval to 200ms (#5134)
-  * Retry test-fixtures loading in case of transaction rollback (#5125)
-  * Added test environment for mssql (#4282)
-* BUILD
-  * Replace lint to revive (#5422)
-  * Update golang version in Dockerfile (#5246)
-* DOCS
-  * Typo in routers/api/v1/org/org.go fixed. (#5598)
-  * Update the docs for sqlite_unlock_notify (#5145)
-  * CN translation of docs part (#5049)
-  * Kubernetes deployment file (#5046)
-* MISC
-  * Upgrade alpine to 3.8 (#5423)
-  * Git-Trees API (#5403)
-  * Only chown directories during docker setup if necessary. Fix #4425 (#5064)
-
-## [1.6.4](https://github.com/go-gitea/gitea/releases/tag/v1.6.4) - 2019-01-15
-
-* BUGFIX
-  * Fix SSH key now can be reused as public key after deleting as deploy key (#5671) (#5685)
-  * When redirecting clean the path to avoid redirecting to external site (#5669) (#5703)
-  * Fix to use correct value for "MSpan Structures Obtained" (#5706) (#5715)
-
-## [1.6.3](https://github.com/go-gitea/gitea/releases/tag/v1.6.3) - 2019-01-04
-
-* SECURITY
-  * Prevent DeleteFilePost doing arbitrary deletion (#5631)
-* BUGFIX
-  * Fix wrong text getting saved on editing second comment on an issue (#5608)
-
-## [1.6.2](https://github.com/go-gitea/gitea/releases/tag/v1.6.2) - 2018-12-21
-
-* SECURITY
-  * Sanitize uploaded file names (#5571) (#5573)
-  * HTMLEncode user added text (#5570) (#5575)
-* BUGFIXES
-  * Fix indexer reindex bug when gitea restart (#5563) (#5564)
-  * Remove a double slash in the HTTPS redirect with Let's Encrypt (#5537) (#5539)
-  * Fix bug when a read perm user to edit his issue (#5516) (#5534)
-  * Detect force push failure on deletion of protected branches (#5522) (#5531)
-  * Let's Encrypt handler listens on correct port for certificate validation (#5525) (#5527)
-  * Fix forgot deletion of notification when delete repository (#5506) (#5514)
-  * Fix undeleted content when deleting user (#5429) (#5509)
-  * Fix empty wiki (#5504) (#5508)
-
-## [1.6.1](https://github.com/go-gitea/gitea/releases/tag/v1.6.1) - 2018-12-08
-
-* BUGFIXES
-  * Fix dependent issue searching when gitea is run in subpath (#5392) (#5400)
-  * API: '/orgs/:org/repos': return private repos with read access (#5393)
-  * Fix repository deletion when there is large number of issues in it (#5426) (#5434)
-  * Word-break the WebHook url to prevent a ui-break (#5445)
-  * Admin should be able to delete repos via the API even if they are not a member of the organization (#5443) (#5447)
-  * Ensure that the `closed_at` is set for closed (#5450)
-  * Fix topic name length on database (#5493) (#5495)
-
-## [1.6.0](https://github.com/go-gitea/gitea/releases/tag/v1.6.0) - 2018-11-22
-
-* BREAKING
-  * Respect email privacy option in user search via API (#4512)
-  * Simply remove tidb and deps (#3993)
-  * Swagger.v1.json template (#3572)
-* SECURITY
-  * Add CSRF checking to reqToken and add reqToken to admin API routes (#5272) (#5250)
-  * Improve URL validation for external wiki  and external issues (#4710)
-  * Make cookies HttpOnly and obey COOKIE_SECURE flag (#4706)
-  * Don't disclose emails of all users when sending out emails (#4664)
-  * Check that repositories can only be migrated to own user or organizations (#4366)
-* FEATURES
-  * Add comment replies (#5147) (#5104)
-  * Pull request review/approval and comment on code (#3748)
-  * Added dependencies for issues (#2196) (#2531)
-  * Add the ability to have built in themes in Gitea and provide dark theme arc-green (#4198)
-  * Add sudo functionality to the API (#4809)
-  * Add oauth providers via cli (#4591)
-  * Disable merging a WIP Pull request (#4529)
-  * Force user to change password (#4489)
-  * Add letsencrypt to Gitea (#4189)
-  * Add push webhook support for mirrored repositories (#4127)
-  * Add csv file render support defaultly (#4105)
-  * Add Recaptcha functionality to Gitea (#4044)
-* ENHANCEMENTS
-  * Fix milestones sorted wrongly (#4987)
-  * Allow api to create tags for releases if they don't exist (#4890)
-  * Fix #4877 to follow the OpenID Connect Audiences spec (#4878)
-  * Enforce token on api routes [fixed critical security issue #4357] (#4840)
-  * Update legacy branch and tag URLs in dashboard to new format (#4812)
-  * Slack webhook channel name cannot be empty or just contain an hashtag (#4786)
-  * Add whitespace handling to PR-comparison (#4683)
-  * Make reverse proxy auth optional (#4643)
-  * MySQL TLS (#4642)
-  * Make sure to set PR split view when creating/previewing a pull request  (#4617)
-  * Log user in after a successful sign up (#4615)
-  * Fix typo IsPullReuqestBroken -> IsPullRequestBroken (#4578)
-  * Allow admin toggle forcing a password change for newly created users (#4563)
-  * Update jQuery to v1.12.4 (#4551)
-  * Env var GITEA_PUSHER_EMAIL (#4516)
-  * Feat(repo): support search repository by topic name (#4505)
-  * Small improvements to dependency UI (#4503)
-  * Make max commits in graph configurable (#4498)
-  * Add valid for lfs oid (#4461)
-  * Add shortcut to save wiki page (#4452)
-  * Allow administrator to create repository for any organization (#4368)
-  * Fix repository last updated time update when delete a user who watched the repo (#4363)
-  * Switch plaintext scratch tokens to use hash instead (#4331)
-  * Increase default TOTP secret size to 320 bits (#4287)
-  * Keep preseeded database password (#4284)
-  * Implemented hover text showing user FullName (#4261)
-  * Add ability to delete a token (#4235)
-  * Fix typos in i18n variable names. (#4080)
-  * Api: repos/search: add parameters to control the sort order (#3964)
-  * Add missing path in the Docker app.ini template (#2181)
-  * Add file name and branch to page title (#4902)
-  * Offline use of google fonts (#4872)
-  * Add missing History link to directory listings v2 (#4829)
-  * Locale for Edit and Remove due date issue (#4802)
-  * Disable 'May Import Local Repository' when is disabled by setting (Is… (#4780)
-  * API /admin/users/{username} missing parameter (#4775)
-  * Display error when adding a user to a team twice (#4746)
-  * Remove UsePrivilegeSeparation from the Docker sshd_config, see #2876 (#4722)
-  * Focus title input when clicking helper link (#4696)
-  * Add vendor to user reserved words and format words list according alphabet (#4685)
-  * Add gitea/issues link to 500 page (#4654)
-  * Hide home button when landing page is not set to home (#4651)
-  * Remove link to GitHub issues in 404 template (#4639)
-  * Cmd/serve: pprof cpu and memory profile dumps to disk (#4560)
-  * Add flash message after an account has been successfully activated (#4510)
-  * Prevent html entity escaping on delete branch (#4471)
-  * Locale for button Edit on protected branch (#4442)
-  * Update notification icon (#4343)
-  * Added front-end topics validation (#4316)
-  * Don't display buttons if there are no system notifications (#4280)
-  * Issue due date api (#3890)
-* BUGFIXES
-  * dont' send assign webhooks when creating issue (#5365)
-  * Fix create team, update team missing units (#5188)
-  * Fix file edit change preview functionality (#5300)
-  * *ix bug when users have serval teams with different units on different repositories (#5307)
-  * Fix U2F if gitea is configured in subpath (#5302)
-  * Fix markdown image with link (#4675)
-  * Remove maxlines option for file logger (#5282)
-  * Fix wrong api request url for instances running in subfolders (#5261) (#5247)
-  * Accept web-command cli flags if web-command is committed (#5245) (#5200)
-  * Reduce join star, repo_topic, topic tables on repo search, to resolve extra columns problem on MSSQL (#5136) (#5229)
-  * Fix data race on migrate repository (#5224) (#5230)
-  * Add secret to all webhook's payload where it has been missing (#5208) (#5199)
-  * Fix sqlite and MSSQL lock (#5210) (#5223) (#5214) (#5218) (#5176) (#5179)
-  * Fix race on updatesize (#5190) (#5215)
-  * Fix filtering issues by tags on main screen issues (#5219) (#3824)
-  * Fix SQL quoting (#5137) (#5117)
-  * Fix regex to support optional end line of old section in diff hunk (#5097) (#5096)
-  * Fix release creation via API (#5076)
-  * Remove links from topics in edit mode  (#5026)
-  * Fix missing AppSubUrl in few more templates (fixup) (#5021)
-  * Fix missing AppSubUrl in some templates (#5020)
-  * Hide outdated comments in file view (#5017)
-  * Upgrade gopkg.in/testfixtures.v2 (#4999)
-  * Disable debug routes unless PPROF is enabled in configuration (#4995)
-  * Fix user menu item styling (#4985)
-  * Fix layout of the topics editing form (#4971)
-  * Fix null pointer dereference in ParseCommitWithSignature (#4962)
-  * Fix url in discord webhook (#4953)
-  * Detect charset and convert non UTF-8 files for display (#4950)
-  * Make sure to catch the right error so it is displayed on the UI (#4945)
-  * Fix(topics): don't redirect to explore page. (#4938)
-  * Fix bug forget to remove Stopwatch when remove repository (#4928)
-  * Fix bug when repo remained bare if multiple branches pushed in single push (#4923)
-  * Fix: Crippled diff (#4726) (#4900)
-  * Fix trimming of markup section names (#4863)
-  * Issues api allow pulls and fix #4832 (#4852)
-  * Do not autocreate directory for new users/orgs (#4828) (#4849)
-  * Fix redirect with non-ascii branch names (#4764) (#4810)
-  * Fix missing release title in webhook (#4783) (#4796)
-  * User shouldn't be able to approve or reject his/her own PR (#4729)
-  * Make sure to reset commit count in the cache on mirror syncing (#4720)
-  * Fixed bug where team with admin privilege type doesn't get any unit  (#4719)
-  * Fix incorrect caption of webhook setting (#4701) (#4717)
-  * Allow WIP marker to contains < or > (#4709)
-  * Hide org/create menu item in Dashboard if user has no rights (#4678) (#4680)
-  * Site admin could create repos even MAX_CREATION_LIMIT=0 (#4645)
-  * Fix custom templates being ignored (#4638)
-  * Fix starring icon after semantic ui update (#4628)
-  * Fix Split-View line adjustment (#4622)
-  * Fix integer constant overflows in tests (#4616)
-  * Push whitelist now doesn't apply to branch deletion (#4601) (#4607)
-  * Fix bugs when too many IN variables (#4594)
-  * Fix failure on creating pull request with assignees (#4419) (#4583)
-  * Fix panic issue on update avatar email (#4580) (#4581)
-  * Fix status code label for a successful webhook (#4540)
-  * An inactive user shouldn't be able to be added as a collaborator (#4535)
-  * Don't fail silently if trying to add a collaborator twice (#4533)
-  * Fix incorrect MergeWhitelistTeamIDs check in CanUserMerge function (#4519) (#4525)
-  * Fix out-of-transaction query in removeOrgUser (#4521) (#4522)
-  * Fix migration from older releases (#4495)
-  * Accept 'Data:' in commit graph (#4487)
-  * Update xorm to latest version and fix correct `user` table referencing in sql (#4473)
-  * Relative URLs for LibreJS page (#4460)
-  * Redirect to correct page after using scratch token (#4458)
-  * Fix column droping for MSSQL that need new transaction for that (#4440)
-  * Replace src with raw to fix image paths (#4377)
-  * Add default merge options when creating new repository (#4369)
-  * Fix docker build (#4358)
-  * Fixes repo membership check in API (#4341)
-  * Dep upgrade mysql lib (#4161)
-  * Fix some issues with special chars in branch names (#3767)
-  * Responsive design fixes (#4508)
-* TRANSLATION
-  * Fix punctuation in English translation (#4958)
-  * Fix translation (#4355)
-
-## [1.5.3](https://github.com/go-gitea/gitea/releases/tag/v1.5.3) - 2018-10-31
-
-* SECURITY
-  * Fix remote command execution vulnerability in upstream library (#5177) (#5196)
-
-## [1.5.2](https://github.com/go-gitea/gitea/releases/tag/v1.5.2) - 2018-10-09
-
-* SECURITY
-  * Enforce token on api routes (#4840) (#4905)
-* BUGFIXES
-  * Remove links from topics in edit mode (#5030)
-  * Detect charset and convert non UTF-8 files for display (#4950) (#4994)
-  * Fix layout of the topics editing form (#4971) (#4993)
-  * Fix null pointer dereference in ParseCommitWithSignature (#4964)
-  * Fix url in discord webhook (#4951)
-  * Fix font-cropping UI bug in diff (#4726) (#4929)
-  * Fix bug forget to remove Stopwatch when remove repository (#4933)
-  * Fix bug when repo remained bare if multiple branches pushed (#4927)
-  * Fix redirect with non-ascii branch names (#4764) (#4887)
-  * Fix issues api allow pulls (#4852) (#4862)
-  * Fix trimming of markup section names (#4864)
-
-## [1.5.1](https://github.com/go-gitea/gitea/releases/tag/v1.5.1) - 2018-09-03
-
-* SECURITY
-  * Don't disclose emails of all users when sending out emails (#4784)
-  * Improve URL validation for external wiki and external issues (#4710) (#4740)
-  * Make cookies HttpOnly and obey COOKIE_SECURE flag (#4706) (#4707)
-* BUGFIXES
-  * Fix missing release title in webhook (#4783) (#4800)
-  * Make sure to reset commit count in the cache on mirror syncing (#4770)
-  * Fixed bug where team with admin privilege type doesn't get any unit (#4759)
-  * Fix failure on creating pull request with assignees (#4583) (#4727)
-  * Hide org/create menu item in Dashboard if user has no rights (#4678) (#4686)
-* TRANSLATION
-  * Fix incorrect caption of webhook setting (#4701) (#4718)
-
-## [1.5.0](https://github.com/go-gitea/gitea/releases/tag/v1.5.0) - 2018-08-10
-
-* SECURITY
-  * Check that repositories can only be migrated to own user or organizations (#4366) (#4370)
-  * Limit uploaded avatar image-size to 4096px x 3072px by default (#4353)
-  * Do not allow to reuse TOTP passcode (#3878)
-* BUGFIXES
-  * Fix column droping for MSSQL that need new transaction for that (#4440) (#4484)
-  * Redirect to correct page after using scratch token (#4458) (#4472)
-  * Replace src with raw to fix image paths (#4377) (#4386)
-  * Fixes repo membership check in API (#4341) (#4379)
-  * Add default merge options when adding new repository (#4369) (#4373)
-  * Fix repository last updated time update when delete a user who watched the repo (#4363) (#4371)
-  * Fix html entity escaping in branch deletion message (#4471) (#4485)
-  * Fix out-of-transaction query in removeOrgUser (#4521) (#4524)
-  * Fix incorrect MergeWhitelistTeamIDs check in CanUserMerge function (#4519)
-  * Fix panic issue on update avatar email (#4580) (#4590)
-  * Fix bugs when too many IN variables (#4594) (#4597)
-  * Push whitelist now doesn't apply to branch deletion (#4601) (#4640)
-  * Site admin could create repos even MAX_CREATION_LIMIT=0 (#4645) (#4650)
-* FEATURES
-  * Add cli commands to regen hooks & keys (#3979)
-  * Add support for FIDO U2F (#3971)
-  * Added user language setting (#3875)
-  * LDAP Public SSH Keys synchronization (#1844)
-  * Add topic support (#3711)
-  * Multiple assignees (#3705)
-  * Add protected branch whitelists for merging (#3689)
-  * Global code search support (#3664)
-  * Add label descriptions (#3662)
-  * Add issue search via API (#3612)
-  * Add repository setting to enable/disable health checks (#3607)
-  * Emoji Autocomplete (#3433)
-  * Implements generator cli for secrets (#3531)
-* ENHANCEMENTS
-  * Add more webhooks support and refactor webhook templates directory (#3929)
-  * Add new option to allow only OAuth2/OpenID user registration (#3910)
-  * Add option to use paged LDAP search when synchronizing users (#3895)
-  * Symlink icons (#1416)
-  * Improve release page UI (#3693)
-  * Add admin dashboard option to run health checks (#3606)
-  * Add branch link in branch list (#3576)
-  * Reduce sql query times in retrieveFeeds (#3547)
-  * Option to enable or disable swagger endpoints (#3502)
-  * Add missing licenses (#3497)
-  * Reduce repo indexer disk usage (#3452)
-  * Enable caching on assets and avatars (#3376)
-  * Add repository search ordered by stars/forks. Forks column in admin repo list (#3969)
-  * Add Environment Variables to Docker template (#4012)
-  * LFS: make HTTP auth period configurable (#4035)
-  * Add config path as an optionial flag when changing pass via CLI (#4184)
-  * Refactor User Settings sections (#3900)
-  * Allow square brackets in external issue patterns (#3408)
-  * Add Attachment API (#3478)
-  * Add EnableTimetracking option to app settings (#3719)
-  * Add config option to enable or disable log executed SQL (#3726)
-  * Shows total tracked time in issue and milestone list (#3341)
-* TRANSLATION
-  * Improve English grammar and consistency (#3614)
-* DEPLOYMENT
-  * Allow Gitea to run as different USER in Docker (#3961)
-  * Provide compressed release binaries (#3991)
-  * Sign release binaries (#4188)
-
-## [1.4.3](https://github.com/go-gitea/gitea/releases/tag/v1.4.3) - 2018-06-26
-
-* SECURITY
-  * HTML-escape plain-text READMEs (#4192) (#4214)
-  * Fix open redirect vulnerability on login screen (#4312) (#4312)
-* BUGFIXES
-  * Fix broken monitoring page when running processes are shown (#4203) (#4208)
-  * Fix delete comment bug (#4216) (#4228)
-  * Delete reactions added to issues and comments when deleting repository (#4232) (#4237)
-  * Fix wiki URL encoding bug (#4091) (#4254)
-  * Fix code tab link when viewing tags (#3908) (#4263)
-  * Fix webhook type conflation (#4285) (#4285)
-
-## [1.4.2](https://github.com/go-gitea/gitea/releases/tag/v1.4.2) - 2018-06-04
-
-* BUGFIXES
-  * Adjust z-index for floating labels (#3939) (#3950)
-  * Add missing token validation on application settings page (#3976) #3978
-  * Webhook and hook_task clean up (#4006)
-  * Fix webhook bug of response info is not displayed in UI (#4023)
-  * Fix writer cannot read bare repo guide (#4033) (#4039)
-  * Don't force due date to current time (#3830) (#4057)
-  * Fix wiki redirects (#3919) (#4065)
-  * Fix attachment ENABLED (#4064) (#4066)
-  * Added deletion of an empty line at the end of file (#4054) (#4074)
-  * Use ResolveReference instead of path.Join (#4073)
-  * Fix #4081 Check for leading / in base before removing it (#4083)
-  * Respository's home page not updated after first push (#4075)
-
-## [1.4.1](https://github.com/go-gitea/gitea/releases/tag/v1.4.1) - 2018-05-03
-
-* BREAKING
-  * Add "error" as reserved username (#3882) (#3886)
-* SECURITY
-  * Do not allow inactive users to access repositories using private key (#3887) (#3889)
-  * Fix path cleanup in file editor, when initilizing new repository and LFS oids  (#3871) (#3873)
-  * Remove unnecessary allowed safe HTML (#3778) (#3779)
-  * Correctly check http git access rights for reverse proxy authorized users (#3721) (#3743)
-* BUGFIXES
-  * Fix to use only needed columns from tables to get repository git paths (#3870) (#3883)
-  * Fix GPG expire time display when time is zero (#3584) (#3884)
-  * Fix to update only issue last update time when adding a comment (#3855) (#3860)
-  * Fix repository star count after deleting user (#3781) (#3783)
-  * Use the active branch for the code tab (#3720) (#3776)
-  * Set default branch name on first push (#3715) (#3723)
-  * Show clipboard button if disable HTTP of git protocol (#3773) (#3774)
-
-## [1.4.0](https://github.com/go-gitea/gitea/releases/tag/v1.4.0) - 2018-03-25
-
-* BREAKING
-  * Drop deprecated GOGS\_WORK\_DIR use (#2946)
-  * Fix API status code for hook creation (#2814)
-* SECURITY
-  * Escape branch name in dropdown menu (#3691) (#3692)
-  * Refactor and simplify to correctly validate redirect to URL (#3674) (#3676)
-  * Fix escaping changed title in comments (#3530) (#3534)
-  * Escape search query (#3486) (#3488)
-  * Sanitize logs for mirror sync (#3057)
-* FEATURES
-  * Serve .patch and .diff for pull requests (#3305, #3293)
-  * Add repo-sync-releases admin command (#3254)
-  * Support default private when creating or migrating repository (#3239)
-  * Writable deploy keys (closes #671) (#3225)
-  * Add Pull Request merge options - Ignore white-space for conflict checking, Rebase, Squash merge (#3188)
-  * Added progressbar for issues with checkboxes (#1146). (#3171)
-  * Mention completion for issue editor. (#3136)
-  * Add 'mark all read' option to notifications (#3097)
-  * Git LFS lock api (#2938)
-  * Add reactions to issues/PR and comments (#2856)
-  * Add dingtalk webhook  (#2777)
-  * Responsive view (#2750)
-* BUGFIXES
-  * Fix wiki inter-links with spaces (#3560) (#3632)
-  * Fix query protected branch bug (#3563) (#3571)
-  * Fix remove team member issue (#3566) (#3570)
-  * Fix the protected branch panic issue (#3567) (#3569)
-  * If Mirrors repository no content is fetched, updated time should not be changed (#3551) (#3565)
-  * Bug fix for mirrored repository releases sorted (#3522) (#3555)
-  * Add issue closed time column to fix activity closed issues list (#3537) (#3540)
-  * Update markbates/goth library to support OAuth2 with new dropbox API (#3533) (#3539)
-  * Fixes missing avatars in offline mode (#3471) (#3477)
-  * Fix synchronization bug in repo indexer (#3455) (#3461)
-  * Fix rendering of wiki page list if wiki repo contains other files (#3454) (#3463)
-  * Fix webhook X-GitHub-* headers casing for better compatibility (#3429)
-  * Add content type and doctype to requests made with go-get (#3426, #3423)
-  * Fix SQL type error for webhooks (#3424)
-  * Fix PR merge error (#3421)
-  * Recognize more characters in crossreferenced repo name (#3413)
-  * Fix MSSQL bug on org (#3405)
-  * HTML escape all lines of the search result (#3402)
-  * Change local copy origin url after repository rename (#3399)
-  * Force-push to base repo's ref/pull/#/head (#3393)
-  * Fix bug when a user delete but assigned on issue (#3318)
-  * Use issue number/index instead of id for API URL. Fix #3297 (#3298)
-  * Fix repo-transfer-and-team-repo-count bug (#3241)
-  * Fix always-on SSL Mode checkbox in admin page (#3208)
-  * Fix source download link when no code unit allowed (#3166)
-  * Fix org owner cannot be removed if he is not in owner team (#3164)
-  * Fix run web with -p push failed (#3154)
-  * Fix gpg tmpl (#3153)
-  * Fix SSH auth lfs locks (#3152)
-  * Improvements for supporting UI Location (#3146)
-  * Fix new pull request link (#3133)
-  * Fix missing branch in release bug (#3108)
-  * Allow adding collaborators with (fullname) (#3103)
-  * Fix repo links (#3093)
-  * fix lfs url refs + keep path upper/lowercase in db. (#3092)
-  * Fix redis session failed (#3086)
-  * Fix bugs in issue dashboard stats (#3073)
-  * Fix avatar URLs (#3069)
-  * Fix ref parsing in commit messages (#3067)
-  * Fix issue list branch link broken (#3061)
-  * sendmail: correct option to set envelope-sender (#3044)
-  * Fix missing password length check when change password (#3039)
-  * Fix git lfs path (#3016)
-  * Fix API-Endpoint release (#3005) (#3012)
-  * Set OpenID support on by default when installing new instance (#3010)
-  * Various wiki bug fixes (#2996)
-  * Fix go-get, src and raw urls to new scheme (#2978)
-  * Fix error when add user has full name to team (#2973)
-  * Fix memcache support when value is returned as string always (#2924)
-* ENHANCEMENTS
-  * Use GiteaServer as the user agent for http requests (#3404)
-  * Delete indexer DB entries when (re)creating index (#3385)
-  * Change how merged PR commit info are prepared (#3368)
-  * Asynchronously populate the repo indexer (#3366)
-  * Make the default action for the gitea executable that of running the webserver (#3331)
-  * Templates for extra links in top navbar and repo tool tabs. (#3308)
-  * Fixed asterisk based tasklist items #3295 (#3296)
-  * Add more additional template snippets (#3286)
-  * Open external tracker in blank window, consistently with wiki (#3227)
-  * Fix repo links on user profile (#3197)
-  * Enable emoji for wiki view (#3158)
-  * Small improve on deleting attachements (#3145)
-  * Reduce overhead of upgrades for users with custom stylesheets/JS (#3051)
-  * Default log level to Info without hardcoding it in installer (#3041)
-  * Memory usage improvements (#3013)
-  * Add fingerprint to ssh key endpoints. (#3009)
-  * Improve memory usage when reaching diff limits (#2990)
-  * Expandable commit bodies (#2980)
-  * Update gitgraph.js to fix blurry commit graph on HiDPI screens (#2957)
-  * Fix language names (#2955)
-  * Remove render issue link (#2954)
-  * Page parameter for repo search API (#2915)
-  * Apply LANDING\_PAGE config options for logged in users (#2894)
-  * Enable admin to search by email (#2888)
-  * Hide add key button if SSH is disabled (#2873)
-  * Fix comment API paths (#2813)
-  * Add an option to allow redirect of http port 80 to https. (#1928)
-* MISC
-  * Fix organization profile on mobile devices (#3332)
-  * Fix guide link for webhooks in repository settings (#3291) (#3292)
-  * Enable Libravatar by default in new installations (#3287)
-  * Improve suppressed diff boxes (#3193)
-  * fix button heights on commits page (#3091)
-  * Minor copy changes (#3074)
-  * Sort repos in issues dashboard sidebar (#3072)
-  * Remove box-shadow from UI, fix dashboard issue (#3065)
-  * Adjust branch button size (#3063)
-  * Fix misalignment issue in repo header (#3062)
-  * Delete a user's public key via admin api (closes #3014) (#3059)
-  * Dashboard: Fix line height problem in issue titles (#3054)
-  * Remove duplicate "Max Diff Lines" from config view (#2987)
-  * Drop unmaintained gogs migration script (#2947)
-  * App restarts to quickly if it fails to start. (#2945)
-  * Add owner to delete repo message (#2886)
-
-## [1.3.1](https://github.com/go-gitea/gitea/releases/tag/v1.3.1) - 2017-12-08
-
-* BUGFIXES
-  * Sanitize logs for mirror sync (#3057, #3082) (#3078)
-  * Fix missing branch in release bug (#3108) (#3117)
-  * Fix repo indexer and submodule bug (#3107) (#3110)
-  * Fix legacy URL redirects (#3100) (#3106)
-  * Fix redis session failed (#3086) (#3089)
-  * Fix issue list branch link broken (#3061) (#3070)
-  * Fix missing password length check when change password (#3039) (#3071)
-
-## [1.3.0](https://github.com/go-gitea/gitea/releases/tag/v1.3.0) - 2017-11-29
-
-* BREAKING
-  * Make URL scheme unambiguous (#2408)
-* FEATURES
-  * Add branch overiew page (#2108)
-  * Code/repo search (#2582)
-  * Add Activity page to repository (#2674)
-  * Issue Timetracking (#2211)
-  * Add orgmode document type on file view and readme (#2525)
-  * Add external markup render support (#2570)
-  * Implementation of discord webhook (#2402)
-  * Webhooks for repo creation/deletion (#1663)
-  * Complete push webhooks (#2530)
-  * Add possibility to record branch information in an issue (#780)
-  * Create new branch from branch selection dropdown (#2130)
-  * Implementation of all repositories of a user from user->settings (#1740)
-  * Add LFS object verification step after upload (#2868)
-  * Configurable SSH cipher suite (#913)
-  * Disable custom Git Hooks globally via configuration file (#2450)
-  * Sync releases table with tags on push and for mirrors (#2459)
-* BUGFIXES
-  * Fix label comments for French locale (#3017)
-  * Remove duplicate "Max Diff Lines" from config view (#3001)
-  * Fix over-escaped characters (#2992)
-  * Fix go-get, src and raw urls to new scheme (#2986)
-  * Fix error when add user has full name to team (#2975)
-  * Fix files/commits of merged PRs (#2970)
-  * Update golang x/crypto dependencies - Fix SSH transport fail (#2951)
-  * Fix memcache support when value is returned as string always (#2950)
-  * Fix issue link rendering in commit messages (#2897)
-  * Fix adding a new authentication source after selecting OAuth (#2889)
-  * Fix new branch creation to new url scheme (#2884)
-  * Allow spaces in username for LDAP users (#2880)
-  * Fix LFS not returning correct content length when requesting a range … (#2864)
-  * Fix fork repository cycle to self (#2860)
-  * Fix click create pull request button 404 (#2859)
-  * Fix API raw file content access for default branch (#2849)
-  * Clean repository ROOT directory name with filepath.Clean (#2846)
-  * Fix API raw requests for commits and tags (#2841)
-  * Fix order of comments (#2835)
-  * Issue content should not be updated when closing with comment (#2833)
-  * Fix ordering in app.ini and fix run mode option (#2829)
-  * Fix redirect url of legacy commits route (#2825)
-  * Fix commits page url (#2823)
-  * Fix wrong translations (#2818)
-  * Fix dropdown menu position when explore repos (#2808)
-  * Fix Git LFS object/repo link storage in database and small refactoring (#2803)
-  * Use relative URLs for avatars on the dashboard (#2800)
-  * Add checks for commits with missing author and time (#2771)
-  * Fix emojify image URL (#2769)
-  * Hide unactive on explore users and some refactors (#2741)
-  * Fix IE unsupported javascript construction in branch dropdown (#2736)
-  * Only update mirror last update after successful sync (#2730)
-  * Fix semantic-ui style conflict with v-cloak (#2722)
-  * Fixing wrong translation on sort type oldest/latest (#2720)
-  * Fix PR, milestone and label functionality if issue unit is disabled (#2710)
-  * Fix plain readme didn't render correctly on repo home page (#2705)
-  * Fix organization removal from watch table migration (#2703)
-  * Fix repository search function (#2689)
-  * fix panic on gogs webhook creation (#2675)
-  * Fix orgnization user watch repository (#2670)
-  * GPG key email verification no longer case sensitive (#2661) (#2663)
-  * Fix index column deletion (#2651)
-  * table `pull_request` wasn't updated correctly (#2649)
-  * Fix go get response if only app URL is custom in configuration (#2634)
-  * Fix doubled issue tab introduced in migration v16 (#2611)
-  * Rewrite migrations to not depend on future code changes (#2604)
-  * Fix implementation of repo Home func (#2601)
-  * Fix translation upload to crowdin (#2599)
-  * Reduce usage of allcols on update (#2596)
-  * fix go get subpackage bug (#2584)
-  * Fix broken migration to add can_push field back to table (#2574)
-  * fix readme view bug (#2566)
-  * Fix sending mail with a non-latin display name. #2102 (#2559)
-  * Restricting access to fork functioanlity to users with Code access (#2534)
-  * fix updated update on public key (#2514)
-  * Added bucket name to s3 drone plugin (#2505)
-  * fixes 500 error on dashboard when using MSSQL (#2504)
-  * fix wrong rendering of commit detail page (#2503)
-  * Hotfix: Add time manually adds time in nanoseconds (#2499)
-  * Remove repository mirrors from "collaborative" list (#2497)
-  * fix release failed since the wrong token name (#2496)
-  * Fix slice out of bounds error in mailer (#2479)
-  * Fix #2470 (#2477)
-  * fix orgnization webhooks (#2422)
-  * fix webhook test (#2415)
-  * fix missing orgnization discord webhook (#2414)
-  * Fix route handler order (#2409)
-  * Prevent sending emails and notifications to inactive users (#2384)
-  * Move themes to plugin directory. Fixes #2372 (#2375)
-  * fix duplicated feed (#2370)
-  * Fix missing collabrative repos (#2367)
-  * Only check at least one email gpg key (#2266)
-  * don't check minimum key size when disabled (#1754)
-  * Fix run command race (#1470)
-  * fix .netrc authentication (#2700)
-  * Fix so that user can still fork his own repository to his organizations (#2699)
-  * Fix can_push value to false in protected_branch (#2560)
-  * Fix copy in email templates (#2801)
-  * Fix inconsistencies in user settings UI (#2901)
-  * Fix attachments icon size on zoom in/out (#2853)
-  * Fix ignored errors in API route (#2850)
-  * Fix activity css conflict with semantic ui (#2758)
-  * Fix notifications tabs according to semantic-ui docs (#2733)
-  * Fix typos in app.ini (#2732)
-  * Fix duplicated rel attribute (#2549)
-  * Fix tests code to prevent some runtime errors (#2381)
-* ENHANCEMENTS
-  * Memory usage improvements and lower minimal git requirement to 1.7.2 (#3013) (#3028)
-  * Set OpenID support on by default when installing new instance (#3010) (#3027)
-  * Use api.TrackedTime in API (#2807)
-  * Configurable SSH key exchange algorithm and MAC suite (#2806)
-  * Add Safari pinned tab icon (#2799)
-  * Improve force push detect when push (#2798)
-  * Add wrapping to long diff lines (#2789)
-  * Link members and repositories count to each page on org home. (#2787)
-  * Show Sendmail settings on admin config page (#2782)
-  * Add commit count caching (#2774)
-  * Use identicon image for default gravatar. (#2767)
-  * Add default ssh ciphers (#2761)
-  * Remove manual of unsupported option (#2757)
-  * Add search mode option to /api/repo/search (#2756)
-  * Move swagger-ui under /api/v1 (#2746)
-  * Add support for extra sendmail arguments (#2731)
-  * Use buffersize to reduce database connection when iterate (#2724)
-  * Render plain text README.txt monospaced (#2721)
-  * Integration test for activity page (#2704)
-  * Merge password and 2fa page on user settings (#2695)
-  * Allow custom SSH user in UI for built-in SSH server (#2617) (#2678)
-  * Refactor duplicated code in repo handlers (#2657)
-  * Replace deprecated Id method with ID (#2655)
-  * Remove redudant functions and code (#2652)
-  * hide navbar when only 1 sign-in method is available (#2444) (#2648)
-  * Change default sort order (#2647)
-  * Change pull description text (#2075) (#2646)
-  * Remove direct user adding to organization members (#2641)
-  * Use session when creating user (#2638)
-  * Use Semantic UI's Search component for user and repo search (#2636)
-  * Use AfterLoad instead of AfterSet on Structs (#2628)
-  * Remove redudant CheckUnit calls in router (#2627)
-  * Remove repo unit index (#2621)
-  * Remove redudant issue LoadAttributes() calls (#2614)
-  * Make indexer code more reusable (#2590)
-  * Use custom type and constants to hold available order by options (#2572)
-  * Use named ActionType constants in template helper (#2545)
-  * Make basic functionality work without JavaScript (#2541)
-  * Ctrl + Enter to submit forms (#2540)
-  * Automatically regenerate indexer for incompatible versions (#2524)
-  * Set default lfs content path to data/lfs (#2521)
-  * Convert spaces to tabs in footer.tmpl (#2520)
-  * Sort repository tree entries in natural way (#2506)
-  * Open external wiki in new window (#2489)
-  * Use created & updated instead BeforeInsert & BeforeUpdate (#2482)
-  * Hide branch on pull request view or create UI (#2454)
-  * improve protected branch to add whitelist support (#2451)
-  * some refactors for issue and comments (#2419)
-  * Restructure markup & markdown to prepare for multiple markup language… (#2411)
-  * Improve issue search (#2387)
-  * Add UseCompatSSHURI setting (#2356)
-  * Use custom search for each filter type in dashboard (#2343)
-  * Failed authentication are now properly logged (#2334)
-  * Add environment variable support for Docker image (#2201)
-  * Set session and indexers' data files rel to AppDataPath (#2192)
-  * Display commit status on landing page of repo (#1784)
-* TESTING
-  * Add integration test for logging out (#2892)
-  * Integration test for user deleting account (#2891)
-  * Use different directories for session files in integration tests (#2834)
-  * Add deleted_branch table fixture (#2832)
-  * Include HTTP method in test error message (#2815)
-  * Add repository search unit and integration tests (#2575)
-  * Expand fixtures (#2571)
-  * Fix /api/repo/search integration tests (#2550)
-  * Make integration tests more user-friendly (#2536)
-  * Fix unit test race condition (#2516)
-  * Add missing fixture to clean gpg_key table (#2494)
-  * Hotfix for integration testing (#2473)
-  * Make repo private to not interfere with other tests (#2467)
-  * Error message for integration test (#2410)
-  * Fix "index out of range" runtime error in repo_list tests (#2376)
-  * Add git clone test on integration test (#1682)
-* TRANSLATION
-  * Fix localization texts that contain semicolon (#2900)
-  * Fix activity locale (#2709)
-  * Update translation from crowdin (#2368)
-* BUILD
-  * change the email and name to GitBot account. (#2848)
-  * Fix removing backslash before quotes in translations (#2831)
-  * add gitea remote in drone. (#2817)
-  * add remote name for git push. (#2816)
-  * Launch Gitea with custom UID/GID for 'git' user (fixes #2286) (#2791)
-  * Download and pushing translations (#2727)
-  * Automatic update of translations (#2585)
-  * Add pre-build step for nodejs stuff (#2581)
-  * Compress css with nodejs (#2580)
-  * Remove go version check for make fmt (#2558)
-  * Fix lint errors (#2547)
-  * Always run fmt check in CI (#2546)
-  * Fix fmt errors (#2544)
-  * add codecov.io service. (#2493)
-  * Fix some tests : make coverage -> test (#2492)
-  * Fix fmt error in mailer (#2490)
-  * Allow changing integration test database connection using env variables (#2484)
-  * Add changelog config file for generate changelog (#2461)
-  * Changes for latest DroneCI (#2362)
-  * Use standard lessc and minify CSS using Node.js (#2337)
-* DOCS
-  * Update screenshots on README (#2910)
-  * Gogs -> Gitea (#2909)
-  * Update swagger documentation (#2899)
-  * Fix typo (#2810)
-  * Fix Polish language name spelling (#2766)
-  * Fix Various Grammar Issues and Adjust Unnatural Wording (#2737)
-  * Add maintainer label for docker file (#2658)
-  * Link to gitea-specific Vagrant example (#2624)
-  * add release notes of v1.1.4 (#2463)
-  * Wrap most paragraphs to 80 columns (#2396)
-  * Update CONTRIBUTING following #2329  discussion (#2394)
-  * Update hard-coded version to 1.3.0+dev (#2390)
-  * Clarify Translation Process. Also fix branch names (#2378)
-  * Admin grammar fixes and improvements (#2056)
-* MISC
-  * Sync MaxGitDiffLineCharacters with conf/app.ini (#2779)
-  * Dockerfile: Updated alpine image to 3.6. (#2486)
-  * Basic VSCode configuration for building and debugging (#2483)
-  * Added vendor dir for js/css libs; Documented sources (#1484) (#2241)
-
-## [1.2.3](https://github.com/go-gitea/gitea/releases/tag/v1.2.3) - 2017-11-03
-
-* BUGFIXES
-  * Only require one email when validating GPG key (#2266, #2467, #2663) (#2788)
-  * Fix order of comments (#2835) (#2839)
-
-## [1.2.2](https://github.com/go-gitea/gitea/releases/tag/v1.2.2) - 2017-10-26
-
-* BUGFIXES
-  * Add checks for commits with missing author and time (#2771) (#2785)
-  * Fix sending mail with a non-latin display name (#2559) (#2783)
-  * Sync MaxGitDiffLineCharacters with conf/app.ini (#2779) (#2780)
-  * Update vendor git (#2765) (#2772)
-  * Fix emojify image URL (#2769) (#2773)
-
-## [1.2.1](https://github.com/go-gitea/gitea/releases/tag/v1.2.1) - 2017-10-16
-
-* BUGFIXES
-  * Fix PR, milestone and label functionality if issue unit is disabled (#2710) (#2714)
-  * Fix plain readme didn't render correctly on repo home page (#2705) (#2712)
-  * Fix so that user can still fork his own repository to his organizations (#2699) (#2707)
-  * Fix .netrc authentication (#2700) (#2708)
-  * Fix slice out of bounds error in mailer (#2479) (#2696)
-
-## [1.2.0](https://github.com/go-gitea/gitea/releases/tag/v1.2.0) - 2017-10-10
-
-* SECURITY
-  * Sanitation fix from Gogs (#1461)
-* BREAKING
-  * Rename /forget_password url to /forgot_password (#1219)
-* FEATURES
-  * Logo: Add task to generate images from SVG and change to new logo (#2194)
-  * Status-API (#1332)
-  * Show commit status icon in commits table (#1688)
-  * Additional OAuth2 providers (#1010)
-  * GPG commit validation (#1150)
-  * Rework SSH key management UI to add GPG (#1293)
-  * Implement GPG api (#710)
-  * Login via OpenID-2.0 (#618)
-  * Add units to team (#947)
-  * Batch updates for issues (#926)
-  * Add Gitea Webhook (#1755)
-  * API: support '/orgs/:org/repos' (#2047)
-  * Display all organization from user settings (#1739)
-  * LDAP user synchronization (#1478)
-  * Adding #issuecomment to the URL in E-Mail notifications (#1674)
-  * Add download count field and unit testing for attachment. (#1512)
-  * Add repo mirror sync API endpoint (#1508)
-  * Add markup package to prepare for org markup format (#1493)
-  * Support for custom html meta  (#1423)
-  * Per issue/PR watch/unwatch (#1410)
-  * Allow ENABLE_OPENID_SIGNUP to depend on DISABLE_REGISTRATION (#1369)
-  * Repo size in admin panel (#1482)
-  * Show user OpenID URIs in their profile (#1314)
-  * Add change-password admin command (#1304)
-  * Only use issue and wiki on repo. (#1297)
-  * Allow push to init a wiki repo (#1279)
-* ENHANCEMENTS
-  * Make time diff translatable (#2057)
-  * Smaller watch, star, and fork buttons (#2052)
-  * Display config file path on admin panel (#2030)
-  * Only show SSH clone URL if signed in (#2169) (#2170)
-  * Only show "No Description" to repo admins (#2167)
-  * Always return valid go-get meta, even if unauthorized (#2010)
-  * Enable assignee e-mail notification (#2003)
-  * Let not-logged-in users view releases (#1999)
-  * No highlighting for .txt files (#1922)
-  * Make side nav on dashboard stackable (#1778)
-  * Setting to disable authorized_keys backup (#1856)
-  * Hide the create organization button (in dashboard/organization section) (#1705)
-  * LFS: Return 404 for unimplemented endpoints (#1330)
-  * Show a link to password reset from user settings requiring a password (#862)
-  * Reserve the "explore" user/org name (#1222)
-  * Send notifications to participants in issue comments (#1217)
-  * Improve style of user OpenID setting page (#1324)
-  * Use font-awesome OpenID icon more (#1320)
-  * Use readonly input form to show the validated OpenID URI (#1308)
-  * Add captcha support to OpenID based signup (#1307)
-  * Minor improvements on commit graph UI (#1380)
-  * Mirror sync interval specified as duration string (#1407)
-  * Make issue in commit graph "clickable" (#1392)
-  * Use whole button (commit graph) as link (#1390)
-  * Autofocus on 2fa passcode fields (#1460)
-  * Sort on repo size in admin panel (#1654)
-  * Improve dashboard repo search (#1652)
-  * Use a better default MAX_GIT_DIFF_LINE_CHARACTERS (#1845)
-  * Adds Parent property to the repo API (#1687)
-  * Add configuration option for default permission to create Organizations (#1686)
-  * Remove sha1 hash display in repository table (#1678)
-  * Download files to their original filename (#1676)
-  * Exposes in API the Repo entity's Size and IsBare property (#1668)
-  * Change two factor code entry box from text to number (#1733)
-  * Directly show error if user hit repository limit  (#1767)
-  * Generate small and large logos at 4x resolution (#2233)
-  * Tags listed in releases tab (#2389) (#2424)
-* BUGFIXES
-  * Fix adding branch as protected to not allow pushing to it (#2556)
-  * Orgs: fix org page title when full name is not defined (#1495)
-  * Fix double borders on edit page (#1152) (#1153)
-  * Search bar fixes for #1187 and #1205 (#1207)
-  * Fix upgrade failed after ever rollback (#1194)
-  * Fix FCGI (over TCP) support (#1368)
-  * Backport of migration fixes (#2604) (#2677)
-  * fix panic on gogs webhook creation (#2675) (#2676)
-  * Backport: Fixes 500 error on dashboard when using MSSQL (#2504) (#2662)
-  * Fix go get response if only app URL is custom in configuration (#2634) (#2640)
-  * Fix deletion of unprotected branches (#2630)
-  * Backport of 2611 / Fix doubled issue tab introduced in migration v16 (#2622)
-  * v38 migration used an outdated version of RepoUnit model (#2602)
-  * fix go get subpackage bug (#2584) (#2589)
-  * Backport: Sync releases table with tags on push and for mirrors (#2459) (#2554)
-  * Backport: Restricting access to fork functioanlity to users with Code access (#2542)
-  * Fix migration from pre-v15 to 1.2.0 (#2460) (#2465)
-  * Fix migration from pre-v15 to 1.2.0 (#2460)
-  * fix duplicated feed (#2370) (#2413)
-  * Fix releases to be counted from database not tags (#2389)
-  * Fix missing collabrative repos (#2367) (#2382)
-  * Add more test for login links and fix a bug on action retrieve (#2361)
-  * Fix SQL condition bug in GetFeeds(..) (#2360)
-  * fix bug on create repo link on dashboard (#2359)
-  * Fix order of elements in dashboard html (#2344)
-  * Fix repo-search template errors for go1.7 (#2336)
-  * Add missing forks key for dashboard repository component (#2325)
-  * fix template error on explore repos (#2319)
-  * Trigger sync webhooks on UI commit (#2302)
-  * fix 500 error when view an issue which's milestone deleted (#2297)
-  * Only update needed columns when update user (#2296)
-  * Fix rendering of external links (#2292)
-  * Fix and improve dashboard repo UI (#2285)
-  * Make short link pattern greedy (#2259)
-  * Temporarily patch go-ini/ini with fork (#2255)
-  * Convert xorm literal queries to method calls (#2253)
-  * update code.gitea.io/git in vendor to fix delete branch fails (#2250)
-  * Replace calls to xorm UseBool with Where (#2237)
-  * rhel7 has a git version with four digits (1.8.3.1) (#2236)
-  * Fix internal requests when gitea listens to unix socket or only external IP (#2234)
-  * Check for access in /repositories/:id (#2227)
-  * Fixed robots.txt 404 error (#2226)
-  * Fix counts on issues dashboard (#2215)
-  * Fix unclosed session bug (#2214)
-  * Add collaborative repositories to the dashboard (#2205)
-  * Fix issue updated_unix bug (#2204)
-  * Fix Commits nil pointer dereference (#2203)
-  * Fix bare-repo bugs (#2199)
-  * Fix PR nil-dereference bug (#2195)
-  * Allow only single fork per user/organization (#2193)
-  * Fix key usage time update if the key is used in parallel for multiple operations (#2185)
-  * Only allow token authentication with 2FA enabled (#2184)
-  * Fix profile update for non-local users (#2178)
-  * Fix compiling without sqlite and gcc (#2177)
-  * Make compare button URL aware if current repo is a fork (#2162) (#2163)
-  * Remove unit types commits and settings (#2161)
-  * Fix OpenID registration route (#2160)
-  * Fix repository settings collobration list display (#2151)
-  * Ignore invalid issue numbers in commit messages. Fixes  #2022 (#2150)
-  * Fix SHA1 hash linking (#2143)
-  * Fix repo API bug (#2133)
-  * Use POSIX complaint ! operator in find (#2132)
-  * Fix GET /users/:username/repos endpoint (#2125)
-  * Fix username rendering bug (#2122)
-  * Fix wiki preview links (#2119)
-  * vendor: update sqlite to fix "database is locked" errors (#2116)
-  * Fix unchecked error bug (#2110)
-  * Fix missing-return bug (#2109)
-  * Fix API for branches with slashes (#2096)
-  * Fix git hooks update to receive required arguments (#2095)
-  * upgrade git source code. (#2094)
-  * Fix SQL bug in models.PullRequests (#2092)
-  * Don't ignore gravatar error (#2083)
-  * Fix release display and correct paging (#2080)
-  * remove unnecessary blank lines and wrong error log (#2079)
-  * Check for valid renamed usernames (#2077)
-  * Update git module (#2074)
-  * Fix org hooks UI (#2072)
-  * Fix #1271: Call location.reload after XHR finishes (#2071)
-  * Fix default ghost assignee bug (#2069)
-  * Fix bug in issue labels API (#2048)
-  * Load label ID in NewLabels (#2045)
-  * Fix: `http: multiple response.WriteHeader calls` (#2038)
-  * Pagination on releases page (#2035)
-  * repo/editor: fix breadcrumb path cuts parent dirs (#3859) (#2032)
-  * Fix displaying commits and files of PR created from now deleted fork (#2023)
-  * Fix #2001 and fix issue comments hidden (#2016)
-  * Update code.gitea.io/git (#2014)
-  * Keep sort when switching page (#2013)
-  * Important: wrong PR merge commit ID saved (#2007)
-  * Don't show non-comments in comments API (#2001)
-  * Fix "Dashboard shows deleted comments" (#1995)
-  * Make branch deletion URL more like GitHub's, fixes #1397 (#1994)
-  * Fix fast-forward PR bug (#1989)
-  * Fix GPG email checking to be case insensitive (#1988)
-  * fix bug for normal user visit public repo (#1984)
-  * fix collborators lack of units on orgnization repositories (#1968)
-  * Fix diff of renamed and modified file (#1967)
-  * Fix uppercase default branch bug (#1965)
-  * Fix bug in Action.loadRepo() (#1959)
-  * Fix deleted milestone bug (#1942)
-  * Fix engine bug in getIssueByID (#1934)
-  * Switch to keybase go-crypto (for some elliptic curve key) + test (#1925)
-  * Fix setting.AppPath for integration tests (#1923)
-  * Fix search by issue type (#1914)
-  * Fix ghost user bug (#1913)
-  * Require token before checking membership/ownership (#1905)
-  * Bug fixes for org member API (#1904)
-  * A missing / to provide a correct endpoint (#1903)
-  * Fix 500 in public activity page (#1901)
-  * Center-aligned login topbar (#1880)
-  * Migration to fix existing owner team units (#1873)
-  * Fix paginater length (#1866)
-  * Fix bug in removeOrgRepo (#1858)
-  * Display draft releases (#1854)
-  * Fix 404 for external tracking issues (#1852)
-  * Update code.gitea.io/git (#1849)
-  * Fix user profile activity feed (#1848)
-  * Don't ignore error in getMergeCommit (#1843)
-  * Fix locking bug in removeOrgRepo (#1842)
-  * Fix status table race condition (#1835)
-  * Fix PR template error (#1834)
-  * Fix pull request compare link (#1832)
-  * Use ghost users in issues/PRs (#1831)
-  * Commitless repos should be bare (#1829)
-  * Update code.gitea.io/git (#1824)
-  * Fix invalid reference in feeds template (#1820)
-  * fix bug to deny to add orgnization as a member of an orgnization or team (#1815)
-  * xxx_active_code_live setting in printed in hours and minutes instead … (#1814)
-  * Fix deadlock in updateRepository (#1813)
-  * Give all units to owner team (#1812)
-  * Fix 500 for GET /teams/:id endpoints (#1811)
-  * fix bug not to trim space of login username (#1796)
-  * Fix renaming bug (#1786)
-  * Fix activity feed (#1779)
-  * Make navbar scroll on overflow (#1777)
-  * Delete repo redirects on repo deletion (#1776)
-  * Fix unloaded owner bug (#1770)
-  * Admin should always be allowed to create repositories even if hit limit (#1765)
-  * Update HighlightJS and fix YAML files highlighting (#1764)
-  * fix: #1757 fix set MAX_CREATION_LIMIT as zero. (#1762)
-  * fix admin lost permission caused by #947 (#1753)
-  * More fixes for dashboard search (#1750)
-  * fixes wrong after field in webhook payload (#1746)
-  * fix avatar update bug (#1729)
-  * Fix FOUC on Firefox (#1728)
-  * Fix changes introduce by update of go-swagger. (#1727)
-  * Fix #1719 (#1722)
-  * Correct flash after sending password reset email (#1718)
-  * Fix and test for delete user (#1713)
-  * Fix rendering of issue checkboxes (#1709)
-  * Enforce netgo build tag while cross-compilation (#1690)
-  * fix bug when push a branch name with / & fix an integration test bug (#1689)
-  * fix potential sqlite lock (#1680)
-  * Fix commit sha1 URL rendering in markdown (#1677)
-  * Fix static files permission under public/ (#1675)
-  * fix: tag contain character ) will http 500 on release page (#1670)
-  * Fix CSS for code in wiki markdown (#1660)
-  * fix multiple readme file rendering and fix #1657 (#1658)
-  * Add primary key and index to external login user table (#1656)
-  * fix #1643 and improve integration test (#1645)
-  * Fix version in Makefile (#1636)
-  * Handle display of GPG key without end date (#1628)
-  * fix bug on issue view when not login (#1624)
-  * bug fixed for API to get user's repos (#1622)
-  * fix lost text color on button on set as primary email (#1621)
-  * Add create_at and updated_at in PR json (#1616)
-  * update git and fix #1133 (#1614)
-  * fix bug on status API (#1533)
-  * Do not show empty collaborators segment (#1531)
-  * Fix markdown rendering (#1530)
-  * fix go get sub package and add domain on installation to let go get work defaultly (#1518)
-  * fix #1501 ssh hangs caused by #1461 (#1513)
-  * Fix empty file download (#1506)
-  * Fix broken v27 migration - change mirror interval from int to bigint (#1504)
-  * Do not allow committing to protected branch from online editor (#1502)
-  * Add internal routes for ssh hook comands (#1471)
-  * Fix races within code.gitea.io/git.(*Command).RunInDirTimeoutPipeline (#1465)
-  * Simple quick fix for #1418 (#1456)
-  * fix gpg API panic when no verification (#1451)
-  * fix migrate failed and org dashboard failed on MSSQL database (#1448)
-  * Optimize and fix autolink function (#1442) (#1444)
-  * Fix and simplify repo branches (settings) UI (#1435)
-  * Fix disabled fields in repo settings UI (#1431)
-  * fixes pull request hanging when it contains normal and LFS files (#1425)
-  * Fix races in the log module by using syncmap (#1421)
-  * Add length check for the return string (#1420)
-  * Fix "Error: No issue number specified"  when pushing (#1393)
-  * Corrected Mirror.NextUpdate not set (#1388)
-  * fix: remove `str2html` from org full name (#1360)
-  * Correct broken unaligned load/store in armv5 (#1355)
-  * Remove href on first/last link when on first/last page (#1345)
-  * Fix broken table layout (#1344)
-  * LFS: Fix SSH authentication for trailing arguments (#1328)
-  * Remove empty file (#1326)
-  * Fix delete user failed on sqlite (#1321)
-  * Fix inconsistency in layout (#1316)
-  * Fix gpg wrong column types (#1303)
-  * Fix wiki bugs (#1294)
-  * Fix missing less sources for oauth (#1288)
-  * Make sure both scripts/ can live side by side (#1264)
-  * Fix nil-dereference bug (#1258)
-  * rewrite pre-commit, post-commit and options hooks (fixes #1250) (#1257)
-  * Commit search appearance fixes (#1254)
-  * Fix forget migration for wiki hooks (#1227)
-  * Fix repo settings external tracker failed and check external urls (#1215)
-  * Fix 500 caused by branches settings introduced by #1198 (#1214)
-  * fix #1189, commit messages containing a pipe (#1203)
-  * Bug fixed for delete repo failed (#1193)
-  * Fix migration failed when authorized_keys is not exist (#1180)
-  * Fix ini format incomiptable with crowdin (#1177)
-* TESTING
-  * Integration tests for issues API (#2059)
-  * Add integration tests for signin (#2363)
-  * Add INTERNAL_TOKEN to integration .ini file (#2346)
-  * Add public links check (#2323)
-  * Fix hooks for integration repo (#2216)
-  * More integration tests for comment API (#2156)
-  * Cache session cookies in tests (#2128)
-  * Less verbose integration tests (#2123)
-  * Fix improper setup for integration tests (#2050)
-  * Improve integration test helper functions (#2049)
-  * Add integration test for issue creating (#2002)
-  * Use testing/benchmark interface (#1993)
-  * Add integration test for repository migration (#1983)
-  * Consolidate boilerplate in integration tests (#1979)
-  * Set console to debug for integration tests (#1976)
-  * Add pull-create integration test (#1972)
-  * Coverage reports for integration tests (#1960)
-  * Add integration test for pull-request merge (#1912)
-  * Add integration test for file editing (#1907)
-  * Add integration test for repository forking (#1896)
-  * Run unused test (#1875)
-  * Don't recreate database in integration tests (#1697)
-  * remove sqlite tag when integration test with mysql/postgres and recreate database when init integration test (#1693)
-  * MySQL, Postgres integration tests in drone (#1638)
-  * improve integration test to resue models/fixtures and store git repos with tests (#1627)
-  * Improve govendor testing (#1623)
-  * Integration test framework (#1290)
-  * Unit tests for issue_list (#1209)
-  * Add integration test for signup (#1135)
-* TRANSLATION
-  * update translation from crowdin (#2368) (#2380)
-  * Small fixes (#2144)
-  * Missing signed commit display translations (#2134)
-  * Sync latest translations from crowdin (#2104)
-  * Add make command update-translations for update translations from crodwin (#2097)
-  * Fix some mistakes (#1833)
-  * Improve clarity between is_activated and prohibit_login (#1788)
-  * Improve grammar (#1775)
-  * Fix bad grammar and wordiness (#1741)
-  * Make strings translatable (#1188) (#1198)
-* BUILD
-  * Dockerfile for aarch64 (#1128) (#1130)
-  * backport from v1.2 branch: add secrets for github release (#2588) (#2598)
-  * Add secrets for github release to fix drone failed (#2588)
-  * Backport changes for latest drone (#2586)
-  * Removing .drone.yml.sig (#2579)
-  * Fix drone for tags (#2573) (#2576)
-  * Backport: Remove go version check for make fmt (#2558) (#2561)
-  * Backport: Fix lint, fmt and integration testing errors (#2553)
-  * update latest xorm version to vendor (#2353)
-  * Remove integration test executables on `make clean` (#2340)
-  * refactor(Makefile): allow overriding default go program (#2310)
-  * Revert to upstream ini dependency (#2304)
-  * Use /dev/urandom to create random password (#2298)
-  * update drone sig file. (#2262)
-  * go get github.com/wadey/gocovmerge when needed (#2235)
-  * fix typo (#2145)
-  * Revert "Reduce number of layer" (#2086)
-  * Reduce number of layer (#2078)
-  * Skip sqlite integration in CI (#2058)
-  * fix golint error and rename func for suggestion. (#1997)
-  * fix misspell (#1996)
-  * update drone sig file (#1981)
-  * send notification if status changed (#1973)
-  * switch gitter to discord for drone. (#1971)
-  * Fix missing backslash in Dockerfile.rpi (#1952)
-  * Don't run 'make release' on PRs (#1908)
-  * Update code.gitea.io/git (#1892)
-  * Use production version of vuejs (#1869)
-  * Add a variable for docker tag (#1825)
-  * resign drone and fix #1816 (#1819)
-  * Separate generate swagger + fix sed os specific (#1791)
-  * Only run coverage on merges/pushes to master (#1783)
-  * Remove stale rule from Makefile (#1782)
-  * feat: upgrade drone docker image to support multi-stage build. (#1732)
-  * Really don't cache apk index (#1694)
-  * Limit clone depth when drone-building (#1644)
-  * Refactor Dockerfile (#1632)
-  * Check if missing/modified/unused deps in vendor and fix errors (#1468)
-  * Add GOFLAGS and EXTRA_GOFLAGS (#1438)
-  * Include formatting check to the `make test` (and thus also `check`) rule (#1366)
-* DOCS
-  * fix wrong changelog title (#2395)
-  * fix webhook link (#2289)
-  * Improve swagger doc (#2274)
-  * Add link to forum in issue template (#2070)
-  * add missing lfs config on example file (#2039)
-  * Add discourse link (#2027)
-  * Fix wording (#2024)
-  * Fix typo (#1974)
-  * Swagger docs for list/create forks (#1941)
-  * Update links to Discord server (#1940)
-  * [ci skip] update discord badge. (#1930)
-  * Change join chat from gitter to discord (#1929)
-  * Update changelog with v1.1.1 (#1926)
-  * Correct grammar in APIEmpty documentation (#1748)
-  * Add swagger comment for MirrorSync (#1747)
-  * Add "Table of Contents" in CONTRIBUTING.md (#1634)
-  * Fix service description in Debian init file (#1538)
-  * Use MAINTAINERS file in repository in CONTRIBUTING (#1489)
-  * Generate swagger json (#1402)
-  * Changed text when password reset disabled. (#1364)
-  * Removed email copyright year (#1348)
-  * Specify that time interval units are seconds (#1311)
-  * Gitea OpenID-2.0 login has been tested with livejournal.com too (#1306)
-  * Make wording of commit search more clear (#1291)
-  * Add notice that LFS mirroring is not supported (#1251)
-  * Fix typos in models/ and modules/ (#1248)
-  * Refactor and fix incorrect comment (#1247)
-  * Fix migration comment (#1241)
-  * Update locale_en-US.ini (#1235)
-  * Add LibreJS support (#1201)
-  * rename OSX to macOS (#1176)
-  * add mssql to app.ini db config comment (#1172)
-  * Add MSSQL to issues template (#1171)
-* MISC
-  * Add badge and link to the Matrix room (#2348)
-  * ignore coverage steps. (#2257)
-  * Use sqlite3 database as default for Docker image (#2182)
-  * update drone discord plugin to 0.0.4 version (#1992)
-  * fix typo (#1990)
-  * Move 3rd party js/css into `public/vendor` and document sources (#2383)
-  * Prevent conflicting TOTP accounts by adding AppURL to issuer parameter (#2335)
-  * Fix variable name typo (#2327)
-  * Make use of Vue more universal (#2318)
-  * Remove (almost) server side data rendering from repo-search component (#2317)
-  * Add OpenID configuration in install page (#2276)
-  * More tweaks to repo top panel (#2267)
-  * File path tweaks in UI (#2264)
-  * Make SHOW_USER_EMAIL also apply to profiles (#2258)
-  * EnableUnit() -> UnitEnabled() (#2242)
-  * Prevent selection of diff line numbers (#2240)
-  * Remove unused variable on makefile (#2225)
-  * No error log entries for repo 404 (#2200)
-  * Refactor vue delimeters to use es6 template delimeters (#2171)
-  * Replace tmp with TMPDIR. (#2152)
-  * Remove unused files (#2124)
-  * Improve org error handling (#2117)
-  * Absolute path for setting.CustomConf (#2085)
-  * remove deprecated code for Gogs compatible (#2041)
-  * Refactor session close as xorm already does everything needed internally  (#2020)
-  * SQLite has a query timeout. Hopefully fixes most 'database locked' errors (#1961)
-  * Use monospace font in githook editor (#1958)
-  * Fix import order (#1951)
-  * Gracefully handle bare repositories on API operations. (#1932)
-  * Fix errors caused by force push (#1927)
-  * Display URLs in integration test logs (#1924)
-  * Set TMPDIR environment variable for dump command (#1915)
-  * Cache ctx.User in retrieveFeeds (#1902)
-  * Make `LocalCopyPath` a setting instead of a hard-coded path (#1881)
-  * Add check misspelling (#1877)
-  * Fix misspelled variables (#1874)
-  * Gofmt (#1868, #1710, #1662)
-  * Rename misnamed migration (#1867)
-  * Support CRLF when splitting code lines for display (#1862)
-  * Add convert less css file step. (#1861)
-  * Prevent accidental selection of line numbers in code view (#1860)
-  * Delete Public SSH Key tmp file after calculating fingerprint (#1855)
-  * Remove annoying difference in button heights. (#1853)
-  * Only run test coverage on master branch. (#1838)
-  * Error from mktemp command in MacOS. (#1837)
-  * Use writeTmpKeyFile in calcFingerprint (#1828)
-  * ROOT_URL setting use the default as shown in conf/app.ini (#1823)
-  * Rename RepoCreationNum -> MaxCreationLimit (#1766)
-  * Add button to admin ui (#1738)
-  * Correct spelling mistakes (#1703)
-  * Make openid support default false for compatible with v1.1 (#1650)
-  * Send mails as HTML as default. Setting for send as plain text. (#1648)
-  * fix potential lock when sqlite (#1647)
-  * Optimize png images via Google zopflipng [ci skip] (#1639)
-  * Upgrade alpine to v3.5 in Dockerfile (#1633)
-  * remove unused vendor packages (#1620)
-  * markup: microoptimise for many short filenames in directory (#1534)
-  * support health check via / and fix #969 (#1520)
-  * Remove env user salt since no need to use (#1515)
-  * Drop db operations from hook commands (#1514)
-  * Better URL validation (#1507)
-  * Migrate WatchInfo struct to api (#1492)
-  * refactor: show command help message. (#1486)
-  * refactor update ssh key use time (#1466)
-  * Set VERSION from git once, in a variable (#1447)
-  * Remove unused mutex field (#1440)
-  * Simplify settings pages with item list (#1389)
-  * Clean-up PostgreSQL Tests (#1361)
-  * refactor: remove workaround after the golang 1.7 release. (#1349)
-  * Delete the useless code (#1335)
-  * Run "make fmt" with go-1.6 (#1333)
-  * Refactor admin/auth/new.tmpl (#1277)
-  * Refactor repo/issue/view_content.tmpl (#1276)
-  * Cleaner ui for admin, repo settings, and user settings page (#1269) (#1270)
-  * Cleaner UI for explore page (#1253) (#1255)
-  * Synced licenses with github repo (#1246)
-  * Synced gitignores with github repo (#1245)
-  * Simplify RepositoryList.loadAttributes() (#1211)
-  * Move user_follow to separate file (#1210)
-  * Reduce conditionals in signin/signup inner forms (#1138)
-
-## [1.1.4](https://github.com/go-gitea/gitea/releases/tag/v1.1.4) - 2017-09-04
-
-* BUGFIXES
-  * Fix rendering of external links (#2292) (#2315)
-  * Fix deleted milestone bug (#1942) (#2300)
-  * fix 500 error when view an issue which's milestone deleted (#2297) (#2299)
-  * Fix SHA1 hash linking (#2143) (#2293)
-  * back port from #1709 (#2291)
-
-## [1.1.3](https://github.com/go-gitea/gitea/releases/tag/v1.1.3) - 2017-08-03
-
-* BUGFIXES
-  * Fix PR template error (#2008)
-  * Fix markdown rendering (fix #1530) (#2043)
-  * Fix missing less sources for oauth (backport #1288) (#2135)
-  * Don't ignore gravatar error (#2138)
-  * Fix diff of renamed and modified file (#2136)
-  * Fix fast-forward PR bug (#2137)
-  * Fix some security bugs
-
-## [1.1.2](https://github.com/go-gitea/gitea/releases/tag/v1.1.2) - 2017-06-13
-
-* BUGFIXES
-  * Enforce netgo build tag while cross-compilation (Backport of #1690) (#1731)
-  * fix update avatar
-  * fix delete user failed on sqlite (#1321)
-  * fix bug not to trim space of login username (#1806)
-  * Backport bugfixes #1220 and #1393 to v1.1 (#1758)
-
-## [1.1.1](https://github.com/go-gitea/gitea/releases/tag/v1.1.1) - 2017-05-04
-
-* BUGFIXES
-  * Markdown Sanitation Fix [#1646](https://github.com/go-gitea/gitea/pull/1646)
-  * Fix broken hooks [#1376](https://github.com/go-gitea/gitea/pull/1376)
-  * Fix migration issue [#1375](https://github.com/go-gitea/gitea/pull/1375)
-  * Fix Wiki Issues [#1338](https://github.com/go-gitea/gitea/pull/1338)
-  * Forgotten migration for wiki githooks [#1237](https://github.com/go-gitea/gitea/pull/1237)
-  * Commit messages can contain pipes [#1218](https://github.com/go-gitea/gitea/pull/1218)
-  * Verify external tracker URLs [#1236](https://github.com/go-gitea/gitea/pull/1236)
-  * Allow upgrade after downgrade [#1197](https://github.com/go-gitea/gitea/pull/1197)
-  * 500 on delete repo with issue [#1195](https://github.com/go-gitea/gitea/pull/1195)
-  * INI compat with CrowdIn [#1192](https://github.com/go-gitea/gitea/pull/1192)
-
-## [1.1.0](https://github.com/go-gitea/gitea/releases/tag/v1.1.0) - 2017-03-09
-
-* BREAKING
-  * The SSH keys can potentially break, make sure to regenerate the authorized keys
-* FEATURES
-  * Git LFSv2 support [#122](https://github.com/go-gitea/gitea/pull/122)
-  * API endpoints for repo watching [#191](https://github.com/go-gitea/gitea/pull/191)
-  * Search within private repos [#222](https://github.com/go-gitea/gitea/pull/222)
-  * Hide user email address on explore page [#336](https://github.com/go-gitea/gitea/pull/336)
-  * Protected branch system [#339](https://github.com/go-gitea/gitea/pull/339)
-  * Sendmail for mail delivery [#355](https://github.com/go-gitea/gitea/pull/355)
-  * API endpoints for org webhooks [#372](https://github.com/go-gitea/gitea/pull/372)
-  * Enabled MSSQL support [#383](https://github.com/go-gitea/gitea/pull/383)
-  * API endpoints for org teams [#370](https://github.com/go-gitea/gitea/pull/370)
-  * API endpoints for collaborators [#375](https://github.com/go-gitea/gitea/pull/375)
-  * Graceful server restart [#416](https://github.com/go-gitea/gitea/pull/416)
-  * Commitgraph / timeline on commits page [#428](https://github.com/go-gitea/gitea/pull/428)
-  * API endpoints for repo forks [#509](https://github.com/go-gitea/gitea/pull/509)
-  * API endpoints for releases [#510](https://github.com/go-gitea/gitea/pull/510)
-  * Folder jumping [#511](https://github.com/go-gitea/gitea/pull/511)
-  * Stars tab on profile page [#519](https://github.com/go-gitea/gitea/pull/519)
-  * Notification system [#523](https://github.com/go-gitea/gitea/pull/523)
-  * Push and pull through reverse proxy basic auth [#524](https://github.com/go-gitea/gitea/pull/524)
-  * Search for issues and pull requests [#530](https://github.com/go-gitea/gitea/pull/530)
-  * API endpoint for stargazers [#597](https://github.com/go-gitea/gitea/pull/597)
-  * API endpoints for subscribers [#598](https://github.com/go-gitea/gitea/pull/598)
-  * PID file support [#610](https://github.com/go-gitea/gitea/pull/610)
-  * Two factor authentication (2FA) [#630](https://github.com/go-gitea/gitea/pull/630)
-  * API endpoints for org users [#645](https://github.com/go-gitea/gitea/pull/645)
-  * Release attachments [#673](https://github.com/go-gitea/gitea/pull/673)
-  * OAuth2 consumer [#679](https://github.com/go-gitea/gitea/pull/679)
-  * Add ability to fork your own repos [#761](https://github.com/go-gitea/gitea/pull/761)
-  * Search repository on dashboard [#773](https://github.com/go-gitea/gitea/pull/773)
-  * Search bar on user profile [#787](https://github.com/go-gitea/gitea/pull/787)
-  * Track label changes on issue view [#788](https://github.com/go-gitea/gitea/pull/788)
-  * Allow using custom time format [#798](https://github.com/go-gitea/gitea/pull/798)
-  * Redirects for renamed repos [#807](https://github.com/go-gitea/gitea/pull/807)
-  * Track assignee changes on issue view [#808](https://github.com/go-gitea/gitea/pull/808)
-  * Track title changes on issue view [#841](https://github.com/go-gitea/gitea/pull/841)
-  * Archive cleanup action [#885](https://github.com/go-gitea/gitea/pull/885)
-  * Basic Open Graph support [#901](https://github.com/go-gitea/gitea/pull/901)
-  * Take back control of Git hooks [#1006](https://github.com/go-gitea/gitea/pull/1006)
-  * API endpoints for user repos [#1059](https://github.com/go-gitea/gitea/pull/1059)
-* BUGFIXES
-  * Fixed counting issues for issue filters [#413](https://github.com/go-gitea/gitea/pull/413)
-  * Added back default settings for SSH [#500](https://github.com/go-gitea/gitea/pull/500)
-  * Fixed repo permissions [#513](https://github.com/go-gitea/gitea/pull/513)
-  * Issues cannot be created with labels [#622](https://github.com/go-gitea/gitea/pull/622)
-  * Add a reserved wiki paths check to the wiki [#720](https://github.com/go-gitea/gitea/pull/720)
-  * Update website binding MaxSize to 255 [#722](https://github.com/go-gitea/gitea/pull/722)
-  * User can see the private activity on public history [#818](https://github.com/go-gitea/gitea/pull/818)
-  * Wrong pages number which includes private repositories [#844](https://github.com/go-gitea/gitea/pull/844)
-  * Trim whitespaces for search keyword [#893](https://github.com/go-gitea/gitea/pull/893)
-  * Don't rewrite non-gitea public keys [#906](https://github.com/go-gitea/gitea/pull/906)
-  * Use fingerprint to check instead content for public key [#911](https://github.com/go-gitea/gitea/pull/911)
-  * Fix random avatars [#1147](https://github.com/go-gitea/gitea/pull/1147)
-* ENHANCEMENTS
-  * Refactored process manager [#75](https://github.com/go-gitea/gitea/pull/75)
-  * Restrict rights to create new orgs [#193](https://github.com/go-gitea/gitea/pull/193)
-  * Added label and milestone sorting [#199](https://github.com/go-gitea/gitea/pull/199)
-  * Make minimum password length configurable [#223](https://github.com/go-gitea/gitea/pull/223)
-  * Speedup conflict checking on pull requests [#276](https://github.com/go-gitea/gitea/pull/276)
-  * Added button to delete merged pull request branches [#441](https://github.com/go-gitea/gitea/pull/441)
-  * Improved issue references within markdown [#471](https://github.com/go-gitea/gitea/pull/471)
-  * Dutch translation for the landingpage [#487](https://github.com/go-gitea/gitea/pull/487)
-  * Added Gogs migration script [#532](https://github.com/go-gitea/gitea/pull/532)
-  * Support a .gitea folder for issue templates [#582](https://github.com/go-gitea/gitea/pull/582)
-  * Enhanced diff-view coloring [#584](https://github.com/go-gitea/gitea/pull/584)
-  * Added ETag header to avatars [#721](https://github.com/go-gitea/gitea/pull/721)
-  * Added option to config to disable local path imports [#724](https://github.com/go-gitea/gitea/pull/724)
-  * Allow custom public files [#782](https://github.com/go-gitea/gitea/pull/782)
-  * Added pprof endpoint for debugging [#801](https://github.com/go-gitea/gitea/pull/801)
-  * Added `X-GitHub-*` headers [#809](https://github.com/go-gitea/gitea/pull/809)
-  * Fill SSH key title automatically [#863](https://github.com/go-gitea/gitea/pull/863)
-  * Display Git version on admin panel [#921](https://github.com/go-gitea/gitea/pull/921)
-  * Expose URL field on issue API [#982](https://github.com/go-gitea/gitea/pull/982)
-  * Statically compile the binaries [#985](https://github.com/go-gitea/gitea/pull/985)
-  * Embed build tags into version string [#1051](https://github.com/go-gitea/gitea/pull/1051)
-  * Gitignore support for FSharp and Clojure [#1072](https://github.com/go-gitea/gitea/pull/1072)
-  * Custom templates for static builds [#1087](https://github.com/go-gitea/gitea/pull/1087)
-  * Add ProxyFromEnvironment if none set [#1096](https://github.com/go-gitea/gitea/pull/1096)
-* MISC
-  * Replaced remaining Gogs references
-  * Added more tests on various packages
-  * Use Crowdin for translations again
-  * Resolved some XSS attack vectors
-  * Optimized and reduced number of database queries
-
-## [1.0.2](https://github.com/go-gitea/gitea/releases/tag/v1.0.2) - 2017-02-21
-
-* BUGFIXES
-  * Fixed issue counter [#882](https://github.com/go-gitea/gitea/pull/882)
-  * Fixed XSS vulnerability on wiki page [#955](https://github.com/go-gitea/gitea/pull/955)
-  * Add data dir without session to dump [#587](https://github.com/go-gitea/gitea/pull/587)
-  * Fixed wiki page renaming [#958](https://github.com/go-gitea/gitea/pull/958)
-  * Drop default console logger if not required [#960](https://github.com/go-gitea/gitea/pull/960)
-  * Fixed docker docs link on install page [#972](https://github.com/go-gitea/gitea/pull/972)
-  * Handle SetModel errors [#957](https://github.com/go-gitea/gitea/pull/957)
-  * Fixed XSS vulnerability on milestones [#977](https://github.com/go-gitea/gitea/pull/977)
-  * Fixed XSS vulnerability on alerts [#981](https://github.com/go-gitea/gitea/pull/981)
-
-## [1.0.1](https://github.com/go-gitea/gitea/releases/tag/v1.0.1) - 2017-01-05
-
-* BUGFIXES
-  * Fixed localized `MIN_PASSWORD_LENGTH` [#501](https://github.com/go-gitea/gitea/pull/501)
-  * Fixed 500 error on organization delete [#507](https://github.com/go-gitea/gitea/pull/507)
-  * Ignore empty wiki repo on migrate [#544](https://github.com/go-gitea/gitea/pull/544)
-  * Proper check access for forking [#563](https://github.com/go-gitea/gitea/pull/563)
-  * Fix SSH domain on installer [#506](https://github.com/go-gitea/gitea/pull/506)
-  * Fix missing data rows on admin UI [#580](https://github.com/go-gitea/gitea/pull/580)
-  * Do not delete tags with releases by default [#579](https://github.com/go-gitea/gitea/pull/579)
-  * Fix missing session config data on admin UI [#578](https://github.com/go-gitea/gitea/pull/578)
-  * Properly show the version within footer on the UI [#593](https://github.com/go-gitea/gitea/pull/593)
-
-## [1.0.0](https://github.com/go-gitea/gitea/releases/tag/v1.0.0) - 2016-12-23
-
-* BREAKING
-  * We have various changes on the API, scripting against API must be updated
-* FEATURES
-  * Show last login for admins [#121](https://github.com/go-gitea/gitea/pull/121)
-* BUGFIXES
-  * Fixed sender of notifications [#2](https://github.com/go-gitea/gitea/pull/2)
-  * Fixed keyword hijacking vulnerability [#20](https://github.com/go-gitea/gitea/pull/20)
-  * Fixed non-markdown readme rendering [#95](https://github.com/go-gitea/gitea/pull/95)
-  * Allow updating draft releases [#169](https://github.com/go-gitea/gitea/pull/169)
-  * GitHub API compliance [#227](https://github.com/go-gitea/gitea/pull/227)
-  * Added commit SHA to tag webhook [#286](https://github.com/go-gitea/gitea/issues/286)
-  * Secured links via noopener [#315](https://github.com/go-gitea/gitea/issues/315)
-  * Replace tabs with spaces on wiki title [#371](https://github.com/go-gitea/gitea/pull/371)
-  * Fixed vulnerability on labels and releases [#409](https://github.com/go-gitea/gitea/pull/409)
-  * Fixed issue comment API [#449](https://github.com/go-gitea/gitea/pull/449)
-* ENHANCEMENTS
-  * Use proper import path for libravatar [#3](https://github.com/go-gitea/gitea/pull/3)
-  * Integrated DroneCI for tests and builds [#24](https://github.com/go-gitea/gitea/issues/24)
-  * Integrated dependency manager [#29](https://github.com/go-gitea/gitea/issues/29)
-  * Embedded bindata optionally [#30](https://github.com/go-gitea/gitea/issues/30)
-  * Integrated pagination for releases [#73](https://github.com/go-gitea/gitea/pull/73)
-  * Autogenerate version on every build [#91](https://github.com/go-gitea/gitea/issues/91)
-  * Refactored Docker container [#104](https://github.com/go-gitea/gitea/issues/104)
-  * Added short-hash support for downloads [#211](https://github.com/go-gitea/gitea/issues/211)
-  * Display tooltip for downloads [#221](https://github.com/go-gitea/gitea/issues/221)
-  * Improved HTTP headers for issue attachments [#270](https://github.com/go-gitea/gitea/pull/270)
-  * Integrate public as bindata optionally [#293](https://github.com/go-gitea/gitea/pull/293)
-  * Integrate templates as bindata optionally [#314](https://github.com/go-gitea/gitea/pull/314)
-  * Inject more ENV variables into custom hooks [#316](https://github.com/go-gitea/gitea/issues/316)
-  * Correct LDAP login validation [#342](https://github.com/go-gitea/gitea/pull/342)
-  * Integrate conf as bindata optionally [#354](https://github.com/go-gitea/gitea/pull/354)
-  * Serve video files in browser [#418](https://github.com/go-gitea/gitea/pull/418)
-  * Configurable SSH host binding [#431](https://github.com/go-gitea/gitea/issues/431)
-* MISC
-  * Forked from Gogs and renamed to Gitea
-  * Catching more errors with logs
-  * Fixed all linting errors
-  * Made the go linter entirely happy
-  * Really integrated vendoring
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b72ac4849a..d57845776f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,2317 +1,10 @@
 # Changelog
 
-This changelog goes through the changes that have been made in each release
+This changelog goes through all the changes that have been made in each release
 without substantial changes to our git log; to see the highlights of what has
-been added to each release, please refer to the [blog](https://blog.gitea.com).
+been added to each release, please refer to the [blog](https://blog.gitea.io).
 
-## [1.24.0](https://github.com/go-gitea/gitea/releases/tag/1.24.0) - 2025-05-26
-
-* BREAKING
-  * Make Gitea always use its internal config, ignore `/etc/gitconfig` (#33076)
-  * Improve log format (#33814)
-  * Fix markdown render behaviors (#34122)
-  * Add package version api endpoints (#34173)
-
-* FEATURES
-  * Enforce two-factor auth (2FA: TOTP or WebAuthn) (#34187)
-  * Add fullscreen mode as a more efficient operation way to view projects (#34081)
-  * Add anonymous access support for private/unlisted repositories (#34051)
-  * Support public code/issue access for private repositories (#33127)
-  * Add middleware for request prioritization (#33951)
-  * Add cli flags LDAP group configuration (#33933)
-  * Add file tree to file view page (#32721)
-  * Add material icons for file list (#33837)
-  * Artifacts download api for artifact actions v4 (#33510)
-  * Support choose email when creating a commit via web UI (#33432)
-  * Add basic auth support to rss/atom feeds (#33371)
-  * Add sorting by exclusive labels (issue priority) (#33206)
-  * Add sub issue list support (#32940)
-  * Private README.md for organization (#32872)
-  * Email option to embed images as base64 instead of link (#32061)
-  * Option to delay conflict checking of old pull requests until page view (#27779)
-  * Worktime tracking for the organization level (#19808)
-
-* PERFORMANCE
-  * Add cache for common package queries (#22491)
-  * Move issue pin to an standalone table for querying performance (#33452)
-  * Improve commits list performance to reduce unnecessary database queries (#33528)
-  * Optimize total count of feed when loading activities in user dashboard. (#33841)
-  * Optimize heatmap query (#33853)
-  * Only use prev and next buttons for pagination on user dashboard (#33981)
-  * Improve pull request list API performance (#34052)
-  * Cache GPG keys, emails and users when list commits (#34086)
-  * Refactor Git Attribute & performance optimization (#34154)
-  * Performance optimization for tags synchronization (#34355) #34522
-
-* ENHANCEMENTS
-  * Code
-    * Display when a release attachment was uploaded (#34261)
-    * Support creating relative link to raw path in markdown (#34105)
-    * Improve code block readability and isolate copy button (#34009)
-    * Improve repository commit view (#33877)
-    * Full-file syntax highlighting for diff pages (#33766)
-    * Clone repository with Tea CLI (#33725)
-    * Improve sync fork behavior (#33319)
-    * Make git clone URL could use current signed-in user (#33091)
-    * Add submodule diff links (#33097)
-    * Link to tree views of submodules if possible (#33424)
-    * Only keep popular licenses (#33832)
-    * De-emphasize signed commits (#31160)
-
-  * Actions
-    * Add flat-square action badge style (#34062)
-    * Update action status badge layout (#34018)
-    * Download actions job logs from API (#33858)
-    * Always show the "rerun" button for action jobs (#33692)
-    * Add auto-expanding running actions step (#30058)
-    * Update status check for all supported on.pull_request.types in Gitea (#33117)
-    * Workflow_dispatch use workflow from trigger branch (#33098)
-    * Add action auto-scroll (#30057)
-    * Add workflow_job webhook (#33694)
-    * Add a button editing action secret (#34462)
-
-  * Pull Request
-    * Auto expand "New PR" form (#33971)
-    * Mark parent directory as viewed when all files are viewed (#33958)
-    * Show info about maintainers are allowed to edit a PR (#33738)
-    * Automerge supports deleting branch automatically after merging (#32343)
-    * Add additional command hints for PowerShell & CMD (#33548)
-
-  * Issues
-    * Allow filtering issues by any assignee (#33343)
-    * Show warning on navigation if currently editing comment or title (#32920)
-    * Make tracked time representation display as hours (#33315)
-    * Add No Results Prompt Message on Issue List Page (#33699)
-    * Add sort option recentclose for issues and pulls (#34525) #34539
-
-  * Packages
-    * Link to nuget dependencies (#26554)
-    * Add composor source field (#33502)
-
-  * Administration
-    * Improve navbar: add "admin" tip, add "active" style (#32927)
-    * Add a option "--user-type bot" to admin user create, improve role display (#27885)
-    * Improve admin user view page (#33735)
-    * Support performance trace (#32973)
-    * Change pprof labels to be prometheus compatible (#32865)
-    * Allow admins and org owners to change org member public status (#28294)
-    * Optimize the installation page (#32994)
-    * Make public URL generation configurable (#34250)
-    * Add a --fullname arg to gitea admin user create. (#34241)
-
-  * Others
-    * Improve oauth2 error handling (#33969)
-    * Fail mirroring more gracefully (#34002)
-    * Align User Details Page Header Layout with Design Specifications (#34192)
-    * Webhook add X-Gitea-Hook-Installation-Target-Type Header (#33752)
-    * Optimize the dashboard (#32990)
-    * Improve button layout on small screens (#33633)
-    * Add cropping support when modifying the user/org/repo avatar (#33498)
-    * Make ROOT_URL support using request Host header (#32564)
-    * Add `show more` organizations icon in user's profile (#32986)
-    * Introduce `--page-space-bottom` at 64px (#30692)
-    * Improve theme display (#30671)
-    * Add alphabetical project sorting (#33504)
-    * Add global lock for migrations to make upgrade more safe with multiple replications (#33706)
-    * Add descriptions for private repo public access settings and improve the UI (#34057)
-
-* API
-  * Actions Runner rest api (#33873)
-  * Inclusion of rename organization api (#33303)
-  * Add API to support link package to repository and unlink it (#33481)
-  * Add API endpoint to request contents of multiple files simultaniously (#34139)
-  * Actions artifacts API list/download check status upload confirmed (#34273)
-  * Add API routes to lock and unlock issues (#34165)
-  * Fix some user name usages (#33689)
-  * Allow filtering /repos/{owner}/{repo}/pulls by target base branch queryparam (#33684)
-  * Improve swagger generation (#33664)
-  * Support Ephemeral action runners (#33570)
-  * Support workflow event dispatch via API (#33545)
-  * Support workflow event dispatch via API (#32059)
-  * Added Description Field for Secrets and Variables  (#33526)
-  * Reject star-related requests if stars are disabled (#33208)
-  * Let API create and edit system webhooks, attempt 2 (#33180)
-  * Use `Project-URL` metadata field to get a PyPI package's homepage URL (#33089)
-  * Add `last_committer_date` and `last_author_date` for file contents API (#32921)
-
-* REFACTORS
-  * Remove context from git struct (#33793)
-  * Refactor admin/common.ts (#33788)
-  * Refactor repo-settings.ts (#33785)
-  * Refactor repo-issue.ts (#33784)
-  * Small refactor to reduce unnecessary database queries and remove duplicated functions (#33779)
-  * Refactor initRepoBranchTagSelector to use new init framework (#33776)
-  * Refactor buttons to use new init framework (#33774)
-  * Refactor markup and pdf-viewer to use new init framework (#33772)
-  * Refactor error system (#33771)
-  * Refactor mail code (#33768)
-  * Update TypeScript types (#33799)
-  * Refactor older tests to use testify (#33140)
-  * Move notifywatch to service layer (#33825)
-  * Decouple context from repository related structs (#33823)
-  * Remove context from mail struct (#33811)
-  * Refactor dropdown ellipsis (#34123)
-  * Refactor functions to reduce repopath expose (#33892)
-  * Refactor repo-diff.ts (#33746)
-  * Refactor web route handler (#33488)
-  * Refactor user & avatar (#33433)
-  * Refactor user package (#33423)
-  * Refactor decouple context from migration structs (#33399)
-  * Refactor context flash msg and global variables (#33375)
-  * Refactor response writer & access logger (#33323)
-  * Refactor ref type (#33242)
-  * Refactor context repository (#33202)
-  * Refactor legacy JS (#33115)
-  * Refactor legacy line-number and scroll code (#33094)
-  * Refactor env var related code (#33075)
-  * Move SetMerged to service layer (#33045)
-  * Merge updatecommentattachment functions (#33044)
-  * Refactor pull-request compare&create page (#33071)
-  * Refactor repo-new.ts (#33070)
-  * Refactor pagination (#33037)
-  * Refactor tests (#33021)
-  * Refactor markup render to fix various path problems (#34114)
-  * Refactor Branch struct in package modules/git (#33980)
-  * Don't create duplicated functions for code repositories and wiki repositories (#33924)
-  * Move git references checking to gitrepo packages to reduce expose of repository path (#33891)
-  * Refactor cache-control (#33861)
-  * Decouple diff stats query from actual diffing (#33810)
-  * Move part of updating protected branch logic to service layer (#33742)
-  * Decouple Batch from git.Repository to simplify usage without requiring the creation of a Repository struct. (#34001)
-  * Refactor tmpl and blob_excerpt (#32967)
-  * Refactor template & test related code (#32938)
-  * Refactor db package and remove unnecessary `DumpTables` (#32930)
-  * Refactor pprof labels and process desc (#32909)
-  * Refactor repo-projects.ts (#32892)
-  * Refactor getpatch/getdiff functions and remove unnecessary fallback (#32817)
-  * Uniform all temporary directories and allow customizing temp path (#32352)
-  * Remove context from retry downloader (#33871)
-  * Refactor global init code and add more comments (#33755)
-  * Remove some unnecessary template helpers (#33069)
-  * Move and rename UpdateRepository (#34136)
-  * Move hooks function to gitrepo and reduce expose repopath (#33890)
-  * Add abstraction layer to delete repository from disk (#33879)
-  * Add abstraction layer to check if the repository exists on disk (#33874)
-  * Move ParseCommitWithSSHSignature to service layer (#34087)
-  * Move duplicated functions (#33977)
-  * Extract code to their own functions for push update (#33944)
-  * Move gitgraph from modules to services layer (#33527)
-  * Move commits signature and verify functions to service layers (#33605)
-  * Use `CloseIssue` and `ReopenIssue` instead of `ChangeStatus` (#32467)
-  * Refactor arch route handlers (#32993)
-  * Refactor "string truncate" (#32984)
-  * Refactor arch route handlers (#32972)
-  * Clarify path param naming (#32969)
-  * Refactor request context (#32956)
-  * Move some errors to their own sub packages (#32880)
-  * Move RepoTransfer from models to models/repo sub package (#32506)
-  * Move delete deploy keys into service layer (#32201)
-  * Refactor webhook events (#33337)
-  * Move some Actions related functions from `routers` to `services` (#33280)
-  * Refactor RefName (#33234)
-  * Refactor context RefName and RepoAssignment (#33226)
-  * Refactor repository transfer (#33211)
-  * Refactor error system (#33626)
-  * Refactor error system (#33610)
-  * Refactor package (routes and error handling, npm peer dependency) (#33111)
-  * Use test context in tests and new loop system in benchmarks (#33648)
-  * Some small refactors (#33144)
-  * Simplify context ref name (#33267)
-
-* BUGFIXES
-  * Fix some dropdown problems on the issue sidebar (#34308) #34327
-  * Do not return archive download URLs in API if downloads are disabled (#34324) #34338
-  * Fix LFS files being editable in web UI (#34356) #34362
-  * Fix only text/* being viewable in web UI (#34374) #34378
-  * Fix LFS file not stored in LFS when uploaded/edited via API or web UI (#34367)
-  * Grey out expired artifact on Artifacts list (#34314) #34404
-  * Fix incorrect divergence cache after switching default branch (#34370) #34406
-  * Refactor commit message rendering and fix bugs (#34412) #34414
-  * Merge and tweak markup editor expander CSS (#34409) #34415
-  * Fix GetUsersByEmails (#34423) #34425
-  * Only git operations should update last changed of a repository (#34388) #34427
-  * Fix comment textarea scroll issue in Firefox (#34438) #34446
-  * Fix repo broken check (#34444) #34452
-  * Fix remove org user failure on mssql (#34449) #34453
-  * Fix Workflow run Not Found page (#34459) #34466
-  * When updating comment, if the content is the same, just return and not update the database (#34422) #34464
-  * Fix project board view (#34470) #34475
-  * Fix get / delete runner to use consistent http 404 and 500 status (#34480) #34488
-  * Fix url validation in webhook add/edit API (#34492) #34496
-  * Fix edithook api can not update package, status and workflow_job events (#34495) #34499
-  * Fix ephemeral runner deletion (#34447) #34513
-  * Don't display error log when .git-blame-ignore-revs doesn't exist (#34457)
-  * Only allow admins to rename default/protected branches (#33276)
-  * Improve "lock conversation" UI (#34207)
-  * Fix incorrect file links (#34189)
-  * Optimize Overflow Menu (#34183)
-  * Check user/org repo limit instead of doer (#34147)
-  * Make markdown render match GitHub's behavior (#34129)
-  * Fix team permission (#34128)
-  * Correctly handle submodule view and avoid throwing 500 error (#34121)
-  * Fix users being able bypass limits with repo transfers (#34031)
-  * Avoid creating unnecessary temporary cat file sub process (#33942)
-  * Refactor organization menu (#33928)
-  * Fix various Fomantic UI and htmx problems (#33851)
-  * Fix 500 error when error occurred in migration page (#33256)
-  * Validate that the tag doesn't exist when creating a tag via the web (#33241)
-  * Add missed transaction on setmerged (#33079)
-  * Rework create/fork/adopt/generate repository to make sure resources will be cleanup once failed (#31035)
-  * Valid email address should only start with alphanumeric (#28174)
-  * Fix webhook url (#34186)
-  * Fix "toAbsoluteLocaleDate" test when system locale is not en-US (#33939)
-  * Fix file name could not be searched if the file was not a text file when using the Bleve indexer (#33959)
-  * Fix cannot delete runners via the modal dialog (#33895)
-  * Fix unpin hint on the pinned pull requests (#33207)
-  * Fix parentCommit invalid memory address or nil pointer dereference. (#33204)
-  * Fix comment header padding (#33377)
-  * Fix some migration and repo name problems (#33986)
-  * Fix various trivial frontend problems (#34263)
-  * Fix Set Email Preference dropdown and button placement (#34255)
-  * Fix quoted replies incorrectly render user input as part of the quote (#34216)
-  * Fix button alignments and remove unnecessary styles (#34206)
-  * Restore form inputs on organization create error (#34201)
-  * Try to fix ACME (3rd) (#33807)
-  * Fix incorrect ref "blob" (#33240)
-  * Fix dynamic content loading init problem (#33748)
-  * Fix git empty check and HEAD request (#33690)
-  * Fix Untranslated Text on Actions Page (#33635)
-  * Fix issue label delete incorrect labels webhook payload (#34575)
-  * Fix incorrect page navigation with up and down arrow on last item of dashboard repos (#34570)
-  * Fix/improve avatar sync from LDAP (#34573)
-  * Fix some trivial problems (#34579)
-  * Retain issue sort type when a keyword search is introduced (#34559)
-  * Always use an empty line to separate the commit message and trailer (#34512)
-  * Fix line-button issue after file selection in file tree (#34574)
-  * Fix doctor deleting orphaned issues attachments (#34142)
-  * Add webhook assigning test and fix possible bug (#34420)
-  * Fix possible nil description of pull request when migrating from CodeCommit (#34541)
-  * Refactor commit reader (#34542)
-  * Fix possible pull request broken when leave the page immediately after clicking the update button #34509
-  * Ignore "Close" error when uploading container blob (#34620)
-  * Fix missed merge commit sha and time when migrating from codecommit (#34645)
-  * Fix GetUsersByEmails (#34643)
-  * Misc CSS fixes (#34638)
-  * Add codecommit to supported services in api docs (#34626)
-  * Validate hex colors when creating/editing labels (#34623)
-  * Fix possible pull request broken when leave the page immediately after clicking the update button (#34509)
-  * Fix margin issue in markup paragraph rendering (#34599)
-  * Fix migration pull request title too long (#34577)
-  * Fix footnote jump behavior on the issue page. (#34621)
-  * Fix "oras" OCI client compatibility (#34666)
-  * Fix last admin check when syncing users (#34649)
-  * Fix skip paths check on tag push events in workflows (#34602) #34670
-
-* MISC
-
-  * Bump to alpine 3.22 (#34613)
-  * Make pull request and issue history more compact (#34588)
-  * Run integration tests against postgres 14 (#34514) #34536
-  * Enable addtional linters (#34085)
-  * Enable testifylint rules (#34075)
-  * Enable staticcheck QFxxxx rules (#34064)
-  * Improve Actions test (#32883)
-  * Drop fomantic build (#33845)
-  * Go1.24 (#33562)
-  * Run yamllint with strict mode, fix issue (#33551)
-  * Disable cron task to update license (#33486)
-  * Optimize makefile help information generation (#33390)
-  * Convert github.com/xanzy/go-gitlab into gitlab.com/gitlab-org/api/client-go (#33126)
-  * Add missed changelogs (#33649)
-  * Update .changelog file to add performance label group (#33472)
-  * Add missing POPULATE_SQUASH_COMMENT_WITH_COMMIT_MESSAGES in app.example.ini (#33363)
-  * Update README screenshots (#33347)
-  * Update unrs-resolver (#34279)
-  * Update go&js dependencies (#34262)
-  * Optimize the calling code of queryElems (#34235)
-  * Update protected_branch.tmpl (#34193)
-  * Feat/optimize span svg layout (#34185)
-  * Set MERMAID_MAX_SOURCE_CHARACTERS to 50000 (#34152)
-  * Update JS and PY deps (#34143)
-  * Add Chinese translations for README files (#34132)
-  * Use `overflow-wrap: anywhere` to replace `word-break: break-all` (#34126)
-  * Clarify ownership in password change error messages (#34092)
-  * Add toggleClass function in dom.ts (#34063)
-  * Update to golangci-lint v2 (#34054)
-  * Update Makefile test comments (#34013)
-  * Update go mod dependencies (#33988)
-  * Use filepath.Join instead of path.Join for file system file operations (#33978)
-  * Prepare common tmpl functions in a middleware (#33957)
-  * Remove unused or abused styles (#33918)
-  * Update JS and PY deps, misc tweaks (#33903)
-  * Try to figure out attribute checker problem (#33901)
-  * Add lock for a repository pull mirror (#33876)
-  * Fine tune push mirror UI (#33866)
-  * Improve issue & code search (#33860)
-  * Use pullrequestlist instead of []*pullrequest (#33765)
-  * Upgrade act to 0.261.4 and actions-proto-go to v0.4.1 (#33760)
-  * Align sidebar gears to the right (#33721)
-  * Update Go dependencies (skip blevesearch, meilisearch) (#33655)
-  * Add migrations and doctor fixes (#33556)
-  * Remove "class-name" from svg icon (#33540)
-  * Update MAINTAINERS (#33529)
-  * Add "No data available" display when list is empty (#33517)
-  * Use `git diff-tree` for `DiffFileTree` on diff pages (#33514)
-  * Give organisation members access to organisation feeds (#33508)
-  * Update feishu icon (#33470)
-  * Hide/disable unusable UI elements when a repository is archived (#33459)
-  * Update `@github/text-expander-element` to 2.9.0 (#33435)
-  * Do not access GitRepo when a repo is being created (#33380)
-  * Fix incorrect ref usages (#33301)
-  * Prepare for support performance trace (#33286)
-  * Enable Typescript `noImplicitThis` (#33250)
-  * Remove unused CSS styles and move some styles to proper files (#33217)
-  * Add .run to gitignore (#33175)
-  * Fix typo in gitea downloader test and add missing codebase in `ToGitServiceType` (#33146)
-  * Remove extended glob pattern from branch protection UI (#33125)
-  * Clean up legacy form CSS styles (#33081)
-  * Unset XDG_HOME_CONFIG as gitea manages configuration locations (#33067)
-  * Add IntelliJ Gateway's .uuid to gitignore (#33052)
-  * User facing messages for AGit errors (#33012)
-  * Always show assignees on right (#33006)
-  * Fix eslint (#33002)
-  * Update JS dependencies (#32914)
-  * Bump x/net (#32896) (#32900)
-  * Only activity tab needs heatmap data loading (#34652)
-
-## [1.23.8](https://github.com/go-gitea/gitea/releases/tag/1.23.8) - 2025-05-11
-
-* SECURITY
-  * Fix a bug when uploading file via lfs ssh command (#34408) (#34411)
-  * Update net package (#34228) (#34232)
-* BUGFIXES
-  * Fix releases sidebar navigation link (#34436) #34439
-  * Fix bug webhook milestone is not right. (#34419) #34429
-  * Fix two missed null value checks on the wiki page. (#34205) (#34215)
-  * Swift files can be passed either as file or as form value (#34068) (#34236)
-  * Fix bug when API get pull changed files for deleted head repository (#34333) (#34368)
-  * Upgrade github v61 -> v71 to fix migrating bug (#34389)
-  * Fix bug when visiting comparation page (#34334) (#34364)
-  * Fix wrong review requests when updating the pull request (#34286) (#34304)
-  * Fix github migration error when using multiple tokens (#34144) (#34302)
-  * Explicitly not update indexes when sync database schemas (#34281) (#34295)
-  * Fix panic when comment is nil (#34257) (#34277)
-  * Fix project board links to related Pull Requests (#34213) (#34222)
-  * Don't assume the default wiki branch is master in the wiki API (#34244) (#34245)
-* DOCUMENTATION
-  * Update token creation API swagger documentation (#34288) (#34296)
-* MISC
-  * Fix CI Build (#34315)
-  * Add riscv64 support (#34199) (#34204)
-  * Bump go version in go.mod (#34160)
-  * remove hardcoded 'code' string in clone_panel.tmpl (#34153) (#34158)
-
-## [1.23.7](https://github.com/go-gitea/gitea/releases/tag/1.23.7) - 2025-04-07
-
-* Enhancements
-  * Add a config option to block "expensive" pages for anonymous users (#34024) (#34071)
-  * Also check default ssh-cert location for host (#34099) (#34100) (#34116)
-* BUGFIXES
-  * Fix discord webhook 400 status code when description limit is exceeded (#34084) (#34124)
-  * Get changed files based on merge base when checking `pull_request` actions trigger (#34106) (#34120)
-  * Fix invalid version in RPM package path (#34112) (#34115)
-  * Return default avatar url when user id is zero rather than updating database (#34094) (#34095)
-  * Add additional ReplaceAll in pathsep to cater for different pathsep (#34061) (#34070)
-  * Try to fix check-attr bug (#34029) (#34033)
-  * Git client will follow 301 but 307 (#34005) (#34010)
-  * Fix block expensive for 1.23 (#34127)
-  * Fix markdown frontmatter rendering (#34102) (#34107)
-  * Add new CLI flags to set name and scopes when creating a user with access token (#34080) (#34103)
-  * Do not show 500 error when default branch doesn't exist (#34096) (#34097)
-  * Hide activity contributors, recent commits and code frequrency left tabs if there is no code permission (#34053) (#34065)
-  * Simplify emoji rendering (#34048) (#34049)
-  * Adjust the layout of the toolbar on the Issues/Projects page (#33667) (#34047)
-  * Pull request updates will also trigger code owners review requests (#33744) (#34045)
-  * Fix org repo creation being limited by user limits (#34030) (#34044)
-  * Fix git client accessing renamed repo (#34034) (#34043)
-  * Fix the issue with error message logging for the `check-attr` command on Windows OS. (#34035) (#34036)
-  * Polyfill WeakRef (#34025) (#34028)
-
-## [1.23.6](https://github.com/go-gitea/gitea/releases/tag/v1.23.6) - 2025-03-24
-
-* SECURITY
-  * Fix LFS URL (#33840) (#33843)
-  * Update jwt and redis packages (#33984) (#33987)
-  * Update golang crypto and net (#33989)
-* BUGFIXES
-  * Drop timeout for requests made to the internal hook api (#33947) (#33970)
-  * Fix maven panic when no package exists (#33888) (#33889)
-  * Fix markdown render (#33870) (#33875)
-  * Fix auto concurrency cancellation skips commit status updates (#33764) (#33849)
-  * Fix oauth2 auth (#33961) (#33962)
-  * Fix incorrect 1.23 translations (#33932)
-  * Try to figure out attribute checker problem (#33901) (#33902)
-  * Ignore trivial errors when updating push data (#33864) (#33887)
-  * Fix some UI problems for 1.23 (#33856)
-  * Removing unwanted ui container (#33833) (#33835)
-  * Support disable passkey auth (#33348) (#33819)
-  * Do not call "git diff" when listing PRs (#33817)
-  * Try to fix ACME (3rd) (#33807) (#33808)
-  * Fix incorrect code search indexer options (#33992) #33999
-
-## [1.23.5](https://github.com/go-gitea/gitea/releases/tag/v1.23.5) - 2025-03-04
-
-* SECURITY
-  * Bump x/oauth2 & x/crypto (#33704) (#33727)
-* PERFORMANCE
-  * Optimize user dashboard loading (#33686) (#33708)
-* BUGFIXES
-  * Fix navbar dropdown item align (#33782)
-  * Fix inconsistent closed issue list icon (#33722) (#33728)
-  * Fix for Maven Package Naming Convention Handling (#33678) (#33679)
-  * Improve Open-with URL encoding (#33666) (#33680)
-  * Deleting repository should unlink all related packages (#33653) (#33673)
-  * Fix omitempty bug (#33663) (#33670)
-  * Upgrade go-crypto from 1.1.4 to 1.1.6 (#33745) (#33754)
-  * Fix OCI image.version annotation for releases to use full semver (#33698) (#33701)
-  * Try to fix ACME path when renew (#33668) (#33693)
-  * Fix mCaptcha bug (#33659) (#33661)
-  * Git graph: don't show detached commits (#33645) (#33650)
-  * Use MatchPhraseQuery for bleve code search (#33628)
-  * Adjust appearence of commit status webhook (#33778) #33789
-  * Upgrade golang net from 0.35.0 -> 0.36.0 (#33795) #33796
-
-## [1.23.4](https://github.com/go-gitea/gitea/releases/tag/v1.23.4) - 2025-02-16
-
-* SECURITY
-  * Enhance routers for the Actions variable operations (#33547) (#33553)
-  * Enhance routers for the Actions runner operations (#33549) (#33555)
-  * Fix project issues list and counting (#33594) #33619
-* PERFORMANCES
-  * Performance optimization for pull request files loading comments attachments (#33585) (#33592)
-* BUGFIXES
-  * Add a transaction to `pickTask` (#33543) (#33563)
-  * Fix mirror bug (#33597) (#33607)
-  * Use default Git timeout when checking repo health (#33593) (#33598)
-  * Fix PR's target branch dropdown (#33589) (#33591)
-  * Fix various problems (artifact order, api empty slice, assignee check, fuzzy prompt, mirror proxy, adopt git) (#33569) (#33577)
-  * Rework suggestion backend (#33538) (#33546)
-  * Fix context usage (#33554) (#33557)
-  * Only show the latest version in the Arch index (#33262) (#33580)
-  * Skip deletion error for action artifacts (#33476) (#33568)
-  * Make actions URL in commit status webhooks absolute (#33620) #33632
-  * Add missing locale (#33641) #33642
-
-## [1.23.3](https://github.com/go-gitea/gitea/releases/tag/v1.23.3) - 2025-02-06
-
-* Security
-  * Build Gitea with Golang v1.23.6 to fix security bugs
-* BUGFIXES
-  * Fix a bug caused by status webhook template #33512
-
-## [1.23.2](https://github.com/go-gitea/gitea/releases/tag/1.23.2) - 2025-02-04
-
-* BREAKING
-  * Add tests for webhook and fix some webhook bugs (#33396) (#33442)
-    * Package webhook’s Organization was incorrectly used as the User struct. This PR fixes the issue.
-    * This changelog is just a hint. The change is not really breaking because most fields are the same, most users are not affected.
-* ENHANCEMENTS
-  * Clone button enhancements (#33362) (#33404)
-  * Repo homepage styling tweaks (#33289) (#33381)
-  * Add a confirm dialog for "sync fork" (#33270) (#33273)
-  * Make tracked time representation display as hours (#33315) (#33334)
-  * Improve sync fork behavior (#33319) (#33332)
-* BUGFIXES
-  * Fix code button alignment (#33345) (#33351)
-  * Correct bot label `vertical-align` (#33477) (#33480)
-  * Fix SSH LFS memory usage (#33455) (#33460)
-  * Fix issue sidebar dropdown keyboard support (#33447) (#33450)
-  * Fix user avatar (#33439)
-  * Fix `GetCommitBranchStart` bug (#33298) (#33421)
-  * Add pubdate for repository rss and add some tests (#33411) (#33416)
-  * Add missed auto merge feed message on dashboard (#33309) (#33405)
-  * Fix issue suggestion bug (#33389) (#33391)
-  * Make issue suggestion work for all editors (#33340) (#33342)
-  * Fix issue count (#33338) (#33341)
-  * Fix Account linking page (#33325) (#33327)
-  * Fix closed dependency title (#33285) (#33287)
-  * Fix sidebar milestone link (#33269) (#33272)
-  * Fix missing license when sync mirror (#33255) (#33258)
-  * Fix upload file form (#33230) (#33233)
-  * Fix mirror bug (#33224) (#33225)
-  * Fix system admin cannot fork or get private fork with API (#33401) (#33417)
-  * Fix push message behavior (#33215) (#33317)
-  * Trivial fixes (#33304) (#33312)
-  * Fix "stop time tracking button" on navbar (#33084) (#33300)
-  * Fix tag route and empty repo (#33253)
-  * Fix cache test triggered by non memory cache (#33220) (#33221)
-  * Revert empty lfs ref name (#33454) (#33457)
-  * Fix flex width (#33414) (#33418)
-  * Fix commit status events (#33320) #33493
-  * Fix unnecessary comment when moving issue on the same project column (#33496) #33499
-  * Add timetzdata build tag to binary releases (#33463) #33503
-* MISC
-  * Use ProtonMail/go-crypto to replace keybase/go-crypto (#33402) (#33410)
-  * Update katex to latest version (#33361)
-  * Update go tool dependencies (#32916) (#33355)
-
-## [1.23.1](https://github.com/go-gitea/gitea/releases/tag/v1.23.1) - 2025-01-09
-
-* ENHANCEMENTS
-  * Move repo size to sidebar (#33155) (#33182)
-* BUGFIXES
-  * Use updated path to s6-svscan after alpine upgrade (#33185) (#33188)
-  * Fix fuzz test (#33156) (#33158)
-  * Fix raw file API ref handling (#33172) (#33189)
-  * Fix ACME panic (#33178) (#33186)
-  * Fix branch dropdown not display ref name (#33159) (#33183)
-  * Fix assignee list overlapping in Issue sidebar (#33176) (#33181)
-  * Fix sync fork for consistency (#33147) #33192
-  * Fix editor markdown not incrementing in a numbered list (#33187) #33193
-
-## [1.23.0](https://github.com/go-gitea/gitea/releases/tag/v1.23.0) - 2025-01-08
-
-* BREAKING
-  * Rename config option `[camo].Allways` to `[camo].Always` (#32097)
-  * Remove SHA1 for support for ssh rsa signing (#31857)
-  * Use UTC as default timezone when schedule Actions cron tasks (#31742)
-  * Delete Actions logs older than 1 year by default (#31735)
-  * Make OIDC introspection authentication strictly require Client ID and secret (#31632)
-
-* SECURITY
-  * Include file extension checks in attachment API (#32151)
-  * Include all security fixes which have been backported to v1.22
-
-* FEATURES
-  * Allow to fork repository into the same owner (#32819)
-  * Support "merge upstream branch" (Sync fork) (#32741)
-  * Add Arch package registry (#32692)
-  * Allow to disable the password-based login (sign-in) form (#32687)
-  * Allow cropping an avatar before setting it (#32565)
-  * Support quote selected comments to reply (#32431)
-  * Add reviewers selection to new pull request (#32403)
-  * Suggestions for issues (#32327)
-  * Add priority to protected branch (#32286)
-  * Included tag search capabilities (#32045)
-  * Add option to filter board cards by labels and assignees (#31999)
-  * Add automatic light/dark option for the colorblind theme (#31997)
-  * Support migration from AWS CodeCommit (#31981)
-  * Introduce globallock as distributed locks (#31908 & #31813)
-  * Support compression for Actions logs & enable by default (#31761 & #32013)
-  * Add pure SSH LFS support (#31516)
-  * Add Passkey login support (#31504)
-  * Actions support workflow dispatch event (#28163)
-  * Support repo license (#24872)
-  * Issue time estimate, meaningful time tracking (#23113)
-  * GitHub like repo home page (#32213 & #32847)
-  * Rearrange Clone Panel (#31142)
-  * Enhancing Gitea OAuth2 Provider with Granular Scopes for Resource Access (#32573)
-  * Use env GITEA_RUNNER_REGISTRATION_TOKEN as global runner token (#32946) #32964
-  * Update i18n.go - Language Picker (#32933) #32935
-
-* PERFORMANCE
-  * Perf: add extra index to notification table (#32395)
-  * Introduce OrgList and add LoadTeams, optimaze Load teams for orgs (#32543)
-  * Improve performance of diffs (#32393)
-  * Make LFS http_client parallel within a batch. (#32369)
-  * Add new index for action to resolve the performance problem (#32333)
-  * Improve get feed with pagination (#31821)
-  * Performance improvements for pull request list API (#30490)
-  * Use batch database operations instead of one by one to optimze api pulls (#32680)
-  * Use gitrepo.GetTreePathLatestCommit to get file lastest commit instead from latest commit cache (#32987) #33046
-
-* ENHANCEMENTS
-  * Code
-    * Remove unnecessary border in repo home page sidebar (#32767)
-    * Add 'Copy path' button to file view (#32584)
-    * Improve diff file tree (#32658)
-    * Add new [lfs_client].BATCH_SIZE and [server].LFS_MAX_BATCH_SIZE config settings. (#32307)
-    * Updated tokenizer to better matching when search for code snippets (#32261)
-    * Change the code search to sort results by relevance (#32134)
-    * Support migrating GitHub/GitLab PR draft status (#32242)
-    * Move lock icon position and add additional tooltips to branch list page (#31839)
-    * Add tag name in the commits list (#31082)
-    * Add `MAX_ROWS` option for CSV rendering (#30268)
-    * Allow code search by filename (#32210)
-    * Make git push options accept short name (#32245)
-    * Repo file list enhancements (#32835)
-
-  * Markdown & Editor
-    * Refactor markdown math render, add dollor-backquote syntax support (#32831)
-    * Make Monaco theme follow browser, fully type codeeditor.ts (#32756)
-    * Refactor markdown editor and use it for milestone description editor (#32688)
-    * Add some handy markdown editor features (#32400)
-    * Improve markdown textarea for indentation and lists (#31406)
-
-  * Issue
-    * Add label/author/assignee filters to the user/org home issue list (#32779)
-    * Refactor issue filter (labels, poster, assignee) (#32771)
-    * Style unification for the issue_management area (#32605)
-    * Add "View all branches/tags" entry to Branch Selector (#32653)
-    * Improve textarea paste (#31948)
-    * Add avif image file support (#32508)
-    * Prevent from submitting issue/comment on uploading (#32263)
-    * Issue Templates: add option to have dropdown printed list (#31577)
-    * Allow searching issues by ID (#31479)
-    * Add `is_archived` option for issue indexer (#32735)
-    * Improve attachment upload methods (#30513)
-    * Support issue template assignees (#31083)
-    * Prevent simultaneous editing of comments and issues (#31053)
-    * Add issue comment when moving issues from one column to another of the project (#29311)
-
-  * Pull Request
-    * Display head branch more comfortable on pull request view (#32000)
-    * Simplify review UI (#31062)
-    * Allow force push to protected branches (#28086)
-    * Add line-through for deleted branch on pull request view page (#32500)
-    * Support requested_reviewers data in comment webhook events (#26178)
-    * Allow maintainers to view and edit files of private repos when "Allow maintainers to edit" is enabled (#32215)
-    * Allow including `Reviewed-on`/`Reviewed-by` lines for custom merge messages (#31211)
-
-  * Actions
-    * Render job title as commit message (#32748)
-    * Refactor RepoActionView.vue, add `::group::` support (#32713)
-    * Make RepoActionView.vue support `##[group]` (#32770)
-    * Support `pull_request_target` event for commit status (#31703)
-    * Detect whether action view branch was deleted (#32764)
-    * Allow users with write permission to run actions (#32644)
-    * Show latest run when visit /run/latest (#31808)
-
-  * Packages
-    * Improve rubygems package registry (#31357)
-    * Add support for npm bundleDependencies (#30751)
-    * Add signature support for the RPM module (#27069)
-    * Extract and display readme and comments for Composer packages (#30927)
-
-  * Project
-    * Add title to project view page (#32747)
-    * Set the columns height to hug all its contents (#31726)
-    * Rename project `board` -> `column` to make the UI less confusing (#30170)
-
-  * User & Organazition
-    * Use better name for userinfo structure (#32544)
-    * Use user.FullName in Oauth2 id_token response (#32542)
-    * Limit org member view of restricted users (#32211)
-    * Allow disabling authentication related user features (#31535)
-    * Add option to change mail from user display name (#31528)
-    * Use FullName in Emails to address the recipient if possible (#31527)
-
-  * Administration
-    * Add support for a credentials chain for minio access (#31051)
-    * Move admin routers from /admin to /-/admin (#32189)
-    * Add cache test for admins (#31265)
-    * Add option for mailer to override mail headers (#27860)
-    * Azure blob storage support (#30995)
-    * Supports forced use of S3 virtual-hosted style (#30969)
-    * Move repository visibility to danger zone in the settings area (#31126)
-
-  * Others
-    * Remove urls from translations (#31950)
-    * Simplify 404/500 page (#31409)
-    * Optimize installation-page experience (#32558)
-    * Refactor login page (#31530)
-    * Add new event commit status creation and webhook implementation (#27151)
-    * Repo Activity: count new issues that were closed (#31776)
-    * Set manual `tabindex`es on login page (#31689)
-    * Add `YEAR`, `MONTH`, `MONTH_ENGLISH`, `DAY` variables for template repos (#31584)
-    * Add typescript guideline and typescript-specific eslint plugins and fix issues (#31521)
-    * Make toast support preventDuplicates (#31501)
-    * Fix tautological conditions (#30735)
-    * Issue change title notifications (#33050) #33065
-
-* API
-  * Implement update branch API (#32433)
-  * Fix missing outputs for jobs with matrix (#32823)
-  * Make API "compare" accept commit IDs (#32801)
-  * Add github compatible tarball download API endpoints (#32572)
-  * Harden runner updateTask and updateLog api (#32462)
-  * Add `DISABLE_ORGANIZATIONS_PAGE` and `DISABLE_CODE_PAGE` settings for explore pages and fix an issue related to user search (#32288)
-  * Make admins adhere to branch protection rules (#32248)
-  * Calculate `PublicOnly` for org membership only once (#32234)
-  * Allow filtering PRs by poster in the ListPullRequests API (#32209)
-  * Return 404 instead of error when commit not exist (#31977)
-  * Save initial signup information for users to aid in spam prevention (#31852)
-  * Fix upload maven pacakge parallelly (#31851)
-  * Fix null requested_reviewer from API (#31773)
-  * Add permission description for API to add repo collaborator (#31744)
-  * Add return type to GetRawFileOrLFS and GetRawFile (#31680)
-  * Add skip secondary authorization option for public oauth2 clients (#31454)
-  * Add tag protection via rest api #17862 (#31295)
-  * Document possible action types for the user activity feed API (#31196)
-  * Add topics for repository API (#31127)
-  * Add support for searching users by email (#30908)
-  * Add API endpoints for getting action jobs status (#26673)
-
-* REFACTOR
-  * Update JS and PY dependencies (#31940)
-  * Enable `no-jquery/no-parse-html-literal` and fix violation (#31684)
-  * Refactor image diff (#31444)
-  * Refactor CSRF token (#32216)
-  * Fix some typescript issues (#32586)
-  * Refactor names (#31405)
-  * Use per package global lock for container uploads instead of memory lock (#31860)
-  * Move team related functions to service layer (#32537)
-  * Move GetFeeds to service layer (#32526)
-  * Resolve lint for unused parameter and unnecessary type arguments (#30750)
-  * Reimplement GetUserOrgsList to make it simple and clear (#32486)
-  * Move some functions from issue.go to standalone files (#32468)
-  * Refactor sidebar assignee&milestone&project selectors (#32465)
-  * Refactor sidebar label selector (#32460)
-  * Fix a number of typescript issues (#32459)
-  * Refactor language menu and dom utils (#32450)
-  * Refactor issue page info (#32445)
-  * Split issue sidebar into small templates (#32444)
-  * Refactor template ctx and render utils (#32422)
-  * Refactor repo legacy (#32404)
-  * Refactor markup package (#32399)
-  * Refactor markup render system (#32533 & #32589 & #32612)
-  * Refactor the DB migration system slightly (#32344)
-  * Remove jQuery import from some files (#32512)
-  * Strict pagination check (#32548)
-  * Split mail sender sub package from mailer service package (#32618)
-  * Remove outdated code about fixture generation (#32708)
-  * Refactor RepoBranchTagSelector (#32681)
-  * Refactor issue list (#32755)
-  * Refactor LabelEdit (#32752)
-  * Split issue/pull view router function as multiple smaller functions (#32749)
-  * Refactor some LDAP code (#32849)
-  * Unify repo search order by logic (#30876)
-  * Remove duplicate empty repo check in delete branch API (#32569)
-  * Replace deprecated `math/rand` functions (#30733)
-  * Remove fomantic dimmer module (#30723)
-  * Add types to fetch,toast,bootstrap,svg (#31627)
-  * Refactor webhook (#31587)
-  * Move AddCollabrator and CreateRepositoryByExample to service layer (#32419)
-  * Refactor RepoRefByType (#32413)
-  * Refactor: remove redundant err declarations (#32381)
-  * Refactor markup code (#31399)
-  * Refactor render system (orgmode) (#32671)
-  * Refactor render system (#32492)
-  * Refactor markdown render (#32736 & #32728)
-  * Refactor repo unit "disabled" check (#31389)
-  * Refactor route path normalization (#31381)
-  * Refactor to use UnsafeStringToBytes (#31358)
-  * Migrate vue components to setup (#32329)
-  * Refactor globallock (#31933)
-  * Use correct function name (#31887)
-  * Use a common message template instead of a special one (#31878)
-  * Fix a number of Typescript issues (#31877)
-  * Refactor dropzone (#31482)
-  * Move custom `tw-` helpers to tailwind plugin (#31184)
-  * Replace `gt-word-break` with `tw-break-anywhere` (#31183)
-  * Drop `IDOrderDesc` for listing Actions task and always order by `id DESC` (#31150)
-  * Split common-global.js into separate files (#31438)
-  * Improve detecting empty files (#31332)
-  * Use `querySelector` over alternative DOM methods (#31280)
-  * Remove jQuery `.text()` (#30506)
-  * Use repo as of renderctx's member rather than a repoPath on metas (#29222)
-  * Refactor some frontend problems (#32646)
-  * Refactor DateUtils and merge TimeSince (#32409)
-  * Replace DateTime with proper functions (#32402)
-  * Replace DateTime with DateUtils (#32383)
-  * Convert frontend code to typescript (#31559)
-  * Refactor maven package registry (#33049) #33057
-  * Refactor testfixtures #33028
-
-* BUGFIXES
-  * Fix issues with inconsistent spacing in areas (#32607)
-  * Fix incomplete Actions status aggregations (#32859)
-  * In some lfs server implementations, they require the ref attribute. (#32838)
-  * Update the list of watchers and stargazers when clicking watch/unwatch or star/unstar (#32570)
-  * Fix `recentupdate` sorting bugs (#32505)
-  * Fix incorrect "Target branch does not exist" in PR title (#32222)
-  * Handle "close" actionable references for manual merges (#31879)
-  * render plain text file if the LFS object doesn't exist (#31812)
-  * Fix Null Pointer error for CommitStatusesHideActionsURL (#31731)
-  * Fix loadRepository error when access user dashboard (#31719)
-  * Hide the "Details" link of commit status when the user cannot access actions (#30156)
-  * Fix duplicate dropdown dividers (#32760)
-  * Fix SSPI button visibility when SSPI is the only enabled method (#32841)
-  * Fix overflow on org header (#32837)
-  * Exclude protected branches from recently pushed (#31748)
-  * Fix large image overflow in comment page (#31740)
-  * Fix milestone deadline and date related problems (#32339)
-  * Fix markdown preview $$ support (#31514)
-  * Fix a compilation error in the Gitpod environment (#32559)
-  * Fix PR diff review form submit (#32596)
-  * Fix a number of typescript issues (#32308)
-  * Fix some function names in comment (#32300)
-  * Fix absolute-date (#32375)
-  * Clarify Actions resources ownership (#31724)
-  * Try to fix ACME directory problem (#33072) #33077
-  * Inherit submodules from template repository content (#16237) #33068
-  * Use project's redirect url instead of composing url (#33058) #33064
-  * Fix toggle commit body button ui when latest commit message is long (#32997) #33034
-  * Fix package error handling and npm meta and empty repo guide #33112
-  * Fix empty git repo handling logic and fix mobile view (#33101) #33102
-  * Fix line-number and scroll bugs (#33094) #33095
-  * Fix bleve fuzziness search (#33078) #33087
-  * Fix broken forms #33082
-  * Fix empty repo updated time (#33120) #33124
-  * Add missing transaction when set merge #33113
-  * Fix issue comment number (#30556) #33055
-  * Fix duplicate co-author in squashed merge commit messages (#33020) #33054
-  * Fix Agit pull request permission check (#32999) #33005
-  * Fix scoped label ui when contains emoji (#33007) #33014
-  * Fix bug on activities (#33008) #33016
-  * Fix review code comment avatar alignment (#33031) #33032
-  * Fix templating in pull request comparison (#33025) #33038
-  * Fix bug automerge cannot be chosed when there is only 1 merge style (#33040) #33043
-  * Fix settings not being loaded at CLI (#26402) #33048
-  * Support for email addresses containing uppercase characters when activating user account (#32998) #33001
-  * Support org labels when adding labels by label names (#32988) #32996
-  * Do not render truncated links in markdown (#32980) #32983
-  * Demilestone should not include milestone (#32923) #32979
-  * Fix Azure blob object Seek (#32974) #32975
-  * Fix maven pom inheritance (#32943) #32976
-  * Fix textarea newline handle (#32966) #32977
-  * Fix outdated tmpl code (#32953) #32961
-  * Fix commit range paging (#32944) #32962
-  * Fix repo avatar conflict (#32958) #32960
-  * Fix trailing comma not matched in the case of alphanumeric issue (#32945)
-  * Relax the version checking for Arch packages (#32908) #32913
-  * Add more load functions to make sure the reference object loaded (#32901) #32912
-  * Filter reviews of one pull request in memory instead of database to reduce slow response because of lacking database index (#33106) #33128
-  * Fix git remote error check, fix dependencies, fix js error (#33129) #33133
-
-* MISC
-  * Optimize branch protection rule loading (#32280)
-  * Bump to go 1.23 (#31855)
-  * Remove unused call to $.HeadRepo in view_title template (#32317)
-  * Do not display `attestation-manifest` and use short sha256 instead of full sha256 (#32851)
-  * Upgrade htmx to 2.0.4 (#32834)
-  * Improve JSX/TSX support in code editor (#32833)
-  * Add User-Agent for gitea's self-implemented lfs client. (#32832)
-  * Use errors.New to replace fmt.Errorf with no parameters (#32800)
-  * Add "n commits" link to contributors in contributors graph page (#32799)
-  * Update dependencies, tweak eslint (#32719)
-  * Remove all "floated" CSS styles (#32691)
-  * Show tag name on branch/tag selector if repo shown from tag ref (#32689)
-  * Use new mail package instead of an unmintained one (#32682)
-  * Optimize the styling of icon buttons within file-header-right (#32675)
-  * Validate OAuth Redirect URIs (#32643)
-  * Support optional/configurable IAMEndpoint for Minio Client (#32581) (#32581)
-  * Make search box in issue sidebar dropdown list always show when scrolling (#32576)
-  * Bump CI,Flake and Snap to Node 22 (#32487)
-  * Update `github.com/meilisearch/meilisearch-go` (#32484)
-  * Add `DEFAULT_MIRROR_REPO_UNITS` and `DEFAULT_TEMPLATE_REPO_UNITS` options (#32416)
-  * Update go dependencies (#32389)
-  * Update JS and PY dependencies (#32388)
-  * Upgrade rollup to 4.24.0 (#32312)
-  * Upgrade vue to 3.5.12 (#32311)
-  * Improve the maintainblity of the reserved username list (#32229)
-  * Upgrade htmx to 2.0.3 (#32192)
-  * Count typescript files as frontend for labeling (#32088)
-  * Only use Host header from reverse proxy (#32060)
-  * Failed authentications are logged to level Warning (#32016)
-  * Enhance USER_DISABLED_FEATURES to allow disabling change username or full name (#31959)
-  * Distinguish official vs non-official reviews, add tool tips, and upgr… (#31924)
-  * Update mermaid to v11 (#31913)
-  * Bump relative-time-element to v4.4.3 (#31910)
-  * Upgrade `htmx` to `2.0.2` (#31847)
-  * Add warning message in merge instructions when `AutodetectManualMerge` was not enabled (#31805)
-  * Add types to various low-level functions (#31781)
-  * Update JS dependencies (#31766)
-  * Remove unused code from models/repos/release.go (#31756)
-  * Support delete user email in admin panel (#31690)
-  * Add `username` to OIDC introspection response (#31688)
-  * Use GetDisplayName() instead of DisplayName() to generate rss feeds (#31687)
-  * Code editor theme enhancements (#31629)
-  * Update JS dependencies (#31616)
-  * Add types for js globals (#31586)
-  * Add back esbuild-loader for .js files (#31585)
-  * Don't show hidden labels when filling out an issue template (#31576)
-  * Allow synchronizing user status from OAuth2 login providers (#31572)
-  * Display app name in the registration email title (#31562)
-  * Use stable version of fabric (#31526)
-  * Support legacy _links LFS batch responses (#31513)
-  * Fix JS error with disabled attachment and easymde (#31511)
-  * Always use HTML attributes for avatar size (#31509)
-  * Use nolyfill to remove some polyfills (#31468)
-  * Disable issue/PR comment button given empty input (#31463)
-  * Add simple JS init performance trace (#31459)
-  * Bump htmx to 2.0.0 (#31413)
-  * Update JS dependencies, remove `eslint-plugin-jquery` (#31402)
-  * Split org Propfile README to a new tab `overview` (#31373)
-  * Update nix flake and add gofumpt (#31320)
-  * Code optimization (#31315)
-  * Enable poetry non-package mode (#31282)
-  * Optimize profile layout to enhance visual experience (#31278)
-  * Update `golang.org/x/net` (#31260)
-  * Bump `@github/relative-time-element` to v4.4.1 (#31232)
-  * Remove unnecessary inline style for tab-size (#31224)
-  * Update golangci-lint to v1.59.0 (#31221)
-  * Update chroma to v2.14.0 (#31177)
-  * Update JS dependencies (#31120)
-  * Improve the handling of `jobs..if` (#31070)
-  * Clean up revive linter config, tweak golangci output (#30980)
-  * Use CSS `inset` shorthand (#30939)
-  * Forbid deprecated `break-word` in CSS (#30934)
-  * Remove obsolete monaco workaround (#30893)
-  * Update JS dependencies, add new eslint rules (#30840)
-  * Fix body margin shifting with modals, fix error on project column edit (#30831)
-  * Remove disk-clean workflow (#30741)
-  * Bump `github.com/google/go-github` to v61 (#30738)
-  * Add built js files to eslint ignore (#30737)
-  * Use `ProtonMail/go-crypto` for `opengpg` in tests (#30736)
-  * Upgrade xorm to v1.3.9 and improve some migrations Sync (#29899)
-  * Added default sorting milestones by name (#27084)
-  * Enable `unparam` linter (#31277)
-  * Use Alpine 3.21 for the docker images (#32924) #32951
-  * Bump x/net (#32896) #32899
-  * Use -s -w ldflags for release artifacts (#33041) #33042
-  * Remove aws go sdk package dependency (#33029) #33047
-
-## [1.22.6](https://github.com/go-gitea/gitea/releases/tag/v1.22.6) - 2024-12-12
-
-* SECURITY
-  * Fix misuse of PublicKeyCallback(#32810)
-* BUGFIXES
-  * Fix lfs migration (#32812) (#32818)
-  * Add missing two sync feed for refs/pull (#32815)
-* TESTING
-  * Avoid MacOS keychain dialog in integration tests (#32813) (#32816)
-
-## [1.22.5](https://github.com/go-gitea/gitea/releases/tag/v1.22.5) - 2024-12-11
-
-* SECURITY
-  * Upgrade crypto library (#32791)
-  * Fix delete branch perm checking (#32654) (#32707)
-* BUGFIXES
-  * Add standard-compliant route to serve outdated R packages (#32783) (#32789)
-  * Fix internal server error when updating labels without write permission (#32776) (#32785)
-  * Add Swift login endpoint (#32693) (#32701)
-  * Fix fork page branch selection (#32711) (#32725)
-  * Fix word overflow in file search page (#32695) (#32699)
-  * Fix gogit `GetRefCommitID` (#32705) (#32712)
-  * Fix race condition in mermaid observer (#32599) (#32673)
-  * Fixe a keystring misuse and refactor duplicates keystrings (#32668) (#32792)
-  * Bump relative-time-element to v4.4.4 (#32739)
-* PERFORMANCE
-  * Make wiki pages visit fast (#32732) (#32745)
-* MISC
-  * Don't create action when syncing mirror pull refs (#32659) (#32664)
-
-## [1.22.4](https://github.com/go-gitea/gitea/releases/tag/v1.22.4) - 2024-11-14
-
-* SECURITY
-  * Fix basic auth with webauthn (#32531) (#32536)
-  * Refactor internal routers (partial backport, auth token const time comparing) (#32473) (#32479)
-* PERFORMANCE
-  * Remove transaction for archive download (#32186) (#32520)
-* BUGFIXES
-  * Fix `missing signature key` error when pulling Docker images with `SERVE_DIRECT` enabled (#32365) (#32397)
-  * Fix get reviewers fails when selecting user without pull request permissions unit (#32415) (#32616)
-  * Fix adding index files to tmp directory (#32360) (#32593)
-  * Fix PR creation on forked repositories via API (#31863) (#32591)
-  * Fix missing menu tabs in organization project view page (#32313) (#32592)
-  * Support HTTP POST requests to `/userinfo`, aligning to OpenID Core specification (#32578) (#32594)
-  * Fix debian package clean up cron job (#32351) (#32590)
-  * Fix GetInactiveUsers (#32540) (#32588)
-  * Allow the actions user to login via the jwt token (#32527) (#32580)
-  * Fix submodule parsing (#32571) (#32577)
-  * Refactor find forks and fix possible bugs that weaken permissions check (#32528) (#32547)
-  * Fix some places that don't respect org full name setting (#32243) (#32550)
-  * Refactor push mirror find and add check for updating push mirror (#32539) (#32549)
-  * Fix basic auth with webauthn (#32531) (#32536)
-  * Fix artifact v4 upload above 8MB (#31664) (#32523)
-  * Fix oauth2 error handle not return immediately (#32514) (#32516)
-  * Fix action not triggered when commit message is too long (#32498) (#32507)
-  * Fix `GetRepoLink` nil pointer dereference on dashboard feed page when repo is deleted with actions enabled (#32501) (#32502)
-  * Fix `missing signature key` error when pulling Docker images with `SERVE_DIRECT` enabled (#32397) (#32397)
-  * Fix the permission check for user search API and limit the number of returned users for `/user/search` (#32310)
-  * Fix SearchIssues swagger docs (#32208) (#32298)
-  * Fix dropdown content overflow (#31610) (#32250)
-  * Disable Oauth check if oauth disabled (#32368) (#32480)
-  * Respect renamed dependencies of Cargo registry (#32430) (#32478)
-  * Fix mermaid diagram height when initially hidden (#32457) (#32464)
-  * Fix broken releases when re-pushing tags (#32435) (#32449)
-  * Only provide the commit summary for Discord webhook push events (#32432) (#32447)
-  * Only query team tables if repository is under org when getting assignees (#32414) (#32426)
-  * Fix created_unix for mirroring (#32342) (#32406)
-  * Respect UI.ExploreDefaultSort setting again (#32357) (#32385)
-  * Fix broken image when editing comment with non-image attachments (#32319) (#32345)
-  * Fix disable 2fa bug (#32320) (#32330)
-  * Always update expiration time when creating an artifact (#32281) (#32285)
-  * Fix null errors on conversation holder (#32258) (#32266) (#32282)
-  * Only rename a user when they should receive a different name (#32247) (#32249)
-  * Fix checkbox bug on private/archive filter (#32236) (#32240)
-  * Add a doctor check to disable the "Actions" unit for mirrors (#32424) (#32497)
-  * Quick fix milestone deadline 9999 (#32423)
-  * Make `show stats` work when only one file changed (#32244) (#32268)
-  * Make `owner/repo/pulls` handlers use "PR reader" permission (#32254) (#32265)
-  * Update scheduled tasks even if changes are pushed by "ActionsUser" (#32246) (#32252)
-* MISC
-  * Remove unnecessary code: `GetPushMirrorsByRepoID` called on all repo pages (#32560) (#32567)
-  * Improve some sanitizer rules (#32534)
-  * Update nix development environment vor v1.22.x (#32495)
-  * Add warn log when deleting inactive users (#32318) (#32321)
-  * Update github.com/go-enry/go-enry to v2.9.1 (#32295) (#32296)
-  * Warn users when they try to use a non-root-url to sign in/up (#32272) (#32273)
-
-## [1.22.3](https://github.com/go-gitea/gitea/releases/tag/v1.22.3) - 2024-10-08
-
-* SECURITY
-  * Fix bug when a token is given public only (#32204) (#32218)
-* PERFORMANCE
-  * Increase `cacheContextLifetime` to reduce false reports (#32011) (#32023)
-  * Don't join repository when loading action table data (#32127) (#32143)
-* BUGFIXES
-  * Fix javascript error when an anonymous user visits migration page (#32144) (#32179)
-  * Don't init signing keys if oauth2 provider is disabled (#32177)
-  * Fix wrong status of `Set up Job` when first step is skipped (#32120) (#32125)
-  * Fix bug when deleting a migrated branch (#32075) (#32123)
-  * Truncate commit message during Discord webhook push events (#31970) (#32121)
-  * Allow to set branch protection in an empty repository (#32095) (#32119)
-  * Fix panic when cloning with wrong ssh format. (#32076) (#32118)
-  * Fix rename branch permission bug (#32066) (#32108)
-  * Fix: database not update release when using `git push --tags --force` (#32040) (#32074)
-  * Add missing comment reply handling (#32050) (#32065)
-  * Do not escape relative path in RPM primary index (#32038) (#32054)
-  * Fix `/repos/{owner}/{repo}/pulls/{index}/files` endpoint not populating `previous_filename` (#32017) (#32028)
-  * Support allowed hosts for migrations to work with proxy (#32025) (#32026)
-  * Fix the logic of finding the latest pull review commit ID (#32139) (#32165)
-  * Fix bug in getting merged pull request by commit (#32079) (#32117)
-  * Fix wrong last modify time (#32102) (#32104)
-  * Fix incorrect `/tokens` api (#32085) (#32092)
-  * Handle invalid target when creating releases using API (#31841) (#32043)
-  * Check if the `due_date` is nil when editing issues (#32035) (#32042)
-  * Fix container parallel upload bugs (#32022)
-  * Fixed race condition when deleting documents by repoId in ElasticSearch (#32185) (#32188)
-  * Refactor CSRF protector (#32057) (#32069)
-  * Fix Bug in Issue/pulls list (#32081) (#32115)
-  * Include collaboration repositories on dashboard source/forks/mirrors list (#31946) (#32122)
-  * Add null check for responseData.invalidTopics (#32212) (#32217)
-* TESTING
-  * Fix mssql ci with a new mssql version on ci (#32094)
-* MISC
-  * Upgrade some dependencies include minio-go (#32166)
-  * Add bin to Composer Metadata (#32099) (#32106)
-  * Lazy load avatar images (#32051) (#32063)
-  * Upgrade cache to v0.2.1 (#32003) (#32009)
-
-## [1.22.2](https://github.com/go-gitea/gitea/releases/tag/v1.22.2) - 2024-08-28
-
-* Security
-  * Replace v-html with v-text in search inputbox (#31966) (#31973)
-  * Fix nuget/conan/container packages upload bugs (#31967) (#31982)
-* PERFORMANCE
-  * Refactor the usage of batch catfile (#31754) (#31889)
-* BUGFIXES
-  * Fix overflowing content in action run log (#31842) (#31853)
-  * Scroll images in project issues separately from the remaining issue (#31683) (#31823)
-  * Add `:focus-visible` style to buttons (#31799) (#31819)
-  * Fix the display of project type for deleted projects (#31732) (#31734)
-  * Fix API owner ID should be zero when created repo secret (#31715) (#31811)
-  * Set owner id to zero when GetRegistrationToken for repo (#31725) (#31729)
-  * Fix API endpoint for registration-token (#31722) (#31728)
-  * Add permission check when creating PR (#31033) (#31720)
-  * Don't return 500 if mirror url contains special chars (#31859) (#31895)
-  * Fix agit automerge (#31207) (#31881)
-  * Add CfTurnstileSitekey context data to all captcha templates (#31874) (#31876)
-  * Avoid returning without written ctx when posting PR (#31843) (#31848)
-  * Fix raw wiki links (#31825) (#31845)
-  * Fix panic of ssh public key page after deletion of auth source (#31829) (#31836)
-  * Fixes for unreachable project issues when transfer repository from organization (#31770) (#31828)
-  * Show lock owner instead of repo owner on LFS setting page (#31788) (#31817)
-  * Fix `IsObjectExist` with gogit (#31790) (#31806)
-  * Fix protected branch files detection on pre_receive hook (#31778) (#31796)
-  * Add `TAGS` to `TEST_TAGS` and fix bugs found with gogit (#31791) (#31795)
-  * Rename head branch of pull requests when renaming a branch (#31759) (#31774)
-  * Fix wiki revision pagination (#31760) (#31772)
-  * Bump vue-bar-graph (#31705) (#31753)
-  * Distinguish LFS object errors to ignore missing objects during migration (#31702) (#31745)
-  * Make GetRepositoryByName more safer (#31712) (#31718)
-  * Fix a branch divergence cache bug (#31659) (#31661)
-  * Allow org team names of length 255 in create team form (#31564) (#31603)
-  * Use old behavior for telegram webhook (#31588)
-  * Bug fix for translation in ru (#31892)
-  * Fix actions notify bug (#31866) (#31875)
-  * Fix the component of access token list not mounted (#31824) (#31868)
-  * Add missing repository type filter parameters to pager  (#31832) (#31837)
-  * Fix dates displaying in a wrong manner when we're close to the end of… (#31750)
-  * Fix "Filter by commit" Dropdown (#31695) (#31696)
-  * Properly filter issue list given no assignees filter (#31522) (#31685)
-  * Prevent update pull refs manually and will not affect other refs update (#31931)(#31955)
-  * Fix sort order for organization home and user profile page (#31921) (#31922)
-  * Fix search team (#31923) (#31942)
-  * Fix 500 error when state params is set when editing issue/PR by API (#31880) (#31952)
-  * Fix index too many file names bug (#31903) (#31953)
-  * Add lock for parallel maven upload (#31851) (#31954)
-* MISC
-  * Remove "dsa-1024" testcases from Test_SSHParsePublicKey and Test_calcFingerprint (#31905) (#31914)
-  * Upgrade bleve to 2.4.2 (#31894)
-  * Remove unneccessary uses of `word-break: break-all` (#31637) (#31652)
-  * Return an empty string when a repo has no avatar in the repo API (#31187) (#31567)
-  * Upgrade micromatch to 4.0.8 (#31944)
-  * Update webpack to 5.94.0 (#31941)
-
-## [1.22.1](https://github.com/go-gitea/gitea/releases/tag/v1.22.1) - 2024-07-04
-
-* SECURITY
-  * Add replacement module for `mholt/archiver` (#31267) (#31270)
-* API
-  * Fix missing images in editor preview due to wrong links (#31299) (#31393)
-  * Fix duplicate sub-path for avatars (#31365) (#31368)
-  * Reduce memory usage for chunked artifact uploads to MinIO (#31325) (#31338)
-  * Remove sub-path from container registry realm (#31293) (#31300)
-  * Fix NuGet Package API for $filter with Id equality (#31188) (#31242)
-  * Add an immutable tarball link to archive download headers for Nix (#31139) (#31145)
-  * Add missed return after `ctx.ServerError` (#31130) (#31133)
-* BUGFIXES
-  * Fix avatar radius problem on the new issue page (#31506) (#31508)
-  * Fix overflow menu flickering on mobile (#31484) (#31488)
-  * Fix poor table column width due to breaking words (#31473) (#31477)
-  * Support relative paths to videos from Wiki pages (#31061) (#31453)
-  * Fix new issue/pr avatar (#31419) (#31424)
-  * Increase max length of org team names from 30 to 255 characters (#31410) (#31421)
-  * Fix line number width in code preview (#31307) (#31316)
-  * Optimize runner-tags layout to enhance visual experience (#31258) (#31263)
-  * Fix overflow on push notification (#31179) (#31238)
-  * Fix overflow on notifications (#31178) (#31237)
-  * Fix overflow in issue card (#31203) (#31225)
-  * Split sanitizer functions and fine-tune some tests (#31192) (#31200)
-  * use correct l10n string (#31487) (#31490)
-  * Fix dropzone JS error when attachment is disabled (#31486)
-  * Fix web notification icon not updated once you read all notifications (#31447) (#31466)
-  * Switch to "Write" tab when edit comment again (#31445) (#31461)
-  * Fix the link for .git-blame-ignore-revs bypass (#31432) (#31442)
-  * Fix the wrong line number in the diff view page when expanded twice. (#31431) (#31440)
-  * Fix labels and projects menu overflow on issue page (#31435) (#31439)
-  * Fix Account Linking UpdateMigrationsByType  (#31428) (#31434)
-  * Fix markdown math brackets render problem (#31420) (#31430)
-  * Fix rendered wiki page link (#31398) (#31407)
-  * Fix natural sort (#31384) (#31394)
-  * Allow downloading attachments of draft releases (#31369) (#31380)
-  * Fix repo graph JS (#31377)
-  * Fix incorrect localization `explorer.go` (#31348) (#31350)
-  * Fix hash render end with colon (#31319) (#31346)
-  * Fix line number widths (#31341) (#31343)
-  * Fix navbar `+` menu flashing on page load (#31281) (#31342)
-  * Fix adopt repository has empty object name in database (#31333) (#31335)
-  * Delete legacy cookie before setting new cookie (#31306) (#31317)
-  * Fix some URLs whose sub-path is missing (#31289) (#31292)
-  * Fix admin oauth2 custom URL settings (#31246) (#31247)
-  * Make pasted "img" tag has the same behavior as markdown image (#31235) (#31243)
-  * Fix agit checkout command line hint & fix ShowMergeInstructions checking (#31219) (#31222)
-  * Fix the possible migration failure on 286 with postgres 16 (#31209) (#31218)
-  * Fix branch order (#31174) (#31193)
-  * Fix markup preview (#31158) (#31166)
-  * Fix push multiple branches error with tests (#31151) (#31153)
-  * Fix API repository object format missed (#31118) (#31132)
-  * Fix missing memcache import (#31105) (#31109)
-  * Upgrade `github.com/hashicorp/go-retryablehttp` (#31499)
-  * Fix double border in system status table (#31363) (#31401)
-  * Fix bug filtering issues which have no project (#31337) (#31367)
-  * Fix #31185 try fix lfs download from bitbucket failed (#31201) (#31329)
-  * Add nix flake for dev shell (#30967) (#31310)
-  * Fix and clean up `ConfirmModal` (#31283) (#31291)
-  * Optimize repo-list layout to enhance visual experience (#31272) (#31276)
-  * fixed the dropdown menu for the top New button to expand to the left (#31273) (#31275)
-  * Fix Activity Page Contributors dropdown (#31264) (#31269)
-  * fix: allow actions artifacts storage migration to complete succesfully (#31251) (#31257)
-  * Make blockquote attention recognize more syntaxes (#31240) (#31250)
-  * Remove .segment from .project-column (#31204) (#31239)
-  * Ignore FindRecentlyPushedNewBranches err (#31164) (#31171)
-  * Use vertical layout for multiple code expander buttons (#31122) (#31152)
-  * Remove duplicate `ProxyPreserveHost` in Apache httpd doc (#31143) (#31147)
-  * Improve mobile review ui (#31091) (#31136)
-  * Fix DashboardRepoList margin (#31121) (#31128)
-  * Update pip related commands for docker (#31106) (#31111)
-
-## [1.22.0](https://github.com/go-gitea/gitea/releases/tag/v1.22.0) - 2024-05-27
-
-This release stands as a monumental milestone in our development journey with a record-breaking incorporation of [1528](https://github.com/go-gitea/gitea/pulls?q=is%3Apr+milestone%3A1.22.0+is%3Amerged) pull requests. It marks the most extensive update in Gitea's history, showcasing a plethora of new features and infrastructure improvements.
-
-Noteworthy advancements in this release include the introduction of `HTMX` and `Tailwind`, signaling a strategic shift as we gradually phase out `jquery` and `Fomantic UI`. These changes reflect our commitment to embracing modern technologies and enhancing the user experience.
-
-Key highlights of this release encompass significant changes categorized under `BREAKING`, `FEATURES`, `ENHANCEMENTS`, and `PERFORMANCE`, each contributing to a more robust and efficient Gitea platform.
-
-* BREAKING
-  * Improve reverse proxy documents and clarify the AppURL guessing behavior (#31003) (#31020)
-  * Remember log in for a month by default (#30150)
-  * Breaking summary for template refactoring (#29395)
-    * All custom templates need to follow these changes
-  * Recommend/convert to use case-sensitive collation for MySQL/MSSQL (#28662)
-  * Make offline mode as default to not connect external avatar service by default (#28548)
-  * Include public repos in the doer's dashboard for issue search (#28304)
-  * Use restricted sanitizer for repository description (#28141)
-  * Support storage base path as prefix (#27827)
-  * Enhanced auth token / remember me (#27606)
-  * Rename the default themes to `gitea-light`, `gitea-dark`, `gitea-auto` (#27419)
-    * If you didn't see the new themes, please remove the `[ui].THEMES` config option from `app.ini`
-  * Require MySQL 8.0, PostgreSQL 12, MSSQL 2012 (#27337)
-* FEATURES
-  * Allow everyone to read or write a wiki by a repo unit setting (#30495)
-  * Use raw Wiki links for non-renderable Wiki files (#30273)
-  * Render embedded code preview by permalink in markdown (#30234) (#30249)
-  * Support repo code search without setting up an indexer (#29998)
-  * Support pasting URLs over markdown text (#29566)
-  * Allow to change primary email before account activation (#29412)
-  * Customizable "Open with" applications for repository clone (#29320)
-  * Allow options to disable user deletion from the interface on app.ini (#29275)
-  * Extend issue template YAML engine (#29274)
-  * Add support for `linguist-detectable` and `linguist-documentation` (#29267)
-  * Implement code frequency graph (#29191)
-  * Show commit status for releases (#29149)
-  * Add user blocking (#29028)
-  * Actions Artifacts v4 backend (#28965)
-  * Add merge style `fast-forward-only` (#28954)
-  * Retarget depending pulls when the parent branch is deleted (#28686)
-  * Add global setting on how timestamps should be rendered (#28657)
-  * Implement actions badge SVGs (#28102)
-  * Add skip ci functionality (#28075)
-  * Show latest commit for file (#28067)
-  * Allow to sync tags from the admin dashboard (#28045)
-  * Add Profile Readme for Organisations (#27955)
-  * Implement contributors graph (#27882)
-  * Artifact deletion in actions ui (#27172)
-  * Add API routes to get runner registration token (#27144)
-  * Add support for forking single branch (#25821)
-  * Add support for sha256 repositories (#23894)
-  * Add admin API route for managing user's badges (#23106)
-* ENHANCEMENTS
-  * Make gitea webhooks openproject compatible (#28435) (#31081)
-  * Support using label names when changing issue labels (#30943) (#30958)
-  * Fix various problems around project board view (#30696) (#30902)
-  * Improve context popup rendering (#30824) (#30829)
-  * Allow to save empty comment (#30706)
-  * Prevent allow/reject reviews on merged/closed PRs (#30686)
-  * Initial support for colorblindness-friendly themes (#30625)
-  * Some NuGet package enhancements (#30280) (#30324)
-  * Markup color and font size fixes (#30282) (#30310)
-  * Show 12 lines in markup code preview (#30255) (#30257)
-  * Add `[other].SHOW_FOOTER_POWERED_BY` setting to hide `Powered by` (#30253)
-  * Pulse page improvements (#30149)
-  * Render code tags in commit messages (#30146)
-  * Prevent re-review and dismiss review actions on closed and merged PRs (#30065)
-  * Cancel previous runs of the same PR automatically (#29961)
-  * Drag-and-drop improvements for projects and issue pins (#29875)
-  * Add default board to new projects, remove uncategorized pseudo-board (#29874)
-  * Prevent layout shift in `` items (#29831)
-  * Add skip ci support for pull request title (#29774)
-  * Add more stats tables (#29730)
-  * Update API to return 'source_id' for users (#29718)
-  * Determine fuzziness of bleve indexer by keyword length (#29706)
-  * Expose fuzzy search for issues/pulls (#29701)
-  * Put an edit file button on pull request files to allow a quick operation (#29697)
-  * Fix action runner offline label padding (#29691)
-  * Update allowed attachment types (#29688)
-  * Completely style the webkit autofill (#29683)
-  * Highlight archived labels (#29680)
-  * Add a warning for disallowed email domains (#29658)
-  * Set user's 24h preference from their current OS locale (#29651)
-  * Add setting to disable user features when user login type is not plain (#29615)
-  * Improve natural sort (#29611)
-  * Make wiki default branch name changeable (#29603)
-  * Unify search boxes (#29530)
-  * Add support for API blob upload of release attachments (#29507)
-  * Detect broken git hooks (#29494)
-  * Sync branches to DB immediately when handling git hook calling (#29493)
-  * Allow options to disable user GPG key configuration from the interface on app.ini (#29486)
-  * Allow options to disable user SSH key configuration from the interface on app.ini (#29447)
-  * Use relative links for commits, mentions, and issues in markdown (#29427)
-  * Add ``, rename webcomponents (#29400)
-  * Include resource state events in Gitlab downloads (#29382)
-  * Properly migrate target branch change GitLab comment (#29340)
-  * Recolor dark theme to blue shade (#29283)
-  * Partially enable MSSQL case-sensitive collation support (#29238)
-  * Auto-update the system status in the admin dashboard (#29163)
-  * Integrate alpine `noarch` packages into other architectures index (#29137)
-  * Document how the TOC election process works (#29135)
-  * Tweak repo header (#29134)
-  * Make blockquote border size less aggressive (#29124)
-  * Downscale pasted PNG images based on metadata (#29123)
-  * Show `View at this point in history` for every commit (#29122)
-  * Add support for action artifact serve direct (#29120)
-  * Change webhook-type in create-view (#29114)
-  * Drop "@" from the email sender to avoid spam filters (#29109)
-  * Allow non-admin users to delete review requests (#29057)
-  * Improve user search display name (#29002)
-  * Include username in email headers (#28981)
-  * Show whether a PR is WIP inside popups (#28975)
-  * Also match weakly validated ETags (#28957)
-  * Support nuspec manifest download for Nuget packages (#28921)
-  * Fix hardcoded GitHub icon used as migrated release avatar (#28910)
-  * Propagate install_if and provider_priority to APKINDEX (#28899)
-  * Add artifacts v4 JWT to job message and accept it (#28885)
-  * Enable/disable owner and repo projects independently (#28805)
-  * Add non-JS fallback for reaction tooltips (#28785)
-  * Add the ability to see open and closed issues at the same time (#28757)
-  * Move sign-in labels to be above inputs (#28753)
-  * Display the latest sync time for pull mirrors on the repo page (#28712)
-  * Show in Web UI if the file is vendored and generated (#28620)
-  * Add orphaned topic consistency check (#28507)
-  * Add branch protection setting for ignoring stale approvals (#28498)
-  * Add option to set language in admin user view (#28449)
-  * Fix incorrect run order of action jobs (#28367)
-  * Add missing exclusive in advanced label options (#28322)
-  * Added instance-level variables (#28115)
-  * Add edit option for README.md (#28071)
-  * Fix link to `Code` tab on wiki commits (#28041)
-  * Allow to set explore page default sort (#27951)
-  * Improve PR diff view on mobile (#27883)
-  * Properly migrate automatic merge GitLab comments (#27873)
-  * Display issue task list on project cards (#27865)
-  * Add Index to pull_auto_merge.doer_id (#27811)
-  * Fix display member unit in the menu bar if there are no hidden members in public org (#27795)
-  * List all Debian package versions in `Packages` (#27786)
-  * Allow pull requests Manually Merged option to be used by non-admins (#27780)
-  * Only show diff file tree when more than one file changed (#27775)
-  * Show placeholder email in privacy popup (#27770)
-  * Revamp repo header (#27760)
-  * Add `must-change-password` command line parameter (#27626)
-  * Unify password changing and invalidate auth tokens (#27625)
-  * Add border to file tree 'sub-items' and add padding to 'item-file' (#27593)
-  * Add slow SQL query warning (#27545)
-  * Pre-register OAuth application for tea (#27509)
-  * Differentiate between `push` and `pull` `mirror sync in progress` (#27390)
-  * Link to file from its history (#27354)
-  * Add a shortcut to user's profile page to admin user details (#27299)
-  * Doctor: delete action entries without existing user (#27292)
-  * Show total TrackedTime on issue/pull/milestone lists (#26672)
-  * Don't show the new pull request button when the page is not compare pull (#26431)
-  * Add `Hide/Show all checks` button to commit status check (#26284)
-  * Improvements of releases list and tags list (#25859)
-* PERFORMANCE
-  * Fix package list performance (#30520) (#30616)
-  * Add commit status summary table to reduce query from commit status table (#30223)
-  * Refactor markup/csv: don't read all to memory (#29760)
-  * Lazy load object format with command line and don't do it in OpenRepository (#29712)
-  * Add cache for branch divergence on branch list page (#29577)
-  * Do some performance optimization for issues list and view issue/pull (#29515)
-  * Cache repository default branch commit status to reduce query on commit status table (#29444)
-  * Use `crypto/sha256` (#29386)
-  * Some performance optimization on the dashboard and issues page (#29010)
-  * Add combined index for issue_user.uid and issue_id (#28080)
-
-## [1.21.11](https://github.com/go-gitea/gitea/releases/tag/v1.21.11) - 2024-04-07
-
-* SECURITY
-  * Use go1.21.9 to include Golang security fix
-  * Fix possible renderer security problem (#30136) (#30315)
-  * Performance optimization for git push and check permissions for push options (#30104) (#30354)
-* BUGFIXES
-  * Fix close file in the Upload func (#30262) (#30269)
-  * Fix inline math blocks can't be preceeded/followed by alphanumerical characters (#30175) (#30250)
-  * Fix missing 0 prefix of GPG key id (#30245) (#30247)
-  * Include encoding in signature payload (#30174) (#30181)
-  * Move from `max( id )` to `max( index )` for latest commit statuses (#30076) (#30155)
-  * Load attachments for code comments (#30124) (#30126)
-  * Fix gitea doctor will remove repo-avatar files when executing command storage-archives (#30094) (#30120)
-  * Fix possible data race on tests (#30093) (#30108)
-  * Fix duplicate migrated milestones (#30102) (#30105)
-  * Fix panic for fixBrokenRepoUnits16961 (#30068) (#30100)
-  * Fix incorrect SVGs (#30086) (#30087)
-  * Fix create commit status (#30225) (#30340)
-  * Fix misuse of unsupported global variables (#30402)
-  * Fix to delete the cookie when AppSubURL is non-empty (#30375) (#30468)
-  * Avoid user does not exist error when detecting schedule actions when the commit author is an external user (#30357) (#30408)
-  * Change the default maxPerPage for gitbucket (#30392) (#30471)
-  * Check the token's owner and repository when registering a runner (#30406) (#30412)
-  * Avoid losing token when updating mirror settings (#30429) (#30466)
-  * Fix commit status cache which missed target_url (#30426) (#30445)
-  * Fix rename branch 500 when the target branch is deleted but exist in database (#30430) (#30437)
-  * Fix mirror error when mirror repo is empty (#30432) (#30467)
-  * Use db.ListOptions directly instead of Paginator interface to make it easier to use and fix performance of /pulls and /issues (#29990) (#30447)
-  * Fix code owners will not be mentioned when a pull request comes from a forked repository (#30476) (#30497)
-* DOCS
-  * Update actions variables documents (#30394) (#30405)
-* MISC
-  * Update katex to 0.16.10 (#30089)
-  * Upgrade go-sqlite to v1.14.22 (#30462)
-
-## [1.21.10](https://github.com/go-gitea/gitea/releases/tag/v1.21.10) - 2024-03-25
-
-* BUGFIXES
-  * Fix Add/Remove WIP on pull request title failure (#29999) (#30066)
-  * Fix misuse of `TxContext` (#30061) (#30062)
-  * Respect DEFAULT_ORG_MEMBER_VISIBLE setting when adding creator to org (#30013) (#30035)
-  * Escape paths for find file correctly (#30026) (#30031)
-  * Remove duplicate option in admin screen and now-unused translation keys (#28492) (#30024)
-  * Fix manual merge form and 404 page templates (#30000)
-
-## [1.21.9](https://github.com/go-gitea/gitea/releases/tag/v1.21.9) - 2024-03-21
-
-* PERFORMANCE
-  * Only do counting when count_only=true for repo dashboard (#29884) (#29905)
-  * Add cache for dashboard commit status (#29932)
-* ENHANCEMENT
-  * Make runs-on support variable expression (#29468) (#29782)
-  * Show Actions post step when it's running (#29926) (#29928)
-* BUGFIXES
-  * Fix PR creation via API between branches of the same repo with head field namespaced (#26986) (#29857)
-  * Fix and rewrite markup anchor processing (#29931) (#29946)
-  * Notify reviewers added via CODEOWNERS (#29842) (#29902)
-  * Fix template error when comment review doesn't exist (#29888) (#29889)
-  * Fix user id column case (#29863) (#29867)
-  * Make meilisearch do exact search for issues (#29740 & #29671) (#29846)
-  * Fix the `for` attribute not pointing to the ID of the color picker (#29813) (#29815)
-  * Fix codeowner detected diff base branch to mergebase (#29783) (#29807)
-  * Fix Safari spinner rendering (#29801) (#29802)
-  * Fix missing translation on milestones (#29785) (#29789)
-  * Fix user router possible panic (#29751) (#29786)
-  * Fix possible NPE in ToPullReviewList (#29759) (#29775)
-  * Fix the wrong default value of ENABLE_OPENID_SIGNIN on docs (#29925) (#29927)
-  * Solving the issue of UI disruption when the review is deleted without refreshing (#29951) (#29968)
-  * Fix loadOneBranch panic (#29938) (#29939)
-  * Fix invalid link of the commit status when ref is tagged (#29752) (#29908)
-  * Editor error message misleading due to re-used key. (#29859) (#29876)
-  * Fix double border and border-radius on empty action steps (#29845) (#29850)
-  * Use `Temporal.PlainDate` for absolute dates (#29804) (#29808)
-  * Fix incorrect package link method calls in templates (#29580) (#29764)
-  * Fix the bug that the user may log out if GetUserByID returns unknown error (#29962) (#29964)
-  * Performance improvements for pull request list page (#29900) (#29972)
-  * Fix bugs in rerunning jobs (#29983) (#29955)
-
-## [1.21.8](https://github.com/go-gitea/gitea/releases/tag/v1.21.8) - 2024-03-12
-
-* SECURITY
-  * Only use supported sort orders for "/explore/users" page (#29430) (#29443)
-* ENHANCEMENTS
-  * Fix wrong line number in code search result (#29260) (#29623)
-* BUGFIXES
-  * Use Get but not Post to get actions artifacts (#29734) (#29737)
-  * Fix inconsistent rendering of block mathematical expressions (#29677) (#29711)
-  * Fix rendering internal file links in org (#29669) (#29705)
-  * Don't show AbortErrors on logout (#29639) (#29667)
-  * Fix user-defined markup links targets (#29305) (#29666)
-  * Fix incorrect rendering csv file when file size is larger than UI.CSV.MaxFileSize (#29653) (#29663)
-  * Fix hidden test's failure (#29254) (#29662)
-  * Add empty repo check-in DetectAndHandleSchedules (#29606) (#29659)
-  * Fix 500 when deleting an account with an incorrect password or unsupported login type (#29579) (#29656)
-  * Use strict protocol check when redirect (#29642) (#29644)
-  * Avoid issue info panic (#29625) (#29632)
-  * Avoid unexpected panic in graceful manager (#29629) (#29630)
-  * Make "/user/login" page redirect if the current user has signed in (#29583) (#29599)
-  * Fix workflow trigger event IssueChangeXXX bug (#29559) (#29565)
-  * Fix incorrect cookie path for AppSubURL (#29534) (#29552)
-  * Fix queue worker incorrectly stopped when there are still more items in the queue (#29532) (#29546)
-  * Fix incorrect redirection when creating a PR fails (#29537) (#29543)
-  * Fix incorrect subpath in links (#29535) (#29541)
-  * Fix issue link does not support quotes (#29484) (#29487) (#29536)
-  * Fix issue & comment history bugs (#29525) (#29527)
-  * Set pre-step status to `skipped` if the job is skipped (#29489) (#29523)
-  * Fix/Improve `processWindowErrorEvent` (#29407) (#29480)
-  * Fix counter display number incorrectly displayed on the page (#29448) (#29478)
-  * Fix workflow trigger event bugs (#29467) (#29475)
-  * Fix URL calculation in the clone input box (#29470) (#29473)
-  * The job should always run when `if` is `always()` (#29464) (#29469)
-  * Fix template bug (#27581) (#29446)
-  * Not trigger all jobs anymore when re-running the first job (#29439) (#29441)
-  * Ignore empty repo for CreateRepository in action notifier (#29416) (#29424)
-  * Fix incorrect tree path value for patch editor (#29377) (#29421)
-  * Add missing database transaction for new issues (#29490) (#29607)
-  * Fix 500 when pushing release to an empty repo (#29554) (#29564)
-  * Fix incorrect relative/absolute URL usages (#29531) (#29547)
-  * Fix wrong test usage of `AppSubURL` (#29459) (#29488)
-  * Fix missed return (#29450) (#29453)
-  * Fixing the issue when status checks per rule matches multiple actions (#29631) (#29655)
-  * Improve contrast on blame timestamp, fix double border (#29482) (#29485)
-
-## [1.21.7](https://github.com/go-gitea/gitea/releases/tag/v1.21.7) - 2024-02-26
-
-* ENHANCEMENTS
-  * Users with `read` permission of pull requests can be assigned too (#27263) (#29372)
-* BUGFIXES
-  * Do not double close reader (#29354) (#29370)
-  * Display friendly error message (#29105) (#29363)
-  * Fix project counter in organization/individual profile (#28068) (#29361)
-  * Fix validity of the FROM email address not being checked (#29347) (#29360)
-  * Fix tarball/zipball download bug (#29342) (#29352)
-* DOCS
-  * Docker Tag Information in Docs (#29047) (#29362)
-* MISC
-  * Enforce maxlength in frontend (#29389) (#29396)
-
-## [1.21.6](https://github.com/go-gitea/gitea/releases/tag/v1.21.6) - 2024-02-22
-
-* SECURITY
-  * Fix XSS vulnerabilities (#29336)
-  * Use general token signing secret (#29205) (#29325)
-* ENHANCEMENTS
-  * Refactor git version functions and check compatibility (#29155) (#29157)
-  * Improve user experience for outdated comments (#29050) (#29086)
-  * Hide code links on release page if user cannot read code (#29064) (#29066)
-  * Wrap contained tags and branches again (#29021) (#29026)
-  * Fix incorrect button CSS usages (#29015) (#29023)
-  * Strip trailing newline in markdown code copy (#29019) (#29022)
-  * Implement some action notifier functions (#29173) (#29308)
-  * Load outdated comments when (un)resolving conversation on PR timeline (#29203) (#29221)
-* BUGFIXES
-  * Refactor issue template parsing and fix API endpoint (#29069) (#29140)
-  * Fix swift packages not resolving (#29095) (#29102)
-  * Remove SSH workaround (#27893) (#29332)
-  * Only log error when tag sync fails (#29295) (#29327)
-  * Fix SSPI user creation (#28948) (#29323)
-  * Improve the `issue_comment` workflow trigger event (#29277) (#29322)
-  * Discard unread data of `git cat-file` (#29297) (#29310)
-  * Fix error display when merging PRs (#29288) (#29309)
-  * Prevent double use of `git cat-file` session. (#29298) (#29301)
-  * Fix missing link on outgoing new release notifications (#29079) (#29300)
-  * Fix debian InRelease Acquire-By-Hash newline (#29204) (#29299)
-  * Always write proc-receive hook for all git versions (#29287) (#29291)
-  * Do not show delete button when time tracker is disabled (#29257) (#29279)
-  * Workaround to clean up old reviews on creating a new one (#28554) (#29264)
-  * Fix bug when the linked account was disactived and list the linked accounts (#29263)
-  * Do not use lower tag names to find releases/tags (#29261) (#29262)
-  * Fix missed edit issues event for actions (#29237) (#29251)
-  * Only delete scheduled workflows when needed (#29091) (#29235)
-  * Make submit event code work with both jQuery event and native event (#29223) (#29234)
-  * Fix push to create with capitalize repo name (#29090) (#29206)
-  * Use ghost user if user was not found (#29161) (#29169)
-  * Dont load Review if Comment is CommentTypeReviewRequest (#28551) (#29160)
-  * Refactor parseSignatureFromCommitLine (#29054) (#29108)
-  * Avoid showing unnecessary JS errors when there are elements with different origin on the page (#29081) (#29089)
-  * Fix gitea-origin-url with default ports (#29085) (#29088)
-  * Fix orgmode link resolving (#29024) (#29076)
-  * Fix Elasticsearh Request Entity Too Large #28117 (#29062) (#29075)
-  * Do not render empty comments (#29039) (#29049)
-  * Avoid sending update/delete release notice when it is draft (#29008) (#29025)
-  * Fix gitea-action user avatar broken on edited menu (#29190) (#29307)
-  * Disallow merge when required checked are missing (#29143) (#29268)
-  * Fix incorrect link to swift doc and swift package-registry login command (#29096) (#29103)
-  * Convert visibility to number (#29226) (#29244)
-* DOCS
-  * Remove outdated docs from some languages (#27530) (#29208)
-  * Fix typos in the documentation (#29048) (#29056)
-  * Explained where create issue/PR template (#29035)
-
-## [1.21.5](https://github.com/go-gitea/gitea/releases/tag/v1.21.5) - 2024-01-31
-
-* SECURITY
-  * Prevent anonymous container access if `RequireSignInView` is enabled (#28877) (#28882)
-  * Update go dependencies and fix go-git (#28893) (#28934)
-* BUGFIXES
-  * Revert "Speed up loading the dashboard on mysql/mariadb (#28546)" (#29006) (#29007)
-  * Fix an actions schedule bug (#28942) (#28999)
-  * Fix update enable_prune even if mirror_interval is not provided (#28905) (#28929)
-  * Fix uploaded artifacts should be overwritten (#28726) backport v1.21 (#28832)
-  * Preserve BOM in web editor (#28935) (#28959)
-  * Strip `/` from relative links (#28932) (#28952)
-  * Don't remove all mirror repository's releases when mirroring (#28817) (#28939)
-  * Implement `MigrateRepository` for the actions notifier (#28920) (#28923)
-  * Respect branch info for relative links (#28909) (#28922)
-  * Don't reload timeline page when (un)resolving or replying conversation (#28654) (#28917)
-  * Only migrate the first 255 chars of a Github issue title (#28902) (#28912)
-  * Fix sort bug on repository issues list (#28897) (#28901)
-  * Fix `DeleteCollaboration` transaction behaviour (#28886) (#28889)
-  * Fix schedule not trigger bug because matching full ref name with short ref name (#28874) (#28888)
-  * Fix migrate storage bug (#28830) (#28867)
-  * Fix archive creating LFS hooks and breaking pull requests (#28848) (#28851)
-  * Fix reverting a merge commit failing (#28794) (#28825)
-  * Upgrade xorm to v1.3.7 to fix a resource leak problem caused by Iterate (#28891) (#28895)
-  * Fix incorrect PostgreSQL connection string for Unix sockets (#28865) (#28870)
-* ENHANCEMENTS
-  * Make loading animation less aggressive (#28955) (#28956)
-  * Avoid duplicate JS error messages on UI (#28873) (#28881)
-  * Bump `@github/relative-time-element` to 4.3.1 (#28819) (#28826)
-* MISC
-  * Warn that `DISABLE_QUERY_AUTH_TOKEN` is false only if it's explicitly defined (#28783) (#28868)
-  * Remove duplicated checkinit on git module (#28824) (#28831)
-
-## [1.21.4](https://github.com/go-gitea/gitea/releases/tag/v1.21.4) - 2024-01-16
-
-* SECURITY
-  * Update github.com/cloudflare/circl (#28789) (#28790)
-  * Require token for GET subscription endpoint (#28765) (#28768)
-* BUGFIXES
-  * Use refname:strip-2 instead of refname:short when syncing tags (#28797) (#28811)
-  * Fix links in issue card (#28806) (#28807)
-  * Fix nil pointer panic when exec some gitea cli command (#28791) (#28795)
-  * Require token for GET subscription endpoint (#28765) (#28778)
-  * Fix button size in "attached header right" (#28770) (#28774)
-  * Fix `convert.ToTeams` on empty input (#28426) (#28767)
-  * Hide code related setting options in repository when code unit is disabled (#28631) (#28749)
-  * Fix incorrect URL for "Reference in New Issue" (#28716) (#28723)
-  * Fix panic when parsing empty pgsql host (#28708) (#28709)
-  * Upgrade xorm to new version which supported update join for all supported databases (#28590) (#28668)
-  * Fix alpine package files are not rebuilt (#28638) (#28665)
-  * Avoid cycle-redirecting user/login page (#28636) (#28658)
-  * Fix empty ref for cron workflow runs (#28640) (#28647)
-  * Remove unnecessary syncbranchToDB with tests (#28624) (#28629)
-  * Use known issue IID to generate new PR index number when migrating from GitLab (#28616) (#28618)
-  * Fix flex container width (#28603) (#28605)
-  * Fix the scroll behavior for emoji/mention list (#28597) (#28601)
-  * Fix wrong due date rendering in issue list page (#28588) (#28591)
-  * Fix `status_check_contexts` matching bug (#28582) (#28589)
-  * Fix 500 error of searching commits (#28576) (#28579)
-  * Use information from previous blame parts (#28572) (#28577)
-  * Update mermaid for 1.21 (#28571)
-  * Fix 405 method not allowed CORS / OIDC (#28583) (#28586) (#28587) (#28611)
-  * Fix `GetCommitStatuses` (#28787) (#28804)
-  * Forbid removing the last admin user (#28337) (#28793)
-  * Fix schedule tasks bugs (#28691) (#28780)
-  * Fix issue dependencies (#27736) (#28776)
-  * Fix system webhooks API bug (#28531) (#28666)
-  * Fix when private user following user, private user will not be counted in his own view (#28037) (#28792)
-  * Render code block in activity tab (#28816) (#28818)
-* ENHANCEMENTS
-  * Rework markup link rendering (#26745) (#28803)
-  * Modernize merge button (#28140) (#28786)
-  * Speed up loading the dashboard on mysql/mariadb (#28546) (#28784)
-  * Assign pull request to project during creation (#28227) (#28775)
-  * Show description as tooltip instead of title for labels (#28754) (#28766)
-  * Make template `DateTime` show proper tooltip (#28677) (#28683)
-  * Switch destination directory for apt signing keys (#28639) (#28642)
-  * Include heap pprof in diagnosis report to help debugging memory leaks (#28596) (#28599)
-* DOCS
-  * Suggest to use Type=simple for systemd service (#28717) (#28722)
-  * Extend description for ARTIFACT_RETENTION_DAYS (#28626) (#28630)
-* MISC
-  * Add -F to commit search to treat keywords as strings (#28744) (#28748)
-  * Add download attribute to release attachments (#28739) (#28740)
-  * Concatenate error in `checkIfPRContentChanged` (#28731) (#28737)
-  * Improve 1.21 document for Database Preparation (#28643) (#28644)
-
-## [1.21.3](https://github.com/go-gitea/gitea/releases/tag/v1.21.3) - 2023-12-21
-
-* SECURITY
-  * Update golang.org/x/crypto (#28519)
-* API
-  * chore(api): support ignore password if login source type is LDAP for creating user API (#28491) (#28525)
-  * Add endpoint for not implemented Docker auth (#28457) (#28462)
-* ENHANCEMENTS
-  * Add option to disable ambiguous unicode characters detection (#28454) (#28499)
-  * Refactor SSH clone URL generation code (#28421) (#28480)
-  * Polyfill SubmitEvent for PaleMoon (#28441) (#28478)
-* BUGFIXES
-  * Fix the issue ref rendering for wiki (#28556) (#28559)
-  * Fix duplicate ID when deleting repo (#28520) (#28528)
-  * Only check online runner when detecting matching runners in workflows (#28286) (#28512)
-  * Initialize stroage for orphaned repository doctor (#28487) (#28490)
-  * Fix possible nil pointer access (#28428) (#28440)
-  * Don't show unnecessary citation JS error on UI (#28433) (#28437)
-* DOCS
-  * Update actions document about comparison as Github Actions (#28560) (#28564)
-  * Fix documents for "custom/public/assets/" (#28465) (#28467)
-* MISC
-  * Fix inperformant query on retrifing review from database. (#28552) (#28562)
-  * Improve the prompt for "ssh-keygen sign" (#28509) (#28510)
-  * Update docs for DISABLE_QUERY_AUTH_TOKEN (#28485) (#28488)
-  * Fix Chinese translation of config cheat sheet[API] (#28472) (#28473)
-  * Retry SSH key verification with additional CRLF if it failed (#28392) (#28464)
-
-## [1.21.2](https://github.com/go-gitea/gitea/releases/tag/v1.21.2) - 2023-12-12
-
-* SECURITY
-  * Rebuild with recently released golang version
-  * Fix missing check (#28406) (#28411)
-  * Do some missing checks (#28423) (#28432)
-* BUGFIXES
-  * Fix margin in server signed signature verification view (#28379) (#28381)
-  * Fix object does not exist error when checking citation file (#28314) (#28369)
-  * Use `filepath` instead of `path` to create SQLite3 database file (#28374) (#28378)
-  * Fix the runs will not be displayed bug when the main branch have no workflows but other branches have (#28359) (#28365)
-  * Handle repository.size column being NULL in migration v263 (#28336) (#28363)
-  * Convert git commit summary to valid UTF8. (#28356) (#28358)
-  * Fix migration panic due to an empty review comment diff (#28334) (#28362)
-  * Add `HEAD` support for rpm repo files (#28309) (#28360)
-  * Fix RPM/Debian signature key creation (#28352) (#28353)
-  * Keep profile tab when clicking on Language (#28320) (#28331)
-  * Fix missing issue search index update when changing status (#28325) (#28330)
-  * Fix wrong link in `protect_branch_name_pattern_desc` (#28313) (#28315)
-  * Read `previous` info from git blame (#28306) (#28310)
-  * Ignore "non-existing" errors when getDirectorySize calculates the size (#28276) (#28285)
-  * Use appSubUrl for OAuth2 callback URL tip (#28266) (#28275)
-  * Meilisearch: require all query terms to be matched (#28293) (#28296)
-  * Fix required error for token name (#28267) (#28284)
-  * Fix issue will be detected as pull request when checking `First-time contributor` (#28237) (#28271)
-  * Use full width for project boards (#28225) (#28245)
-  * Increase "version" when update the setting value to a same value as before (#28243) (#28244)
-  * Also sync DB branches on push if necessary (#28361) (#28403)
-  * Make gogit Repository.GetBranchNames consistent (#28348) (#28386)
-  * Recover from panic in cron task (#28409) (#28425)
-  * Deprecate query string auth tokens (#28390) (#28430)
-* ENHANCEMENTS
-  * Improve doctor cli behavior (#28422) (#28424)
-  * Fix margin in server signed signature verification view (#28379) (#28381)
-  * Refactor template empty checks (#28351) (#28354)
-  * Read `previous` info from git blame (#28306) (#28310)
-  * Use full width for project boards (#28225) (#28245)
-  * Enable system users search via the API (#28013) (#28018)
-
-## [1.21.1](https://github.com/go-gitea/gitea/releases/tag/v1.21.1) - 2023-11-26
-
-* SECURITY
-  * Fix comment permissions (#28213) (#28216)
-* BUGFIXES
-  * Fix delete-orphaned-repos (#28200) (#28202)
-  * Make CORS work for oauth2 handlers (#28184) (#28185)
-  * Fix missing buttons (#28179) (#28181)
-  * Fix no ActionTaskOutput table waring (#28149) (#28152)
-  * Fix empty action run title (#28113) (#28148)
-  * Use "is-loading" to avoid duplicate form submit for code comment (#28143) (#28147)
-  * Fix Matrix and MSTeams nil dereference (#28089) (#28105)
-  * Fix incorrect pgsql conn builder behavior (#28085) (#28098)
-  * Fix system config cache expiration timing (#28072) (#28090)
-  * Restricted users only see repos in orgs which their team was assigned to (#28025) (#28051)
-* API
-  * Fix permissions for Token DELETE endpoint to match GET and POST (#27610) (#28099)
-* ENHANCEMENTS
-  * Do not display search box when there's no packages yet (#28146) (#28159)
-  * Add missing `packages.cleanup.success` (#28129) (#28132)
-* DOCS
-  * Docs: Replace deprecated IS_TLS_ENABLED mailer setting in email setup (#28205) (#28208)
-  * Fix the description about the default setting for action in quick start document (#28160) (#28168)
-  * Add guide page to actions when there's no workflows (#28145) (#28153)
-* MISC
-  * Use full width for PR comparison (#28182) (#28186)
-
-## [1.21.0](https://github.com/go-gitea/gitea/releases/tag/v1.21.0) - 2023-11-14
-
-* BREAKING
-  * Restrict certificate type for builtin SSH server (#26789)
-  * Refactor to use urfave/cli/v2 (#25959)
-  * Move public asset files to the proper directory (#25907)
-  * Remove commit status running and warning to align GitHub (#25839) (partially reverted: Restore warning commit status (#27504) (#27529))
-  * Remove "CHARSET" config option for MySQL, always use "utf8mb4" (#25413)
-  * Set SSH_AUTHORIZED_KEYS_BACKUP to false (#25412)
-* FEATURES
-  * User details page (#26713)
-  * Chore(actions): support cron schedule task (#26655)
-  * Support rebuilding issue indexer manually (#26546)
-  * Allow to archive labels (#26478)
-  * Add disable workflow feature (#26413)
-  * Support `.git-blame-ignore-revs` file (#26395)
-  * Pre-register OAuth2 applications for git credential helpers (#26291)
-  * Add `Retry` button when creating a mirror-repo fails (#26228)
-  * Artifacts retention and auto clean up (#26131)
-  * Serve pre-defined files in "public", add "security.txt", add CORS header for ".well-known" (#25974)
-  * Implement auto-cancellation of concurrent jobs if the event is push (#25716)
-  * Newly pushed branches hints on repository home page (#25715)
-  * Display branch commit status (#25608)
-  * Add direct serving of package content (#25543)
-  * Add commits dropdown in PR files view and allow commit by commit review (#25528)
-  * Allow package cleanup from admin page (#25307)
-  * Batch delete issue and improve tippy opts (#25253)
-  * Show branches and tags that contain a commit (#25180)
-  * Add actor and status dropdowns to run list (#25118)
-  * Allow Organisations to have a E-Mail (#25082)
-  * Add codeowners feature (#24910)
-  * Actions Artifacts support uploading multiple files and directories (#24874)
-  * Support configuration variables on Gitea Actions (#24724)
-  * Support downloading raw task logs (#24451)
-* API
-  * Unify two factor check (#27915) (#27929)
-  * Fix package webhook (#27839) (#27855)
-  * Fix/upload artifact error windows (#27802) (#27840)
-  * Fix bad method call when deleting user secrets via API (#27829) (#27831)
-  * Do not force creation of _cargo-index repo on publish (#27266) (#27765)
-  * Delete repos of org when purge delete user (#27273) (#27728)
-  * Fix org team endpoint (#27721) (#27727)
-  * Api: GetPullRequestCommits: return file list (#27483) (#27539)
-  * Don't let API add 2 exclusive labels from same scope (#27433) (#27460)
-  * Redefine the meaning of column is_active to make Actions Registration Token generation easier (#27143) (#27304)
-  * Fix PushEvent NullPointerException jenkinsci/github-plugin (#27203) (#27251)
-  * Fix organization field being null in POST /orgs/{orgid}/teams (#27150) (#27163)
-  * Allow empty Conan files (#27092)
-  * Fix token endpoints ignore specified account (#27080)
-  * Reduce usage of `db.DefaultContext` (#27073) (#27083) (#27089) (#27103) (#27262) (#27265) (#27347) (#26076)
-  * Make SSPI auth mockable (#27036)
-  * Extract auth middleware from service (#27028)
-  * Add `RemoteAddress` to mirrors (#26952)
-  * Feat(API): add routes and functions for managing user's secrets (#26909)
-  * Feat(API): add secret deletion functionality for repository (#26808)
-  * Feat(API): add route and implementation for creating/updating repository secret (#26766)
-  * Add Upload URL to release API (#26663)
-  * Feat(API): update and delete secret for managing organization secrets (#26660)
-  * Feat: implement organization secret creation API (#26566)
-  * Add API route to list org secrets (#26485)
-  * Set commit id when ref used explicitly (#26447)
-  * PATCH branch-protection updates check list even when checks are disabled (#26351)
-  * Add file status for API "Get a single commit from a repository" (#16205) (#25831)
-  * Add API for changing Avatars (#25369)
-* BUGFIXES
-  * Fix viewing wiki commit on empty repo (#28040) (#28044)
-  * Enable system users for comment.LoadPoster (#28014) (#28032)
-  * Fixed duplicate attachments on dump on windows (#28019) (#28031)
-  * Fix wrong xorm Delete usage(backport for 1.21) (#28002)
-  * Add word-break to repo description in home page (#27924) (#27957)
-  * Fix rendering assignee changed comments without assignee (#27927) (#27952)
-  * Add word break to release title (#27942) (#27947)
-  * Fix JS NPE when viewing specific range of PR commits (#27912) (#27923)
-  * Show correct commit sha when viewing single commit diff (#27916) (#27921)
-  * Fix 500 when deleting a dismissed review (#27903) (#27910)
-  * Fix DownloadFunc when migrating releases (#27887) (#27890)
-  * Fix http protocol auth (#27875) (#27876)
-  * Refactor postgres connection string building (#27723) (#27869)
-  * Close all hashed buffers (#27787) (#27790)
-  * Fix label render containing invalid HTML (#27752) (#27762)
-  * Fix duplicate project board when hitting `enter` key (#27746) (#27751)
-  * Fix `link-action` redirect network error (#27734) (#27749)
-  * Fix sticky diff header background (#27697) (#27712)
-  * Always delete existing scheduled action tasks (#27662) (#27688)
-  * Support allowed hosts for webhook to work with proxy (#27655) (#27675)
-  * Fix poster is not loaded in get default merge message (#27657) (#27666)
-  * Improve dropdown button alignment and fix hover bug (#27632) (#27637)
-  * Improve retrying index issues (#27554) (#27634)
-  * Fix 404 when deleting Docker package with an internal version (#27615) (#27630)
-  * Backport manually for a tmpl issue in v1.21 (#27612)
-  * Don't show Link to TOTP if not set up (#27585) (#27588)
-  * Fix data-race bug when accessing task.LastRun (#27584) (#27586)
-  * Fix attachment download bug (#27486) (#27571)
-  * Respect SSH.KeygenPath option when calculating ssh key fingerprints (#27536) (#27551)
-  * Improve dropdown's behavior when there is a search input in menu (#27526) (#27534)
-  * Fix panic in storageHandler (#27446) (#27479)
-  * When comparing with an non-exist repository, return 404 but 500 (#27437) (#27442)
-  * Fix pr template (#27436) (#27440)
-  * Fix git 2.11 error when checking IsEmpty (#27393) (#27397)
-  * Allow get release download files and lfs files with oauth2 token format (#26430) (#27379)
-  * Fix missing ctx for GetRepoLink in dashboard (#27372) (#27375)
-  * Absolute positioned checkboxes  overlay floated elements (#26870) (#27366)
-  * Introduce fixes and more rigorous tests for 'Show on a map' feature (#26803) (#27365)
-  * Fix repo count in org action settings (#27245) (#27353)
-  * Add logs for data broken of comment review (#27326) (#27345)
-  * Fix the approval count of PR when there is no protection branch rule (#27272) (#27343)
-  * Fix Bug in Issue Config when only contact links are set (#26521) (#27334)
-  * Improve issue history dialog and make poster can delete their own history (#27323) (#27327)
-  * Fix orphan check for deleted branch (#27310) (#27321)
-  * Fix protected branch icon location (#26576) (#27317)
-  * Fix yaml test (#27297) (#27303)
-  * Fix some animation bugs (#27287) (#27294)
-  * Fix incorrect change from #27231 (#27275) (#27282)
-  * Add missing public user visibility in user details page (#27246) (#27250)
-  * Fix EOL handling in web editor (#27141) (#27234)
-  * Fix issues on action runners page (#27226) (#27233)
-  * Quote table `release` in sql queries (#27205) (#27218)
-  * Fix release URL in webhooks (#27182) (#27185)
-  * Fix review request number and add more tests (#27104) (#27168)
-  * Fix the variable regexp pattern on web page (#27161) (#27164)
-  * Fix: treat tab "overview" as "repositories" in user profiles without readme (#27124)
-  * Fix NPE when editing OAuth2 applications (#27078)
-  * Fix the incorrect route path in the user edit page. (#27007)
-  * Fix the secret regexp pattern on web page (#26910)
-  * Allow users with write permissions for issues to add attachments with API (#26837)
-  * Make "link-action" backend code respond correct JSON content (#26680)
-  * Use line-height: normal by default (#26635)
-  * Fix NPM packages name validation (#26595)
-  * Rewrite the DiffFileTreeItem and fix misalignment (#26565)
-  * Return empty when searching issues with no repos (#26545)
-  * Explain SearchOptions and fix ToSearchOptions (#26542)
-  * Add missing triggers to update issue indexer (#26539)
-  * Handle base64 decoding correctly to avoid panic (#26483)
-  * Avoiding accessing undefined mentionValues (#26461)
-  * Fix incorrect redirection in new issue using references (#26440)
-  * Fix the bug when getting files changed for `pull_request_target` event (#26320)
-  * Remove IsWarning in  tmpl (#26120)
-  * Fix loading `LFS_JWT_SECRET` from wrong section (#26109)
-  * Fixing redirection issue for logged-in users (#26105)
-  * Improve "gitea doctor" sub-command and fix "help" commands (#26072)
-  * Fix the truncate and alignment problem for some admin tables (#26042)
-  * Update minimum password length requirements (#25946)
-  * Do not "guess" the file encoding/BOM when using API to upload files (#25828)
-  * Restructure issue list template, styles (#25750)
-  * Fix `ref` for workflows triggered by `pull_request_target` (#25743)
-  * Fix issues indexer document mapping (#25619)
-  * Use JSON response for "user/logout" (#25522)
-  * Fix migrate page layout on mobile (#25507)
-  * Link to existing PR when trying to open a new PR on the same branches (#25494)
-  * Do not publish docker release images on `-dev` tags (#25471)
-  * Support `pull_request_target` event (#25229)
-  * Modify the content format of the Feishu webhook (#25106)
-* ENHANCEMENTS
-  * Render email addresses as such if followed by punctuation (#27987) (#27992)
-  * Show error toast when file size exceeds the limits (#27985) (#27986)
-  * Fix citation error when the file size is larger than 1024 bytes (#27958) (#27965)
-  * Remove action runners on user deletion (#27902) (#27908)
-  * Remove set tabindex on view issue (#27892) (#27896)
-  * Reduce margin/padding on flex-list items and divider (#27872) (#27874)
-  * Change katex limits (#27823) (#27868)
-  * Clean up template locale usage (#27856) (#27857)
-  * Add dedicated class for empty placeholders (#27788) (#27792)
-  * Add gap between diff boxes (#27776) (#27781)
-  * Fix incorrect "tab" parameter for repo search sub-template (#27755) (#27764)
-  * Enable followCursor for language stats bar (#27713) (#27739)
-  * Improve diff tree spacing (#27714) (#27719)
-  * Feed UI Improvements (#27356) (#27717)
-  * Improve feed icons and feed merge text color (#27498) (#27716)
-  * [FIX] resolve confusing colors in languages stats by insert a gap (#27704) (#27715)
-  * Add doctor dbconsistency fix to delete repos with no owner (#27290) (#27693)
-  * Fix required checkboxes in issue forms (#27592) (#27692)
-  * Hide archived labels by default from the suggestions when assigning labels for an issue (#27451) (#27661)
-  * Cleanup repo details icons/labels (#27644) (#27654)
-  * Keep filter when showing unfiltered results on explore page (#27192) (#27589)
-  * Show manual cron run's last time (#27544) (#27577)
-  * Revert "Fix pr template (#27436)" (#27567)
-  * Increase queue length (#27555) (#27562)
-  * Avoid run change title process when the title is same (#27467) (#27558)
-  * Remove max-width and add hide text overflow (#27359) (#27550)
-  * Add hover background to wiki list page (#27507) (#27521)
-  * Fix mermaid flowchart margin issue (#27503) (#27516)
-  * Refactor system setting (#27000) (#27452)
-  * Fix  missing `ctx`  in new_form.tmpl  (#27434) (#27438)
-  * Add Index to `action.user_id` (#27403) (#27425)
-  * Don't use subselect in `DeleteIssuesByRepoID` (#27332) (#27408)
-  * Add support for HEAD ref in /src/branch and /src/commit routes (#27384) (#27407)
-  * Make Actions tasks/jobs timeouts configurable by the user (#27400) (#27402)
-  * Hide archived labels when filtering by labels on the issue list (#27115) (#27381)
-  * Highlight user details link (#26998) (#27376)
-  * Add protected branch name description (#27257) (#27351)
-  * Improve tree not found page (#26570) (#27346)
-  * Add Index to `comment.dependent_issue_id` (#27325) (#27340)
-  * Improve branch list UI (#27319) (#27324)
-  * Fix divider in subscription page (#27298) (#27301)
-  * Add missed return to actions view fetch (#27289) (#27293)
-  * Backport ctx locale refactoring manually (#27231) (#27259) (#27260)
-  * Disable `Test Delivery` and `Replay` webhook buttons when webhook is inactive (#27211) (#27253)
-  * Use mask-based fade-out effect for `.new-menu` (#27181) (#27243)
-  * Cleanup locale function usage (#27227) (#27240)
-  * Fix z-index on markdown completion (#27237) (#27239)
-  * Fix Fomantic UI dropdown icon bug when there is a search input in menu (#27225) (#27228)
-  * Allow copying issue comment link on archived repos and when not logged in (#27193) (#27210)
-  * Fix: text decorator on issue sidebar menu label (#27206) (#27209)
-  * Fix dropdown icon position (#27175) (#27177)
-  * Add index to `issue_user.issue_id` (#27154) (#27158)
-  * Increase auth provider icon size on login page (#27122)
-  * Remove a `gt-float-right` and some unnecessary helpers (#27110)
-  * Change green buttons to primary color (#27099)
-  * Use db.WithTx for AddTeamMember to avoid ctx abuse (#27095)
-  * Use `print` instead of `printf` (#27093)
-  * Remove the useless function `GetUserIssueStats` and move relevant tests to `indexer_test.go` (#27067)
-  * Search branches (#27055)
-  * Display all user types and org types on admin management UI (#27050)
-  * Ui correction in mobile view nav bar left aligned items. (#27046)
-  * Chroma color tweaks (#26978)
-  * Move some functions to service layer (#26969)
-  * Improve "language stats" UI (#26968)
-  * Replace `util.SliceXxx`  with `slices.Xxx` (#26958)
-  * Refactor dashboard/feed.tmpl (#26956)
-  * Move repository deletion to service layer (#26948)
-  * Fix the missing repo count (#26942)
-  * Improve hint when uploading a too large avatar (#26935)
-  * Extract common code to new template (#26933)
-  * Move createrepository from module to service layer (#26927)
-  * Move notification interface to services layer (#26915)
-  * Move feed notification service layer (#26908)
-  * Move ui notification to service layer (#26907)
-  * Move indexer notification to service layer (#26906)
-  * Move mail notification logic to service layer (#26905)
-  * Extract common code to new template (#26903)
-  * Show queue's active worker number (#26896)
-  * Fix media description render for orgmode (#26895)
-  * Remove CSS `has` selector and improve various styles (#26891)
-  * Relocate the `RSS user feed` button (#26882)
-  * Refactor "shortsha" (#26877)
-  * Refactor `og:description` to limit the max length (#26876)
-  * Move web/api context related testing function into a separate package (#26859)
-  * Redable error on S3 storage connection failure (#26856)
-  * Improve opengraph previews (#26851)
-  * Add more descriptive error on forgot password page (#26848)
-  * Show always repo count in header (#26842)
-  * Remove "TODO" tasks from CSS file (#26835)
-  * Render code blocks in repo description (#26830)
-  * Minor dashboard tweaks, fix flex-list margins (#26829)
-  * Remove polluted `.ui.right` (#26825)
-  * Display archived labels specially when listing labels (#26820)
-  * Remove polluted ".ui.left" style (#26809)
-  * Make it posible to customize nav text color via css var (#26807)
-  * Refactor lfs requests (#26783)
-  * Improve flex list item padding (#26779)
-  * Remove fomantic `text` module (#26777)
-  * Remove fomantic `item` module (#26775)
-  * Remove redundant nil check in `WalkGitLog` (#26773)
-  * Reduce some allocations in type conversion (#26772)
-  * Refactor some CSS styles and simplify code (#26771)
-  * Unify `border-radius` behavior (#26770)
-  * Improve modal dialog UI (#26764)
-  * Allow "latest" to be used in release vTag when downloading file (#26748)
-  * Adding hint `Archived` to archive label. (#26741)
-  * Move `modules/mirror` to `services` (#26737)
-  * Add "dir=auto" for input/textarea elements by default (#26735)
-  * Add auth-required to config.json for Cargo http registry (#26729)
-  * Simplify helper CSS classes and avoid abuse (#26728)
-  * Make web context initialize correctly for different cases (#26726)
-  * Focus editor on "Write" tab click (#26714)
-  * Remove incorrect CSS helper classes (#26712)
-  * Fix review bar misalignment (#26711)
-  * Add reverseproxy auth for API back with default disabled (#26703)
-  * Add default label in branch select list (#26697)
-  * Improve Image Diff UI (#26696)
-  * Fixed text overflow in dropdown menu (#26694)
-  * [Refactor] getIssueStatsChunk to move inner function into own one (#26671)
-  * Remove fomantic loader module (#26670)
-  * Add `member`, `collaborator`, `contributor`, and `first-time contributor` roles and tooltips (#26658)
-  * Improve some flex layouts (#26649)
-  * Improve the branch selector tab UI (#26631)
-  * Improve show role (#26621)
-  * Remove avatarHTML from template helpers (#26598)
-  * Allow text selection in actions step header (#26588)
-  * Improve translation of milestone filters (#26569)
-  * Add optimistic lock to ActionRun table (#26563)
-  * Update team invitation email link (#26550)
-  * Differentiate better between user settings and admin settings (#26538)
-  * Check disabled workflow when rerun jobs (#26535)
-  * Improve deadline icon location in milestone list page (#26532)
-  * Improve repo sub menu (#26531)
-  * Fix the display of org level badges (#26504)
-  * Rename `Sync2` -> `Sync` (#26479)
-  * Fix stderr usages (#26477)
-  * Remove fomantic transition module (#26469)
-  * Refactor tests (#26464)
-  * Refactor project templates (#26448)
-  * Fall back to esbuild for css minify (#26445)
-  * Always show usernames in reaction tooltips (#26444)
-  * Use correct pull request commit link instead of a generic commit link (#26434)
-  * Refactor "editorconfig" (#26391)
-  * Make `user-content-* ` consistent with github (#26388)
-  * Remove unnecessary template helper repoAvatar (#26387)
-  * Remove unnecessary template helper DisableGravatar (#26386)
-  * Use template context function for avatar rendering (#26385)
-  * Rename code_langauge.go to code_language.go (#26377)
-  * Use more `IssueList` instead of `[]*Issue` (#26369)
-  * Do not highlight `#number` in documents (#26365)
-  * Fix display problems of members and teams unit (#26363)
-  * Fix 404 error when remove self from an organization (#26362)
-  * Improve CLI and messages (#26341)
-  * Refactor backend SVG package and add tests (#26335)
-  * Add link to job details and tooltip to commit status in repo list in dashboard (#26326)
-  * Use yellow if an approved review is stale (#26312)
-  * Remove commit load branches and tags in wiki repo (#26304)
-  * Add highlight to selected repos in milestone dashboard (#26300)
-  * Delete `issue_service.CreateComment` (#26298)
-  * Do not show Profile README when repository is private (#26295)
-  * Tweak actions menu (#26278)
-  * Start using template context function (#26254)
-  * Use calendar icon for `Joined on...` in profiles (#26215)
-  * Add 'Show on a map' button to Location in profile, fix layout (#26214)
-  * Render plaintext task list items for markdown files (#26186)
-  * Add tooltip to describe LFS table column and color `delete LFS file` button red (#26181)
-  * Release attachments duplicated check (#26176)
-  * De-emphasize issue sidebar buttons (#26171)
-  * Fixing the align of commit stats in commit_page template. (#26161)
-  * Allow editing push mirrors after creation (#26151)
-  * Move web JSON functions to web context and simplify code (#26132)
-  * Refactor improve NoBetterThan (#26126)
-  * Improve clickable area in repo action view page (#26115)
-  * Add context parameter to some database functions (#26055)
-  * Docusaurus-ify (#26051)
-  * Improve text for empty issue/pr description (#26047)
-  * Categorize admin settings sidebar panel (#26030)
-  * Remove redundant "RouteMethods" method (#26024)
-  * Refactor and enhance issue indexer to support both searching, filtering and paging (#26012)
-  * Add a link to OpenID Issuer URL in WebFinger response (#26000)
-  * Fix UI for release tag page / wiki page / subscription page (#25948)
-  * Support copy protected branch from template repository (#25889)
-  * Improve display of Labels/Projects/Assignees sort options (#25886)
-  * Fix margin on the new/edit project page. (#25885)
-  * Show image size on view page (#25884)
-  * Remove ref name in PR commits page (#25876)
-  * Allow the use of alternative net.Listener implementations by downstreams (#25855)
-  * Refactor "Content" for file uploading (#25851)
-  * Add error info if no user can fork the repo (#25820)
-  * Show edit title button on commits tab of PR, too (#25791)
-  * Introduce `flex-list` & `flex-item` elements for Gitea UI (#25790)
-  * Don't stack PR tab menu on small screens (#25789)
-  * Repository Archived text title center align (#25767)
-  * Make route middleware/handler mockable (#25766)
-  * Move issue filters to shared template (#25729)
-  * Use frontend fetch for branch dropdown component (#25719)
-  * Add open/closed field support for issue index (#25708)
-  * Some less naked returns (#25682)
-  * Fix inconsistent user profile layout across tabs (#25625)
-  * Get latest commit statuses from database instead of git data on dashboard for repositories (#25605)
-  * Adding  branch-name copy  to clipboard branches screen. (#25596)
-  * Update emoji set to Unicode 15 (#25595)
-  * Move some files under repo/setting (#25585)
-  * Add custom ansi colors and CSS variables for them (#25546)
-  * Add log line anchor for action logs (#25532)
-  * Use flex instead of float for sort button and search input (#25519)
-  * Update octicons and use `octicon-file-directory-symlink` (#25453)
-  * Add toasts to UI (#25449)
-  * Fine tune project board label colors and modal content background (#25419)
-  * Import additional secrets via file uri (#25408)
-  * Switch to ansi_up for ansi rendering in actions (#25401)
-  * Store and use seconds for timeline time comments (#25392)
-  * Support displaying diff stats in PR tab bar (#25387)
-  * Use fetch form action for lock/unlock/pin/unpin on sidebar (#25380)
-  * Refactor: TotalTimes return seconds (#25370)
-  * Navbar styling rework (#25343)
-  * Introduce shared template for search inputs (#25338)
-  * Only show 'Manage Account Links' when necessary (#25311)
-  * Improve 'Privacy' section in profile settings (#25309)
-  * Substitute variables in path names of template repos too (#25294)
-  * Fix tags line no margin see #25255 (#25280)
-  * Use fetch to send requests to create issues/comments (#25258)
-  * Change form actions to fetch for submit review box (#25219)
-  * Improve AJAX link and modal confirm dialog (#25210)
-  * Reduce unnecessary DB queries for Actions tasks (#25199)
-  * Disable `Create column` button while the column name is empty (#25192)
-  * Refactor indexer (#25174)
-  * Adjust style for action run list (align icons, adjust padding) (#25170)
-  * Remove duplicated functions when deleting a branch (#25128)
-  * Make confusable character warning less jarring (#25069)
-  * Highlight viewed files differently in the PR filetree (#24956)
-  * Support changing labels of Actions runner without re-registration (#24806)
-  * Fix duplicate Reviewed-by trailers (#24796)
-  * Resolve issue with sort icons on admin/users and admin/runners (#24360)
-  * Split lfs size from repository size (#22900)
-  * Sync branches into databases (#22743)
-  * Disable run user change in installation page (#22499)
-  * Add merge files files to GetCommitFileStatus (#20515)
-  * Show OpenID Connect and OAuth on signup page (#20242)
-* SECURITY
-  * Dont leak private users via extensions (#28023) (#28029)
-  * Expanded minimum RSA Keylength to 3072 (#26604)
-* TESTING
-  * Add user secrets API integration tests (#27832) (#27852)
-  * Add tests for db indexer in indexer_test.go (#27087)
-  * Speed up TestEventSourceManagerRun (#26262)
-  * Add unit test for user renaming (#26261)
-  * Add some Wiki unit tests (#26260)
-  * Improve unit test for caching (#26185)
-  * Add unit test for `HashAvatar` (#25662)
-* TRANSLATION
-  * Backport translations to v1.21 (#27899)
-  * Fix issues in translation file (#27699) (#27737)
-  * Add locale for deleted head branch (#26296)
-  * Improve multiple strings in en-US locale (#26213)
-  * Fix broken translations for package documantion (#25742)
-  * Correct translation wrong format (#25643)
-* BUILD
-  * Dockerfile small refactor (#27757) (#27826)
-  * Fix build errors on BSD (in BSDMakefile) (#27594) (#27608)
-  * Fully replace drone with actions (#27556) (#27575)
-  * Enable markdownlint `no-duplicate-header` (#27500) (#27506)
-  * Enable production source maps for index.js, fix CSS sourcemaps (#27291) (#27295)
-  * Update snap package (#27021)
-  * Bump go to 1.21 (#26608)
-  * Bump xgo to go-1.21.x and node to 20 in release-version (#26589)
-  * Add template linting via djlint (#25212)
-* DOCS
-  * Change default size of issue/pr attachments and repo file (#27946) (#28017)
-  * Remove `known issue` section in Gitea Actions Doc (#27930) (#27938)
-  * Remove outdated paragraphs when comparing Gitea Actions to GitHub Actions (#27119)
-  * Update brew installation documentation since gitea moved to brew core package (#27070)
-  * Actions are no longer experimental, so enable them by default (#27054)
-  * Add a documentation note for Windows Service (#26938)
-  * Add sparse url in cargo package guide (#26937)
-  * Update nginx recommendations (#26924)
-  * Update backup instructions to align with archive structure (#26902)
-  * Expanding documentation in queue.go (#26889)
-  * Update info regarding internet connection for build (#26776)
-  * Docs: template variables (#26547)
-  * Update index doc (#26455)
-  * Update zh-cn documentation (#26406)
-  * Fix typos and grammar problems for actions documentation (#26328)
-  * Update documentation for 1.21 actions (#26317)
-  * Doc update swagger doc for POST /orgs/{org}/teams (#26155)
-  * Doc sync authentication.md to zh-cn (#26117)
-  * Doc guide the user to create the appropriate level runner (#26091)
-  * Make organization redirect warning more clear (#26077)
-  * Update blog links (#25843)
-  * Fix default value for LocalURL (#25426)
-  * Update `from-source.zh-cn.md` & `from-source.en-us.md` - Cross Compile Using Zig (#25194)
-* MISC
-  * Replace deprecated `elliptic.Marshal` (#26800)
-  * Add elapsed time on debug for slow git commands (#25642)
-
-## [1.20.5](https://github.com/go-gitea/gitea/releases/tag/v1.20.5) - 2023-10-03
-
-* ENHANCEMENTS
-  * Fix z-index on markdown completion (#27237) (#27242 & #27238)
-  * Use secure cookie for HTTPS sites (#26999) (#27013)
-* BUGFIXES
-  * Fix git 2.11 error when checking IsEmpty (#27393) (#27396)
-  * Allow get release download files and lfs files with oauth2 token format (#26430) (#27378)
-  * Fix orphan check for deleted branch (#27310) (#27320)
-  * Quote table `release` in sql queries (#27205) (#27219)
-  * Fix release URL in webhooks (#27182) (#27184)
-  * Fix successful return value for `SyncAndGetUserSpecificDiff` (#27152) (#27156)
-  * fix pagination for followers and following (#27127) (#27138)
-  * Fix issue templates when blank isses are disabled (#27061) (#27082)
-  * Fix context cache bug & enable context cache for dashabord commits' authors(#26991) (#27017)
-  * Fix INI parsing for value with trailing slash (#26995) (#27001)
-  * Fix PushEvent NullPointerException jenkinsci/github-plugin (#27203) (#27249)
-  * Fix organization field being null in POST /orgs/{orgid}/teams (#27150) (#27167 & #27162)
-  * Fix bug of review request number (#27406) (#27104)
-* TESTING
-  * services/wiki: Close() after error handling (#27129) (#27137)
-* DOCS
-  * Improve actions docs related to `pull_request` event (#27126) (#27145)
-* MISC
-  * Add logs for data broken of comment review (#27326) (#27344)
-  * Load reviewer before sending notification (#27063) (#27064)
-
-## [1.20.4](https://github.com/go-gitea/gitea/releases/tag/v1.20.4) - 2023-09-08
-
-* SECURITY
-  * Check blocklist for emails when adding them to account (#26812) (#26831)
-* ENHANCEMENTS
-  * Add `branch_filter` to hooks API endpoints (#26599) (#26632)
-  * Fix incorrect "tabindex" attributes (#26733) (#26734)
-  * Use line-height: normal by default (#26635) (#26708)
-  * Fix unable to display individual-level project (#26198) (#26636)
-* BUGFIXES
-  * Fix wrong review requested number (#26784) (#26880)
-  * Avoid double-unescaping of form value (#26853) (#26863)
-  * Redirect from `{repo}/issues/new` to `{repo}/issues/new/choose` when blank issues are disabled (#26813) (#26847)
-  * Sync tags when adopting repos (#26816) (#26834)
-  * Fix verifyCommits error when push a new branch (#26664) (#26810)
-  * Include the GITHUB_TOKEN/GITEA_TOKEN secret for fork pull requests (#26759) (#26806)
-  * Fix some slice append usages (#26778) (#26798)
-  * Add fix incorrect can_create_org_repo for org owner team (#26683) (#26791)
-  * Fix bug for ctx usage (#26763)
-  * Make issue template field template access correct template data (#26698) (#26709)
-  * Use correct minio error (#26634) (#26639)
-  * Ignore the trailing slashes when comparing oauth2 redirect_uri (#26597) (#26618)
-  * Set errwriter for urfave/cli v1 (#26616)
-  * Fix reopen logic for agit flow pull request (#26399) (#26613)
-  * Fix context filter has no effect in dashboard (#26695) (#26811)
-  * Fix being unable to use a repo that prohibits accepting PRs as a PR source. (#26785) (#26790)
-  * Fix Page Not Found error (#26768)
-
-## [1.20.3](https://github.com/go-gitea/gitea/releases/tag/v1.20.3) - 2023-08-20
-
-* BREAKING
-  * Fix the wrong derive path (#26271) (#26318)
-* SECURITY
-  * Fix API leaking Usermail if not logged in (#25097) (#26350)
-* FEATURES
-  * Add ThreadID parameter for Telegram webhooks (#25996) (#26480)
-* ENHANCEMENTS
-  * Add minimum polyfill to support "relative-time-element" in PaleMoon (#26575) (#26578)
-  * Fix dark theme highlight for "NameNamespace" (#26519) (#26527)
-  * Detect ogg mime-type as audio or video (#26494) (#26505)
-  * Use `object-fit: contain` for oauth2 custom icons (#26493) (#26498)
-  * Move dropzone progress bar to bottom to show filename when uploading (#26492) (#26497)
-  * Remove last newline from config file (#26468) (#26471)
-  * Minio: add missing region on client initialization (#26412) (#26438)
-  * Add pull request review request webhook event (#26401) (#26407)
-  * Fix text truncate (#26354) (#26384)
-  * Fix incorrect color of selected assignees when create issue (#26324) (#26372)
-  * Display human-readable text instead of cryptic filemodes (#26352) (#26358)
-  * Hide `last indexed SHA` when a repo could not be indexed yet (#26340) (#26345)
-  * Fix the topic validation rule and support dots (#26286) (#26303)
-  * Fix due date rendering the wrong date in issue (#26268) (#26274)
-  * Don't autosize textarea in diff view (#26233) (#26244)
-  * Fix commit compare style (#26209) (#26226)
-  * Warn instead of reporting an error when a webhook cannot be found (#26039) (#26211)
-* BUGFIXES
-  * Use "input" event instead of "keyup" event for migration form (#26602) (#26605)
-  * Do not use deprecated log config options by default (#26592) (#26600)
-  * Fix "issueReposQueryPattern does not match query" (#26556) (#26564)
-  * Sync repo's IsEmpty status correctly (#26517) (#26560)
-  * Fix project filter bugs (#26490) (#26558)
-  * Use `hidden` over `clip` for text truncation (#26520) (#26522)
-  * Set "type=button" for editor's toolbar buttons (#26510) (#26518)
-  * Fix NuGet search endpoints (#25613) (#26499)
-  * Fix storage path logic especially for relative paths (#26441) (#26481)
-  * Close stdout correctly for "git blame" (#26470) (#26473)
-  * Check first if minio bucket exists before trying to create it (#26420) (#26465)
-  * Avoiding accessing undefined tributeValues #26461 (#26462)
-  * Call git.InitSimple for runRepoSyncReleases (#26396) (#26450)
-  * Add transaction when creating pull request created dirty data (#26259) (#26437)
-  * Fix wrong middleware sequence (#26428) (#26436)
-  * Fix admin queue page title and fix CI failures (#26409) (#26421)
-  * Introduce ctx.PathParamRaw to avoid incorrect unescaping (#26392) (#26405)
-  * Bypass MariaDB performance bug of the "IN" sub-query, fix incorrect IssueIndex (#26279) (#26368)
-  * Fix incorrect CLI exit code and duplicate error message (#26346) (#26347)
-  * Prevent newline errors with Debian packages (#26332) (#26342)
-  * Fix bug with sqlite load read (#26305) (#26339)
-  * Make git batch operations use parent context timeout instead of default timeout (#26325) (#26330)
-  * Support getting changed files when commit ID is `EmptySHA` (#26290) (#26316)
-  * Clarify the logger's MODE config option (#26267) (#26281)
-  * Use shared template for webhook icons (#26242) (#26246)
-  * Fix pull request check list is limited (#26179) (#26245)
-  * Fix attachment clipboard copy on insecure origin (#26224) (#26231)
-  * Fix access check for org-level project (#26182) (#26223)
-* MISC
-  * Improve profile readme rendering (#25988) (#26453)
-  * [docs] Add missing backtick in quickstart.zh-cn.md (#26349) (#26357)
-  * Upgrade x/net to 0.13.0 (#26301)
-
-## [1.20.2](https://github.com/go-gitea/gitea/releases/tag/v1.20.2) - 2023-07-29
+## [1.20.2](https://github.com/go-gitea/gitea/releases/tag/1.20.2) - 2023-07-29
 
 * ENHANCEMENTS
   * Calculate MAX_WORKERS default value by CPU number (#26177) (#26183)
@@ -2339,7 +32,7 @@ Key highlights of this release encompass significant changes categorized under `
   * Fix wrong workflow status when rerun a job in an already finished workflow (#26119) (#26124)
   * Fix duplicated url prefix on issue context menu (#26066) (#26067)
 
-## [1.20.1](https://github.com/go-gitea/gitea/releases/tag/v1.20.1) - 2023-07-22
+## [1.20.1](https://github.com/go-gitea/gitea/releases/tag/1.20.1) - 2023-07-22
 
 * SECURITY
   * Disallow dangerous URL schemes (#25960) (#25964)
@@ -2499,7 +192,7 @@ Key highlights of this release encompass significant changes categorized under `
   * Add dark mode to API Docs (#24971)
   * Display file mode for new file and file mode changes (#24966)
   * Make the 500 page load themes (#24953)
-  * Show `bot` label next to username when rendering author link if the user is a bot (#24943)
+  * Show `bot` label next to username when rendering autor link if the user is a bot (#24943)
   * Repo list improvements, fix bold helper classes (#24935)
   * Improve queue and logger context (#24924)
   * Improve RunMode / dev mode (#24886)
@@ -2647,6 +340,7 @@ Key highlights of this release encompass significant changes categorized under `
   * Add option to search for users is active join a team (#24093)
   * Add PDF rendering via PDFObject (#24086)
   * Refactor web route (#24080)
+  * Make more functions use ctx instead of db.DefaultContext (#24068)
   * Make HTML template functions support context (#24056)
   * Refactor rename user and rename organization (#24052)
   * Localize milestone related time strings (#24051)
@@ -2894,7 +588,7 @@ Key highlights of this release encompass significant changes categorized under `
   * Replace `drone exec` to `act_runner exec` in test README.md (#24791)
   * Update packages overview page (#24730)
   * Docs for creating a user to run Gitea on Fedora/RHEL/CentOS (#24725)
-  * Move actions as usage's subdirectory and update comparison zh-cn version (#24719)
+  * Move actions as usage's subdirectory and update comparsion zh-cn version (#24719)
   * Document `redis-cluster` explicitly in config (#24717)
   * Improve reverse-proxy document and fix nginx config bug (#24616)
   * Fix broken `README` link (#24546)
@@ -2972,7 +666,7 @@ Key highlights of this release encompass significant changes categorized under `
   * Show visibility status of email in own profile (#23900)
   * Refactor authors dropdown (send get request from frontend to avoid long wait time) (#23890)
   * Add self to maintainers (#23644)
-  * Upgrade to npm lockfile v3 and explicitly set it (#23561)
+  * Upgrade to npm lockfile v3 and explicitely set it (#23561)
   * Improve indices for `action` table (#23532)
   * Update JS dependencies, Require Node.js 16 (#23528)
   * Add init file for Ubuntu (#23362)
@@ -2981,53 +675,554 @@ Key highlights of this release encompass significant changes categorized under `
   * More detailed branch delete message (#22696)
   * Add tooltips to `Hide comment type` settings where necessary (#21306)
 
-## [1.19.4](https://github.com/go-gitea/gitea/releases/tag/v1.19.4) - 2023-07-04
+## [1.20.0-rc2](https://github.com/go-gitea/gitea/releases/tag/1.20.0-rc2) - 2023-06-27
 
+* BREAKING
+  * 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 `font-awesome` and fomantic `icon` module (#24471)
+  * 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)
 * SECURITY
-  * Fix open redirect check for more cases (#25143) (#25155)
+  * Set type="password" on all auth_token fields (#22175)
+* FEATURES
+  * Add button on diff header to copy file name, misc diff header tweaks (#24986)
+  * API endpoint for changing/creating/deleting multiple files (#24887)
+  * Support changing git config through `app.ini`, use `diff.algorithm=histogram` by default (#24860)
+  * Add up and down arrows to selected lookup repositories (#24727)
+  * Add Go package registry (#24687)
+  * Add status indicator on main home screen for each repo (#24638)
+  * Support for status check pattern (#24633)
+  * Implement Cargo HTTP index (#24452)
+  * Add Debian package registry (#24426)
+  * Add the ability to pin Issues (#24406)
+  * Add follow organization and fix the logic of following page (#24345)
+  * Allow `webp` images as avatars (#24248)
+  * Support upload `outputs` and use `needs` context on Actions (#24230)
+  * Allow adding new files to an empty repo (#24164)
+  * Make wiki title supports dashes and improve wiki name related features (#24143)
+  * Add monospace toggle button to textarea (#24034)
+  * Use auto-updating, natively hoverable, localized time elements (#23988)
+  * Add ntlm authentication support for mail (#23811)
+  * Add CLI command to register runner tokens (#23762)
+  * Add Alpine package registry (#23714)
+  * Expand/Collapse all changed files (#23639)
+  * Add unset default project column (#23531)
+  * Add activity feeds API (#23494)
+  * Add RPM registry (#23380)
+  * Add meilisearch support (#23136)
+  * Add API for License templates (#23009)
+  * Add admin API email endpoints (#22792)
+  * Add user rename endpoint to admin api (#22789)
+  * Add API for gitignore templates (#22783)
+  * Implement actions artifacts (#22738)
+  * Add RSS Feeds for branches and files (#22719)
+  * Display when a repo was archived (#22664)
+  * Add Swift package registry (#22404)
+  * Add CRAN package registry (#22331)
+  * Add user webhooks (#21563)
+  * Implement systemd-notify protocol (#21151)
+  * Implement Issue Config (#20956)
 * API
-  * Return `404` in the API if the requested webhooks were not found (#24823) (#24830)
-  * Fix `organization` field being `null` in `GET /api/v1/teams/{id}` (#24694) (#24696)
+  * Fix `Permission` in API returned repository struct (#25388) (#25441)
+  * Add API for Label templates (#24602)
+  * Filters for GetAllCommits (#24568)
+  * Add ability to specify '--not' from GetAllCommits (#24409)
+  * Support uploading file to empty repo by API (#24357)
+  * Add absent repounits to create/edit repo API (#23500)
+  * Add login name and source id for admin user searching API (#23376)
+  * Create a branch directly from commit on the create branch API (#22956)
+  * Add API to manage issue dependencies (#17935)
 * ENHANCEMENTS
-  * Set `--font-weight-bold` to 600 (#24840)
-  * Make mailer SMTP check have timed context (#24751) (#24759)
-  * Do not select line numbers when selecting text from the action run logs (#24594) (#24596)
+  * Improve speed of loadprojects for issue list (#25468) (#25493)
+  * Move some regexp out of functions (#25430) (#25445)
+  * Diff page enhancements (#25398) (#25437)
+  * Various UI fixes (#25264) (#25431)
+  * Fix label list divider (#25312) (#25372)
+  * Fix UI on mobile view (#25315) (#25340)
+  * When viewing a file, hide the add button (#25320) (#25339)
+  * Show if File is Executable (#25287) (#25300)
+  * Fix edit OAuth application width (#25262) (#25263)
+  * Use flex to align SVG and text (#25163) (#25260)
+  * Revert overflow: overlay (revert #21850) (#25231) (#25239)
+  * Use inline SVG for built-in OAuth providers (#25171) (#25234)
+  * Change access token UI to select dropdowns (#25109) (#25230)
+  * Remove hacky patch for "safari emoji glitch fix"  (#25208) (#25211)
+  * Minor arc-green color tweaks (#25175) (#25205)
+  * Button and color enhancements (#24989) (#25176)
+  * Fix mobile navbar and misc cleanups (#25134) (#25169)
+  * Modify OAuth login ui and fix display name, iconurl related logic (#25030) (#25161)
+  * Improve notification icon and navbar  (#25111) (#25124)
+  * Add details summary for vertical menus in settings to allow toggling (#25098)
+  * Don't display `select all issues` checkbox when no issues are available (#25086)
+  * Use RepositoryList instead of []*Repository (#25074)
+  * Add ability to set multiple redirect URIs in OAuth application UI (#25072)
+  * Use git command instead of the ini package to remove the `origin` remote (#25066)
+  * Remove cancel button from branch protection form (#25063)
+  * Show file tree by default (#25052)
+  * Add Progressbar to Milestone Page (#25050)
+  * Minor UI improvements: logo alignment, auth map editor, auth name display (#25043)
+  * Allow for PKCE flow without client secret + add docs (#25033)
+  * Refactor INI package (first step) (#25024)
+  * Various style fixes (#25008)
+  * Fix delete user account modal (#25004)
+  * Refactor diffFileInfo / DiffTreeStore (#24998)
+  * Add user level action runners (#24995)
+  * Rename NotifyPullReviewRequest to NotifyPullRequestReviewRequest (#24988)
+  * Add step start time to `ViewStepLog` (#24980)
+  * Add dark mode to API Docs (#24971)
+  * Display file mode for new file and file mode changes (#24966)
+  * Make the 500 page load themes (#24953)
+  * Show `bot` label next to username when rendering autor link if the user is a bot (#24943)
+  * Repo list improvements, fix bold helper classes (#24935)
+  * Improve queue and logger context (#24924)
+  * Improve RunMode / dev mode (#24886)
+  * Improve some Forms (#24878)
+  * Add show timestamp/seconds and fullscreen options to action page (#24876)
+  * Fix double border and adjust width for user profile page (#24870)
+  * Improve Actions CSS (#24864)
+  * Fix `@font-face` overrides (#24855)
+  * Remove `In your repositories` link in milestones dashboard (#24853)
+  * Fix missing yes/no in delete time log modal (#24851)
+  * Show new pull request button also on subdirectories and files (#24842)
+  * Make environment-to-ini  support loading key value from file (#24832)
+  * Support wildcard in email domain allow/block list (#24831)
+  * Use `CommentList` instead of `[]*Comment` (#24828)
+  * Add RTL rendering support to Markdown (#24816)
+  * Rework notifications list (#24812)
+  * Mute repo names in dashboard repo list (#24811)
+  * Fix max width and margin of comment box on conversation page (#24809)
+  * Some refactors for issues stats (#24793)
+  * Rework label colors (#24790)
+  * Fix OAuth login loading state (#24788)
+  * Remove duplicated issues options and some more refactors (#24787)
+  * Decouple the different contexts from each other (#24786)
+  * Remove background on user dashboard filter bar (#24779)
+  * Improve and fix bugs surrounding reactions (#24760)
+  * Make the color of zero-contribution-squares in the activity heatmap more subtle (#24758)
+  * Fix WEBP image copying (#24743)
+  * Rework OAuth login buttons, swap github logo to monocolor (#24740)
+  * Consolidate the two review boxes into one (#24738)
+  * Unification of registration fields order (#24737)
+  * Refactor Pull Mirror and fix out-of-sync bugs (#24732)
+  * Improvements for action detail page (#24718)
+  * Fix flash of unstyled content in action view page (#24712)
+  * Don't filter action runs based on state (#24711)
+  * Optimize actions list by removing an unnecessary `git` call (#24710)
+  * Support no label/assignee filter and batch clearing labels/assignees (#24707)
+  * Add icon support for safari (#24697)
+  * Use standard HTTP library to serve files (#24693)
+  * Improve button-ghost, remove tertiary button (#24692)
+  * Only hide tooltip tippy instances (#24688)
+  * Support migrating storage for actions log via command line (#24679)
+  * Remove highlight in repo list (#24675)
+  * Add markdown preview to Submit Review Textarea (#24672)
+  * Update pin and add pin-slash (#24669)
+  * Improve empty notifications display (#24668)
+  * Support SSH for go get (#24664)
+  * Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653)
+  * Only show one tippy at a time (#24648)
+  * Notification list enhancements, fix striped tables on dark theme (#24639)
+  * Improve queue & process & stacktrace (#24636)
+  * Use the type RefName for all the needed places and fix pull mirror sync bugs (#24634)
+  * Remove fluid on compare diff page (#24627)
+  * Add a tooltip to the job rerun button (#24617)
+  * Attach a tooltip to the action status icon (#24614)
+  * Make the actions control button look like an actual button (#24611)
+  * Remove unnecessary code (#24610)
+  * Make repo migration cancelable and fix various bugs (#24605)
+  * Improve updating Actions tasks (#24600)
+  * Attach a tooltip to the action control button (#24595)
+  * Make repository response support HTTP range request (#24592)
+  * Improve Gitea's web context, decouple "issue template" code into service package (#24590)
+  * Modify luminance calculation and extract related functions into single files (#24586)
+  * Simplify template helper functions (#24570)
+  * Split "modules/context.go" to separate files (#24569)
+  * Add org visibility label to non-organization's dashboard (#24558)
+  * Update LDAP filters to include both username and email address (#24547)
+  * Review fixes and enhancements (#24526)
+  * Display warning when user try to rename default branch (#24512)
+  * Fix color for transfer related buttons when having no permission to act (#24510)
+  * Rework button coloring, add focus and active colors (#24507)
+  * New webhook trigger for receiving Pull Request review requests (#24481)
+  * Add goto issue id function (#24479)
+  * Fix incorrect webhook time and use relative-time to display it (#24477)
+  * RSS icon fixes (#24476)
+  * Replace `N/A` with `-` everywhere (#24474)
+  * Pass 'not' to commit count (#24473)
+  * Enhance stylelint rule config, remove dead CSS (#24472)
+  * Improve "new-menu" (#24465)
+  * Remove fomantic breadcrumb module (#24463)
+  * Improve template system and panic recovery (#24461)
+  * Make Issue/PR/projects more compact, misc CSS tweaks (#24459)
+  * Replace remaining fontawesome dropdown icons with SVG (#24455)
+  * Remove all direct references to font-awesome (#24448)
+  * Move links out of translation (#24446)
+  * Add `ui-monospace` and `SF Mono` to `--fonts-monospace` (#24442)
+  * Hide 'Mirror Settings' when unneeded, improve hints (#24433)
+  * Add "Updated" column for admin repositories list (#24429)
+  * Improve issue list filter (#24425)
+  * Rework header bar on issue, pull requests and milestone (#24420)
+  * Improve template helper (#24417)
+  * Make repo size style matches others (commits/branches/tags) (#24408)
+  * Support markdown editor for issue template (#24400)
+  * Improve commit date in commit graph (#24399)
+  * Start cleaning the messy ".ui.left / .ui.right", improve label list page, fix stackable menu (#24393)
+  * Merge setting.InitXXX into one function with options (#24389)
+  * Move `Rename branch` from repo settings page to the page of branches list (#24380)
+  * Improve protected branch setting page (#24379)
+  * Display 'Unknown' when runner.version is empty (#24378)
+  * Display owner of a runner as a tooltip instead of static text (#24377)
+  * Fix incorrect last online time in runner_edit.tmpl (#24376)
+  * Fix unclear `IsRepositoryExist` logic (#24374)
+  * Add custom helm repo name generated from url (#24363)
+  * Replace placeholders in licenses (#24354)
+  * Add rerun workflow button and refactor to use SVG octicons (#24350)
+  * Refactor "route" related code, fix Safari cookie bug (#24330)
+  * Alert error message if open dependencies are included in the issues that try to batch close (#24329)
+  * Add missed column title in runner management page (#24328)
+  * Automatically select the org when click create repo from org dashboard (#24325)
+  * Modify width of ui container, fine tune css for settings pages and org header (#24315)
+  * Fix config list overflow and layout (#24312)
+  * Improve some modal action buttons (#24289)
+  * Move code from module to service (#24287)
+  * Sort users and orgs on explore by recency by default (#24279)
+  * Allow using localized absolute date times within phrases with place holders and localize issue due date events (#24275)
+  * Show workflow config error on file view also (#24267)
+  * Improve template helper functions: string/slice (#24266)
+  * Use more specific test methods (#24265)
+  * Add `DumpVar` helper function to help debugging templates (#24262)
+  * Limit avatar upload to valid image files (#24258)
+  * Improve emoji and mention matching (#24255)
+  * Change to vertical navbar layout for secondary navbar for repo/user/admin settings (#24246)
+  * Refactor config provider (#24245)
+  * Improve test logger (#24235)
+  * Default show closed actions list if all actions was closed (#24234)
+  * Add missing badges in user profile for /projects and /packages (#24232)
+  * Add repository counter badge to repository tab (#24205)
+  * Move secrets and runners settings to actions settings (#24200)
+  * Require at least one unit to be enabled (#24189)
+  * Use same action status svg icons on actions list as on action page (#24178)
+  * Use secondary pointing menu for tabs on user/organization home page (#24162)
+  * Improve Wiki TOC (#24137)
+  * Refactor locale number (#24134)
+  * Localize activity heatmap (except tooltip) (#24131)
+  * Fix duplicate modals when clicking on "remove all" repository button (#24129)
+  * Add runner check in repo action page (#24124)
+  * Support triggering workflows by wiki related events (#24119)
+  * Refactor cookie (#24107)
+  * Remove untranslatable `on_date` key (#24106)
+  * Refactor delete_modal_actions template and use it for project column related actions (#24097)
+  * Improve git log for debugging (#24095)
+  * Add option to search for users is active join a team (#24093)
+  * Add PDF rendering via PDFObject (#24086)
+  * Refactor web route (#24080)
+  * Make more functions use ctx instead of db.DefaultContext (#24068)
+  * Make HTML template functions support context (#24056)
+  * Refactor rename user and rename organization (#24052)
+  * Localize milestone related time strings (#24051)
+  * Expand selected file when clicking file tree (#24041)
+  * Add popup to hashed comments/pull requests/issues in file editing/adding preview tab (#24040)
+  * Add placeholder and aria attributes to release and wiki edit page (#24031)
+  * Add new user types `reserved`, `bot`, and `remote` (#24026)
+  * Allow adding SSH keys even if SSH server is disabled (#24025)
+  * Use a general approach to access custom/static/builtin assets (#24022)
+  * Update github.com/google/go-github to v52 (#24004)
+  * Replace tribute with text-expander-element for textarea (#23985)
+  * Group template helper functions, remove `Printf`, improve template error messages (#23982)
+  * Drop "unrolled/render" package (#23965)
+  * Add job.duration in web ui (#23963)
+  * Tweak pull request branch delete ui (#23951)
+  * Merge template functions "dict/Dict/mergeinto" (#23932)
+  * Use a general Eval function for expressions in templates. (#23927)
+  * Clean template/helper.go (#23922)
+  * Actions: Use default branch as ref when a branch/tag delete occurs (#23910)
+  * Add tooltips for MD editor buttons and add `muted` class for buttons (#23896)
+  * Improve markdown editor: width, height, preferred (#23895)
+  * Make Release Download URLs predictable (#23891)
+  * Remove fomantic ".link" selector and styles (#23888)
+  * Added close/open button to details page of milestone (#23877)
+  * Introduce GitHub markdown editor, keep EasyMDE as fallback (#23876)
+  * Introduce GiteaLocaleNumber custom element to handle number localization on pages. (#23861)
+  * Make first section on home page full width (#23854)
+  * Use different SVG for pending and running actions (#23836)
+  * Display image size for multiarch container images (#23821)
+  * Improve action log display with control chars (#23820)
+  * Fix dropdown direction behavior (#23806)
+  * Fix incorrect/Improve error handle in edit user page (#23805)
+  * Use clippie module to copy to clipboard (#23801)
+  * Make minio package support legacy MD5 checksum (#23768)
+  * Add ONLY_SHOW_RELEVANT_REPOS back, fix explore page bug, make code more strict (#23766)
+  * Refactor docs (#23752)
+  * Fix markup background, improve wiki rendering (#23750)
+  * Make label templates have consistent behavior and priority (#23749)
+  * Improve LoadUnitConfig to handle invalid or duplicate units (#23736)
+  * Append `(comment)` when a link points at a comment rather than the whole issue (#23734)
+  * Clean some legacy files and move some build files (#23699)
+  * Refactor repo commit list (#23690)
+  * Refactor internal API for git commands, use meaningful messages instead of "Internal Server Error" (#23687)
+  * Add aria attributes to interactive time tooltips. (#23661)
+  * Fix long project name display in issue list and in related dropdown (#23653)
+  * Use data-tooltip-content for tippy tooltip (#23649)
+  * Fix new issue/pull request btn margin when it is next to sort (#23647)
+  * Fine tune more downdrop settings, use SVG for labels, improve Repo Topic Edit form (#23626)
+  * Allow new file and edit file preview if it has editable extension (#23624)
+  * Replace a few fontawesome icons with svg (#23602)
+  * `Publish Review` buttons should indicate why they are disabled (#23598)
+  * Convert issue list checkboxes to native (#23596)
+  * Set opaque background on markup and images (#23578)
+  * Use a general approach to show tooltip, fix temporary tooltip bug (#23574)
+  * Improve `` to make it output `svg` node and optimize performance (#23570)
+  * Enable color for consistency checks diffs (#23563)
+  * Fix dropdown icon misalignment when using fomantic icon (#23558)
+  * Decouple the issue-template code from comment_tab.tmpl (#23556)
+  * Remove `id="comment-form"` dead code, fix tag (#23555)
+  * Diff improvements (#23553)
+  * Sort Python package descriptors by version to mimic PyPI format (#23550)
+  * Use a general approch to improve a11y for all checkboxes and dropdowns. (#23542)
+  * Fix long name ui issues and label ui issue (#23541)
+  * Return `repository` in npm package metadata endpoint (#23539)
+  * Use `project.IconName` instead of repeated unreadable `if-else` chains (#23538)
+  * Remove stars in dashboard repo list (#23530)
+  * Update mini-css-extract-plugin, remove postcss (#23520)
+  * Change `Close` to either `Close issue` or `Close pull request` (#23506)
+  * Fix theme-auto loading (#23504)
+  * Fix tags sort by creation time (descending) on branch/tag dropdowns (#23491)
+  * Display the version of runner in the runner list (#23490)
+  * Replace Less with CSS (#23481)
+  * Fix `.locale.Tr` function not found in delete modal (#23468)
+  * Allow both fullname and username search when `DEFAULT_SHOW_FULL_NAME` is true (#23463)
+  * Add project type descriptions in issue badge and improve project icons (#23437)
+  * Use context for `RepositoryList.LoadAttributes` (#23435)
+  * Refactor branch/tag selector to Vue SFC (#23421)
+  * Keep (add if not existing) xmlns attribute for generated SVG images (#23410)
+  * Refactor dashboard repo list to Vue SFC (#23405)
+  * Add workflow error notification in ui (#23404)
+  * Refactor branch/tag selector dropdown (first step) (#23394)
+  * Reduce duplicate and useless code in options (#23369)
+  * Convert `
` to `