diff --git a/.air.toml b/.air.toml index de97bd8b298..8854041a25b 100644 --- a/.air.toml +++ b/.air.toml @@ -2,9 +2,10 @@ 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 = 1000 +delay = 2000 include_ext = ["go", "tmpl"] include_file = ["main.go"] include_dir = ["cmd", "models", "modules", "options", "routers", "services"] @@ -20,3 +21,6 @@ exclude_dir = [ ] exclude_regex = ["_test.go$", "_gen.go$"] stop_on_error = true + +[log] +main_only = true diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d391cf78cf7..1b0255d198b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,7 +10,8 @@ "ghcr.io/devcontainers-contrib/features/poetry:2": {}, "ghcr.io/devcontainers/features/python:1": { "version": "3.12" - } + }, + "ghcr.io/warrenbuckley/codespace-features/sqlite:1": {} }, "customizations": { "vscode": { @@ -25,8 +26,9 @@ "Vue.volar", "ms-azuretools.vscode-docker", "vitest.explorer", - "qwtel.sqlite-viewer", - "GitHub.vscode-pull-request-github" + "cweijan.vscode-database-client2", + "GitHub.vscode-pull-request-github", + "Azurite.azurite" ] } }, diff --git a/.dockerignore b/.dockerignore index 5cec84c9a3a..b696e1603cc 100644 --- a/.dockerignore +++ b/.dockerignore @@ -14,7 +14,7 @@ _test # MS VSCode .vscode -__debug_bin +__debug_bin* # Architecture specific extensions/prefixes *.[568vq] @@ -78,7 +78,6 @@ cpu.out /public/assets/css /public/assets/fonts /public/assets/img/avatar -/public/assets/img/webpack /vendor /web_src/fomantic/node_modules /web_src/fomantic/build/* @@ -96,6 +95,9 @@ cpu.out /.air /.go-licenses +# Files and folders that were previously generated +/public/assets/img/webpack + # Snapcraft snap/.snapcraft/ parts/ diff --git a/.envrc b/.envrc new file mode 100644 index 00000000000..3550a30f2de --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.eslintrc.yaml b/.eslintrc.yaml index ea14d27d4c1..809817396ed 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -3,18 +3,33 @@ 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/extensions: [".js", ".ts"] + import/parsers: + "@typescript-eslint/parser": [".js", ".ts"] + import/resolver: + typescript: true plugins: - "@eslint-community/eslint-plugin-eslint-comments" - "@stylistic/eslint-plugin-js" + - "@typescript-eslint/eslint-plugin" - eslint-plugin-array-func + - eslint-plugin-deprecation - eslint-plugin-github - eslint-plugin-i - - eslint-plugin-jquery - eslint-plugin-no-jquery - eslint-plugin-no-use-extend-native - eslint-plugin-regexp @@ -45,7 +60,15 @@ overrides: - files: ["*.config.*"] rules: i/no-unused-modules: [0] - - files: ["**/*.test.*", "web_src/js/test/setup.js"] + - files: ["**/*.d.ts"] + rules: + i/no-unused-modules: [0] + "@typescript-eslint/consistent-type-definitions": [0] + "@typescript-eslint/consistent-type-imports": [0] + - files: ["web_src/js/types.ts"] + rules: + i/no-unused-modules: [0] + - files: ["**/*.test.*", "web_src/js/test/setup.ts"] env: vitest-globals/env: true rules: @@ -98,9 +121,25 @@ overrides: vitest/valid-describe-callback: [2] vitest/valid-expect: [2] vitest/valid-title: [2] - - files: ["web_src/js/modules/fetch.js", "web_src/js/standalone/**/*"] + - files: ["web_src/js/modules/fetch.ts", "web_src/js/standalone/**/*"] rules: no-restricted-syntax: [2, WithStatement, ForInStatement, LabeledStatement, SequenceExpression] + - files: ["**/*.vue"] + plugins: + - eslint-plugin-vue + - eslint-plugin-vue-scoped-css + extends: + - plugin:vue/vue3-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] @@ -125,19 +164,21 @@ rules: "@stylistic/js/computed-property-spacing": [2, never] "@stylistic/js/dot-location": [2, property] "@stylistic/js/eol-last": [2] - "@stylistic/js/function-call-spacing": [2, never] "@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] @@ -167,7 +208,7 @@ rules: "@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": [0] + "@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] @@ -178,6 +219,125 @@ rules: "@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-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": [0] + "@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] @@ -199,6 +359,7 @@ rules: default-case-last: [2] default-case: [0] default-param-last: [0] + deprecation/deprecation: [2] dot-notation: [0] eqeqeq: [2] for-direction: [2] @@ -260,7 +421,7 @@ rules: i/no-internal-modules: [0] i/no-mutable-exports: [0] i/no-named-as-default-member: [0] - i/no-named-as-default: [2] + i/no-named-as-default: [0] i/no-named-default: [0] i/no-named-export: [0] i/no-namespace: [0] @@ -270,7 +431,7 @@ rules: i/no-restricted-paths: [0] i/no-self-import: [2] i/no-unassigned-import: [0] - i/no-unresolved: [2, {commonjs: true, ignore: ["\\?.+$", ^vitest/]}] + i/no-unresolved: [2, {commonjs: true, ignore: ["\\?.+$"]}] i/no-unused-modules: [2, {unusedExports: true}] i/no-useless-path-segments: [2, {commonjs: true}] i/no-webpack-loader-syntax: [2] @@ -278,55 +439,6 @@ rules: i/prefer-default-export: [0] i/unambiguous: [0] init-declarations: [0] - jquery/no-ajax-events: [2] - jquery/no-ajax: [2] - 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: [2] - jquery/no-data: [0] - jquery/no-deferred: [2] - jquery/no-delegate: [2] - jquery/no-each: [0] - jquery/no-extend: [2] - jquery/no-fade: [2] - 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: [2] - jquery/no-load: [2] - jquery/no-map: [2] - jquery/no-merge: [2] - jquery/no-param: [2] - jquery/no-parent: [0] - jquery/no-parents: [0] - jquery/no-parse-html: [2] - jquery/no-prop: [2] - 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] line-comment-position: [0] logical-assignment-operators: [0] max-classes-per-file: [0] @@ -339,7 +451,7 @@ rules: multiline-comment-style: [2, separate-lines] new-cap: [0] no-alert: [0] - no-array-constructor: [2] + no-array-constructor: [0] # handled by @typescript-eslint/no-array-constructor no-async-promise-executor: [0] no-await-in-loop: [0] no-bitwise: [0] @@ -364,7 +476,7 @@ rules: no-dupe-else-if: [2] no-dupe-keys: [2] no-duplicate-case: [2] - no-duplicate-imports: [2] + no-duplicate-imports: [0] no-else-return: [2] no-empty-character-class: [2] no-empty-function: [0] @@ -383,7 +495,7 @@ rules: no-global-assign: [2] no-implicit-coercion: [2] no-implicit-globals: [0] - no-implied-eval: [2] + no-implied-eval: [0] # handled by @typescript-eslint/no-implied-eval no-import-assign: [2] no-inline-comments: [0] no-inner-declarations: [2] @@ -397,12 +509,12 @@ rules: no-jquery/no-animate-toggle: [2] no-jquery/no-animate: [2] no-jquery/no-append-html: [2] - no-jquery/no-attr: [0] + 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: [0] + no-jquery/no-class-state: [2] no-jquery/no-class: [0] no-jquery/no-clone: [2] no-jquery/no-closest: [0] @@ -457,8 +569,8 @@ rules: 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-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] @@ -469,11 +581,11 @@ rules: no-jquery/no-selector-prop: [2] no-jquery/no-serialize: [2] no-jquery/no-size: [2] - no-jquery/no-sizzle: [0] + no-jquery/no-sizzle: [2] no-jquery/no-slide: [2] no-jquery/no-sub: [2] no-jquery/no-support: [2] - no-jquery/no-text: [0] + no-jquery/no-text: [2] no-jquery/no-trigger: [0] no-jquery/no-trim: [2] no-jquery/no-type: [2] @@ -511,12 +623,12 @@ rules: no-promise-executor-return: [0] no-proto: [2] no-prototype-builtins: [2] - no-redeclare: [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, 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, SequenceExpression, {selector: "CallExpression[callee.name='fetch']", message: "use modules/fetch.js instead"}] + no-restricted-syntax: [2, WithStatement, ForInStatement, LabeledStatement, SequenceExpression, {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}] @@ -536,7 +648,7 @@ rules: no-underscore-dangle: [0] no-unexpected-multiline: [2] no-unmodified-loop-condition: [2] - no-unneeded-ternary: [0] + no-unneeded-ternary: [2] no-unreachable-loop: [2] no-unreachable: [2] no-unsafe-finally: [2] @@ -544,7 +656,7 @@ rules: 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-unused-vars: [0] # handled by @typescript-eslint/no-unused-vars 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] @@ -659,7 +771,7 @@ rules: regexp/unicode-escape: [0] regexp/use-ignore-case: [0] require-atomic-updates: [0] - require-await: [0] + require-await: [0] # handled by @typescript-eslint/require-await require-unicode-regexp: [0] require-yield: [2] sonarjs/cognitive-complexity: [0] @@ -703,6 +815,7 @@ rules: unicorn/better-regex: [0] unicorn/catch-error-name: [0] unicorn/consistent-destructuring: [2] + unicorn/consistent-empty-array-spread: [2] unicorn/consistent-function-scoping: [2] unicorn/custom-error-definition: [0] unicorn/empty-brace-spaces: [2] @@ -715,28 +828,35 @@ rules: 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] @@ -788,16 +908,18 @@ rules: unicorn/prefer-object-has-own: [0] unicorn/prefer-optional-catch-binding: [2] unicorn/prefer-prototype-methods: [0] - unicorn/prefer-query-selector: [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] diff --git a/.gitattributes b/.gitattributes index 467b8a47b5d..9fb4a4e83dd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,6 @@ * text=auto eol=lf *.tmpl linguist-language=Handlebars +*.pb.go linguist-generated /assets/*.json linguist-generated /public/assets/img/svg/*.svg linguist-generated /templates/swagger/v1_json.tmpl linguist-generated diff --git a/.gitea/issue_template.md b/.gitea/issue_template.md index 9ad186cca7c..cf173a67cae 100644 --- a/.gitea/issue_template.md +++ b/.gitea/issue_template.md @@ -3,7 +3,7 @@ + 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. 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. +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. diff --git a/.github/workflows/cron-translations.yml b/.github/workflows/cron-translations.yml index 390aae7c079..f1b51debf12 100644 --- a/.github/workflows/cron-translations.yml +++ b/.github/workflows/cron-translations.yml @@ -11,14 +11,19 @@ jobs: if: github.repository == 'go-gitea/gitea' steps: - uses: actions/checkout@v4 - - name: download from crowdin - uses: docker://jonasfranz/crowdin + - 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 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 @@ -31,19 +36,3 @@ 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@v4 - - 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/disk-clean.yml b/.github/workflows/disk-clean.yml deleted file mode 100644 index 8abe8891c79..00000000000 --- a/.github/workflows/disk-clean.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: disk-clean - -on: - workflow_call: - -jobs: - triage: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Free Disk Space (Ubuntu) - uses: jlumbroso/free-disk-space@main - with: - # this might remove tools that are actually needed, - # if set to "true" but frees about 6 GB - tool-cache: false - - # all of these default to true, but feel free to set to - # "false" if necessary for your workflow - android: true - dotnet: true - haskell: true - large-packages: false - docker-images: false - swap-storage: true diff --git a/.github/workflows/files-changed.yml b/.github/workflows/files-changed.yml index f9b6b1ec495..7c1fb024421 100644 --- a/.github/workflows/files-changed.yml +++ b/.github/workflows/files-changed.yml @@ -58,12 +58,11 @@ jobs: - "package-lock.json" - "Makefile" - ".eslintrc.yaml" - - ".stylelintrc.yaml" + - "stylelint.config.js" - ".npmrc" docs: - "**/*.md" - - "docs/**" - ".markdownlint.yaml" - "package.json" - "package-lock.json" @@ -73,6 +72,7 @@ jobs: - "Makefile" templates: + - "tools/lint-templates-*.js" - "templates/**/*.tmpl" - "pyproject.toml" - "poetry.lock" diff --git a/.github/workflows/pull-compliance.yml b/.github/workflows/pull-compliance.yml index 02a265b1ffd..429829dfe0f 100644 --- a/.github/workflows/pull-compliance.yml +++ b/.github/workflows/pull-compliance.yml @@ -35,8 +35,14 @@ jobs: - uses: actions/setup-python@v5 with: python-version: "3.12" + - uses: actions/setup-node@v4 + with: + node-version: 20 + 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: @@ -61,6 +67,8 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 + cache: npm + cache-dependency-path: package-lock.json - run: make deps-frontend - run: make lint-swagger @@ -130,6 +138,8 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 + cache: npm + cache-dependency-path: package-lock.json - run: make deps-frontend - run: make lint-frontend - run: make checks-frontend @@ -177,9 +187,10 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 + cache: npm + cache-dependency-path: package-lock.json - run: make deps-frontend - run: make lint-md - - run: make docs actions: if: needs.files-changed.outputs.actions == 'true' || needs.files-changed.outputs.actions == 'true' diff --git a/.github/workflows/pull-db-tests.yml b/.github/workflows/pull-db-tests.yml index 61c03915096..246884f24b1 100644 --- a/.github/workflows/pull-db-tests.yml +++ b/.github/workflows/pull-db-tests.yml @@ -119,6 +119,10 @@ 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 @@ -126,7 +130,7 @@ jobs: go-version-file: go.mod check-latest: true - name: Add hosts to /etc/hosts - run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 mysql elasticsearch meilisearch smtpimap" | sudo tee -a /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: make deps-backend - run: make backend env: @@ -204,6 +208,10 @@ jobs: 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 @@ -211,7 +219,7 @@ jobs: go-version-file: go.mod check-latest: true - name: Add hosts to /etc/hosts - run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 mssql" | sudo tee -a /etc/hosts' + run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 mssql devstoreaccount1.azurite.local" | sudo tee -a /etc/hosts' - run: make deps-backend - run: make backend env: diff --git a/.github/workflows/pull-e2e-tests.yml b/.github/workflows/pull-e2e-tests.yml index 5a249db9f8d..35ac7598f6b 100644 --- a/.github/workflows/pull-e2e-tests.yml +++ b/.github/workflows/pull-e2e-tests.yml @@ -24,6 +24,8 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 + cache: npm + cache-dependency-path: package-lock.json - run: make deps-frontend frontend deps-backend - run: npx playwright install --with-deps - run: make test-e2e-sqlite diff --git a/.github/workflows/release-nightly.yml b/.github/workflows/release-nightly.yml index 80e6683919f..10fe94b2965 100644 --- a/.github/workflows/release-nightly.yml +++ b/.github/workflows/release-nightly.yml @@ -9,8 +9,6 @@ concurrency: cancel-in-progress: true jobs: - disk-clean: - uses: ./.github/workflows/disk-clean.yml nightly-binary: runs-on: nscloud steps: @@ -25,6 +23,8 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 + cache: npm + cache-dependency-path: package-lock.json - run: make deps-frontend deps-backend # xgo build - run: make release @@ -47,7 +47,7 @@ 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}" >> "$GITHUB_OUTPUT" + echo "branch=${REF_NAME}-nightly" >> "$GITHUB_OUTPUT" - name: configure aws uses: aws-actions/configure-aws-credentials@v4 with: diff --git a/.github/workflows/release-tag-rc.yml b/.github/workflows/release-tag-rc.yml index 12d1e1e4beb..55908d3657a 100644 --- a/.github/workflows/release-tag-rc.yml +++ b/.github/workflows/release-tag-rc.yml @@ -24,6 +24,8 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 + cache: npm + cache-dependency-path: package-lock.json - run: make deps-frontend deps-backend # xgo build - run: make release diff --git a/.github/workflows/release-tag-version.yml b/.github/workflows/release-tag-version.yml index e0e93633e8a..edf7ea1270d 100644 --- a/.github/workflows/release-tag-version.yml +++ b/.github/workflows/release-tag-version.yml @@ -26,6 +26,8 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 + cache: npm + cache-dependency-path: package-lock.json - run: make deps-frontend deps-backend # xgo build - run: make release diff --git a/.gitignore b/.gitignore index abf9565cff3..7889df77b1e 100644 --- a/.gitignore +++ b/.gitignore @@ -77,7 +77,6 @@ cpu.out /public/assets/css /public/assets/fonts /public/assets/licenses.txt -/public/assets/img/webpack /vendor /web_src/fomantic/node_modules /web_src/fomantic/build/* @@ -95,6 +94,9 @@ cpu.out /.air /.go-licenses +# Files and folders that were previously generated +/public/assets/img/webpack + # Snapcraft /gitea_a*.txt snap/.snapcraft/ @@ -106,6 +108,9 @@ 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 f573d55a767..8671edc47cc 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -43,7 +43,7 @@ vscode: - Vue.volar - ms-azuretools.vscode-docker - vitest.explorer - - qwtel.sqlite-viewer + - cweijan.vscode-database-client2 - GitHub.vscode-pull-request-github ports: diff --git a/.golangci.yml b/.golangci.yml index d6ce37f49af..37617ad3652 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,13 +1,14 @@ linters: + enable-all: false + disable-all: true + fast: false 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 @@ -17,23 +18,20 @@ linters: - nolintlint - revive - staticcheck - # - structcheck # deprecated - https://github.com/golangci/golangci-lint/issues/1841 - stylecheck - typecheck - unconvert - unused - # - varcheck # deprecated - https://github.com/golangci/golangci-lint/issues/1841 + - unparam - wastedassign - enable-all: false - disable-all: true - fast: false run: timeout: 10m - skip-dirs: - - node_modules - - public - - web_src + +output: + sort-results: true + sort-order: [file] + show-stats: true linters-settings: stylecheck: @@ -45,33 +43,39 @@ linters-settings: - 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 + 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: error-naming + - name: errorf - name: exported + - name: identical-branches - name: if-return - name: increment-decrement - - name: var-naming - - name: var-declaration + - 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: indent-error-flow - - name: errorf - - name: duplicated-imports - - name: modifies-value-receiver + - name: unreachable-code + - name: var-declaration + - name: var-naming gofumpt: extra-rules: true depguard: @@ -90,12 +94,15 @@ linters-settings: 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 issues: max-issues-per-linter: 0 max-same-issues: 0 + exclude-dirs: [node_modules, public, web_src] + exclude-case-sensitive: true exclude-rules: - # Exclude some linters from running on tests files. - path: _test\.go linters: - gocyclo @@ -113,19 +120,19 @@ issues: - path: cmd linters: - forbidigo - - linters: + - text: "webhook" + linters: - dupl - text: "webhook" - - linters: + - text: "`ID' should not be capitalized" + linters: - gocritic - text: "`ID' should not be capitalized" - - linters: + - text: "swagger" + linters: - unused - deadcode - text: "swagger" - - linters: + - text: "argument x is overwritten before first use" + linters: - staticcheck - text: "argument x is overwritten before first use" - text: "commentFormatting: put a space between `//` and comment text" linters: - gocritic diff --git a/.ignore b/.ignore index 5c945ab9810..5b96dabd38a 100644 --- a/.ignore +++ b/.ignore @@ -4,6 +4,8 @@ /modules/options/bindata.go /modules/public/bindata.go /modules/templates/bindata.go -/vendor +/options/gitignore +/options/license /public/assets +/vendor node_modules diff --git a/.stylelintrc.yaml b/.stylelintrc.yaml deleted file mode 100644 index 60cce7dbf75..00000000000 --- a/.stylelintrc.yaml +++ /dev/null @@ -1,223 +0,0 @@ -plugins: - - stylelint-declaration-strict-value - - stylelint-declaration-block-no-ignored-properties - - "@stylistic/stylelint-plugin" - -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: - "@stylistic/at-rule-name-case": null - "@stylistic/at-rule-name-newline-after": null - "@stylistic/at-rule-name-space-after": null - "@stylistic/at-rule-semicolon-newline-after": null - "@stylistic/at-rule-semicolon-space-before": null - "@stylistic/block-closing-brace-empty-line-before": null - "@stylistic/block-closing-brace-newline-after": null - "@stylistic/block-closing-brace-newline-before": null - "@stylistic/block-closing-brace-space-after": null - "@stylistic/block-closing-brace-space-before": null - "@stylistic/block-opening-brace-newline-after": null - "@stylistic/block-opening-brace-newline-before": null - "@stylistic/block-opening-brace-space-after": null - "@stylistic/block-opening-brace-space-before": always - "@stylistic/color-hex-case": lower - "@stylistic/declaration-bang-space-after": never - "@stylistic/declaration-bang-space-before": null - "@stylistic/declaration-block-semicolon-newline-after": null - "@stylistic/declaration-block-semicolon-newline-before": null - "@stylistic/declaration-block-semicolon-space-after": null - "@stylistic/declaration-block-semicolon-space-before": never - "@stylistic/declaration-block-trailing-semicolon": null - "@stylistic/declaration-colon-newline-after": null - "@stylistic/declaration-colon-space-after": null - "@stylistic/declaration-colon-space-before": never - "@stylistic/function-comma-newline-after": null - "@stylistic/function-comma-newline-before": null - "@stylistic/function-comma-space-after": null - "@stylistic/function-comma-space-before": null - "@stylistic/function-max-empty-lines": 0 - "@stylistic/function-parentheses-newline-inside": never-multi-line - "@stylistic/function-parentheses-space-inside": null - "@stylistic/function-whitespace-after": null - "@stylistic/indentation": 2 - "@stylistic/linebreaks": null - "@stylistic/max-empty-lines": 1 - "@stylistic/max-line-length": null - "@stylistic/media-feature-colon-space-after": null - "@stylistic/media-feature-colon-space-before": never - "@stylistic/media-feature-name-case": null - "@stylistic/media-feature-parentheses-space-inside": null - "@stylistic/media-feature-range-operator-space-after": always - "@stylistic/media-feature-range-operator-space-before": always - "@stylistic/media-query-list-comma-newline-after": null - "@stylistic/media-query-list-comma-newline-before": null - "@stylistic/media-query-list-comma-space-after": null - "@stylistic/media-query-list-comma-space-before": null - "@stylistic/named-grid-areas-alignment": null - "@stylistic/no-empty-first-line": null - "@stylistic/no-eol-whitespace": true - "@stylistic/no-extra-semicolons": true - "@stylistic/no-missing-end-of-source-newline": null - "@stylistic/number-leading-zero": null - "@stylistic/number-no-trailing-zeros": null - "@stylistic/property-case": lower - "@stylistic/selector-attribute-brackets-space-inside": null - "@stylistic/selector-attribute-operator-space-after": null - "@stylistic/selector-attribute-operator-space-before": null - "@stylistic/selector-combinator-space-after": null - "@stylistic/selector-combinator-space-before": null - "@stylistic/selector-descendant-combinator-no-non-space": null - "@stylistic/selector-list-comma-newline-after": null - "@stylistic/selector-list-comma-newline-before": null - "@stylistic/selector-list-comma-space-after": always-single-line - "@stylistic/selector-list-comma-space-before": never-single-line - "@stylistic/selector-max-empty-lines": 0 - "@stylistic/selector-pseudo-class-case": lower - "@stylistic/selector-pseudo-class-parentheses-space-inside": never - "@stylistic/selector-pseudo-element-case": lower - "@stylistic/string-quotes": double - "@stylistic/unicode-bom": null - "@stylistic/unit-case": lower - "@stylistic/value-list-comma-newline-after": null - "@stylistic/value-list-comma-newline-before": null - "@stylistic/value-list-comma-space-after": null - "@stylistic/value-list-comma-space-before": null - "@stylistic/value-list-max-empty-lines": 0 - 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, {ignoreAtRules: [tailwind]}] - 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: {line-height: [em]} - 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: true - 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, ignore: [custom-properties], ignoreFunctions: [var]] - 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 - media-query-no-invalid: true - 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: [true, ignoreAtRules: [tailwind]] - no-irregular-whitespace: true - no-unknown-animations: null - no-unknown-custom-properties: null - number-max-precision: null - plugin/declaration-block-no-ignored-properties: true - 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$/, font-weight], {ignoreValues: /^(inherit|transparent|unset|initial|currentcolor|none)$/, ignoreFunctions: false, disableFix: true, expandShorthand: true}] - selector-anb-no-unmatchable: 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/CHANGELOG-archived.md b/CHANGELOG-archived.md new file mode 100644 index 00000000000..e0551d39a6e --- /dev/null +++ b/CHANGELOG-archived.md @@ -0,0 +1,5223 @@ +# 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 e119d0bec01..04fffd4a4e3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,9 +1,148 @@
 # Changelog
 
-This changelog goes through all the changes that have been made in each release
+This changelog goes through 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).
 
+## [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
@@ -159,11 +298,11 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
   * 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)
-  * Initalize stroage for orphaned repository doctor (#28487) (#28490)
+  * 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 comparsion as Github Actions (#28560) (#28564)
+  * 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)
@@ -673,7 +812,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
   * Docs: template variables (#26547)
   * Update index doc (#26455)
   * Update zh-cn documentation (#26406)
-  * Fix typos and grammer problems for actions documentation (#26328)
+  * 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)
@@ -762,7 +901,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
   * 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 suport dots (#26286) (#26303)
+  * 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)
@@ -989,7 +1128,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
   * 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)
+  * Show `bot` label next to username when rendering author 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)
@@ -1384,7 +1523,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
   * 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 comparsion zh-cn version (#24719)
+  * Move actions as usage's subdirectory and update comparison 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)
@@ -1462,7 +1601,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
   * 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 explicitely set it (#23561)
+  * Upgrade to npm lockfile v3 and explicitly set it (#23561)
   * Improve indices for `action` table (#23532)
   * Update JS dependencies, Require Node.js 16 (#23528)
   * Add init file for Ubuntu (#23362)
@@ -1503,7 +1642,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
   * Fix issues list page multiple selection update milestones (#24660) (#24663)
   * Fix: release page for empty or non-existing target (#24659)
   * Fix close org projects (#24588) (#24591)
-  * Refresh the refernce of the closed PR when reopening (#24231) (#24587)
+  * Refresh the references of the closed PR when reopening (#24231) (#24587)
   * Fix the permission of team's `Actions` unit issue (#24536) (#24545)
   * Bump go.etcd.io/bbolt and blevesearch deps (#23062) (#24519)
   * Fix new wiki page mirror (#24518)
@@ -2644,7 +2783,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
   * Feeds: render markdown to html (#19058)
   * Allow users to self-request a PR review (#19030)
   * Allow render HTML with css/js external links (#19017)
-  * Fix script compatiable with OpenWrt (#19000)
+  * Fix script compatible with OpenWrt (#19000)
   * Support ignore all santize for external renderer (#18984)
   * Add note to GPG key response if user has no keys (#18961)
   * Improve Stopwatch behavior (#18930)
@@ -2975,7 +3114,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
   * Update go-org to v1.6.1 (#18932) (#18933)
   * Fix `` html in translation (#18929) (#18931)
   * Fix page and missing return on unadopted repos API (#18848) (#18927)
-  * Allow adminstrator teams members to see other teams (#18918) (#18919)
+  * Allow administrator teams members to see other teams (#18918) (#18919)
   * Don't treat BOM escape sequence as hidden character. (#18909) (#18910)
   * Correctly link URLs to users/repos with dashes, dots or underscores (… (#18908)
   * Fix redirect when using lowercase repo name (#18775) (#18902)
@@ -3323,7 +3462,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
   * Fixed issue merged/closed wording (#17973)
   * Return nicer error for ForcePrivate (#17971)
   * Fix overflow in commit graph (#17947)
-  * Prevent services/mailer/mailer_test.go tests from deleteing data directory (#17941)
+  * Prevent services/mailer/mailer_test.go tests from deleting data directory (#17941)
   * Use disable_form_autofill on Codebase and Gitbucket (#17936)
   * Fix a panic in NotifyCreateIssueComment (caused by string truncation) (#17928)
   * Fix markdown URL parsing (#17924)
@@ -3362,7 +3501,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
   * Fixed emoji alias not parsed in links (#16221)
   * Calculate label URL on API  (#16186)
 * TRANSLATION
-  * Fix mispelling of starred as stared (#17465)
+  * Fix misspelling of starred as stared (#17465)
   * Re-separate the color translation strings (#17390)
   * Enable Malayalam, Greek, Persian, Hungarian & Indonesian by default (#16998)
 * BUILD
@@ -3371,5219 +3510,6 @@ been added to each release, please refer to the [blog](https://blog.gitea.com).
 * MISC
   * Update JS dependencies (#17611)
 
-## [1.15.11](https://github.com/go-gitea/gitea/releases/tag/v1.15.11) - 2022-01-29
+## Archived releases
 
-* 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 respository (#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 revelance (#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 transfering 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 convertion (#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 statuse 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 accidential 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 responce (#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 settting 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 suceeds (#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 resuable (#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 commited (#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-comparsion (#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 commited (#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 privelege 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 privelege 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 conflit 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 partecipants 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 commiting 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 appearence 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)
-  * Realy 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 compitable (#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 enviroment 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 accidential 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 compitable 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
+* [CHANGELOG-archived.md](CHANGELOG-archived.md)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 5d20bc25894..60146276dba 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -77,7 +77,7 @@ If your issue has not been reported yet, [open an issue](https://github.com/go-g
 and answer the questions so we can understand and reproduce the problematic behavior. \
 Please write clear and concise instructions so that we can reproduce the behavior — even if it seems obvious. \
 The more detailed and specific you are, the faster we can fix the issue. \
-It is really helpful if you can reproduce your problem on a site running on the latest commits, i.e. , as perhaps your problem has already been fixed on a current version. \
+It is really helpful if you can reproduce your problem on a site running on the latest commits, i.e. , as perhaps your problem has already been fixed on a current version. \
 Please follow the guidelines described in [How to Report Bugs Effectively](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html) for your report.
 
 Please be kind, remember that Gitea comes at no cost to you, and you're getting free help.
@@ -358,11 +358,12 @@ $REWRITTEN_PR_SUMMARY
 
 ## Documentation
 
-If you add a new feature or change an existing aspect of Gitea, the documentation for that feature must be created or updated in the same PR.
+If you add a new feature or change an existing aspect of Gitea, the documentation for that feature must be created or updated in another PR at [https://gitea.com/gitea/docs](https://gitea.com/gitea/docs).
+**The docs directory on main repository will be removed at some time. We will have a yaml file to store configuration file's meta data. After that completed, configuration documentation should be in the main repository.**
 
 ## API v1
 
-The API is documented by [swagger](http://try.gitea.io/api/swagger) and is based on [the GitHub API](https://docs.github.com/en/rest).
+The API is documented by [swagger](https://gitea.com/api/swagger) and is based on [the GitHub API](https://docs.github.com/en/rest).
 
 ### GitHub API compatibility
 
diff --git a/Dockerfile b/Dockerfile
index b647c0cd590..6621dded9d7 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,12 +1,12 @@
 # Build stage
-FROM docker.io/library/golang:1.22-alpine3.19 AS build-env
+FROM docker.io/library/golang:1.22-alpine3.20 AS build-env
 
 ARG GOPROXY
-ENV GOPROXY ${GOPROXY:-direct}
+ENV GOPROXY=${GOPROXY:-direct}
 
 ARG GITEA_VERSION
 ARG TAGS="sqlite sqlite_unlock_notify"
-ENV TAGS "bindata timetzdata $TAGS"
+ENV TAGS="bindata timetzdata $TAGS"
 ARG CGO_EXTRA_CFLAGS
 
 # Build deps
@@ -41,7 +41,7 @@ RUN chmod 755 /tmp/local/usr/bin/entrypoint \
               /go/src/code.gitea.io/gitea/environment-to-ini
 RUN chmod 644 /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete
 
-FROM docker.io/library/alpine:3.19
+FROM docker.io/library/alpine:3.20
 LABEL maintainer="maintainers@gitea.io"
 
 EXPOSE 22 3000
@@ -72,8 +72,8 @@ RUN addgroup \
     git && \
   echo "git:*" | chpasswd -e
 
-ENV USER git
-ENV GITEA_CUSTOM /data/gitea
+ENV USER=git
+ENV GITEA_CUSTOM=/data/gitea
 
 VOLUME ["/data"]
 
diff --git a/Dockerfile.rootless b/Dockerfile.rootless
index dd7da972783..736cea5d055 100644
--- a/Dockerfile.rootless
+++ b/Dockerfile.rootless
@@ -1,12 +1,12 @@
 # Build stage
-FROM docker.io/library/golang:1.22-alpine3.19 AS build-env
+FROM docker.io/library/golang:1.22-alpine3.20 AS build-env
 
 ARG GOPROXY
-ENV GOPROXY ${GOPROXY:-direct}
+ENV GOPROXY=${GOPROXY:-direct}
 
 ARG GITEA_VERSION
 ARG TAGS="sqlite sqlite_unlock_notify"
-ENV TAGS "bindata timetzdata $TAGS"
+ENV TAGS="bindata timetzdata $TAGS"
 ARG CGO_EXTRA_CFLAGS
 
 #Build deps
@@ -39,7 +39,7 @@ RUN chmod 755 /tmp/local/usr/local/bin/docker-entrypoint.sh \
               /go/src/code.gitea.io/gitea/environment-to-ini
 RUN chmod 644 /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete
 
-FROM docker.io/library/alpine:3.19
+FROM docker.io/library/alpine:3.20
 LABEL maintainer="maintainers@gitea.io"
 
 EXPOSE 2222 3000
@@ -75,14 +75,14 @@ COPY --from=build-env /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_au
 
 # git:git
 USER 1000:1000
-ENV GITEA_WORK_DIR /var/lib/gitea
-ENV GITEA_CUSTOM /var/lib/gitea/custom
-ENV GITEA_TEMP /tmp/gitea
-ENV TMPDIR /tmp/gitea
+ENV GITEA_WORK_DIR=/var/lib/gitea
+ENV GITEA_CUSTOM=/var/lib/gitea/custom
+ENV GITEA_TEMP=/tmp/gitea
+ENV TMPDIR=/tmp/gitea
 
 # TODO add to docs the ability to define the ini to load (useful to test and revert a config)
-ENV GITEA_APP_INI /etc/gitea/app.ini
-ENV HOME "/var/lib/gitea/git"
+ENV GITEA_APP_INI=/etc/gitea/app.ini
+ENV HOME="/var/lib/gitea/git"
 VOLUME ["/var/lib/gitea", "/etc/gitea"]
 WORKDIR /var/lib/gitea
 
diff --git a/MAINTAINERS b/MAINTAINERS
index 2f95fdca50b..160bffcdb77 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -60,3 +60,6 @@ Nanguan Lin  (@lng2020)
 kerwin612  (@kerwin612)
 Gary Wang  (@BLumia)
 Tim-Niclas Oelschläger  (@zokkis)
+Yu Liu <1240335630@qq.com> (@HEREYUA)
+Kemal Zebari  (@kemzeb)
+Rowan Bohde  (@bohde)
diff --git a/Makefile b/Makefile
index 236f115a2f2..0f72f976734 100644
--- a/Makefile
+++ b/Makefile
@@ -25,17 +25,18 @@ COMMA := ,
 
 XGO_VERSION := go-1.22.x
 
-AIR_PACKAGE ?= github.com/cosmtrek/air@v1.49.0
+AIR_PACKAGE ?= github.com/air-verse/air@v1
 EDITORCONFIG_CHECKER_PACKAGE ?= github.com/editorconfig-checker/editorconfig-checker/cmd/editorconfig-checker@2.7.0
 GOFUMPT_PACKAGE ?= mvdan.cc/gofumpt@v0.6.0
-GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.56.1
+GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.59.0
 GXZ_PACKAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.11
-MISSPELL_PACKAGE ?= github.com/golangci/misspell/cmd/misspell@v0.4.1
-SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@db51e79a0e37c572d8b59ae0c58bf2bbbbe53285
+MISSPELL_PACKAGE ?= github.com/golangci/misspell/cmd/misspell@v0.5.1
+SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.31.0
 XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest
-GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1.6.0
-GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1.0.3
-ACTIONLINT_PACKAGE ?= github.com/rhysd/actionlint/cmd/actionlint@v1.6.26
+GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1
+GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1
+ACTIONLINT_PACKAGE ?= github.com/rhysd/actionlint/cmd/actionlint@v1
+GOPLS_PACKAGE ?= golang.org/x/tools/gopls@v0.15.3
 
 DOCKER_IMAGE ?= gitea/gitea
 DOCKER_TAG ?= latest
@@ -88,7 +89,7 @@ ifneq ($(GITHUB_REF_TYPE),branch)
 	GITEA_VERSION ?= $(VERSION)
 else
 	ifneq ($(GITHUB_REF_NAME),)
-		VERSION ?= $(subst release/v,,$(GITHUB_REF_NAME))
+		VERSION ?= $(subst release/v,,$(GITHUB_REF_NAME))-nightly
 	else
 		VERSION ?= main
 	endif
@@ -110,7 +111,6 @@ LDFLAGS := $(LDFLAGS) -X "main.MakeVersion=$(MAKE_VERSION)" -X "main.Version=$(G
 
 LINUX_ARCHS ?= linux/amd64,linux/386,linux/arm-5,linux/arm-6,linux/arm64
 
-GO_PACKAGES ?= $(filter-out code.gitea.io/gitea/tests/integration/migration-test code.gitea.io/gitea/tests code.gitea.io/gitea/tests/integration code.gitea.io/gitea/tests/e2e,$(shell $(GO) list ./... | grep -v /vendor/))
 GO_TEST_PACKAGES ?= $(filter-out $(shell $(GO) list code.gitea.io/gitea/models/migrations/...) code.gitea.io/gitea/tests/integration/migration-test code.gitea.io/gitea/tests code.gitea.io/gitea/tests/integration code.gitea.io/gitea/tests/e2e,$(shell $(GO) list ./... | grep -v /vendor/))
 MIGRATE_TEST_PACKAGES ?= $(shell $(GO) list code.gitea.io/gitea/models/migrations/...)
 
@@ -119,7 +119,7 @@ FOMANTIC_WORK_DIR := web_src/fomantic
 WEBPACK_SOURCES := $(shell find web_src/js web_src/css -type f)
 WEBPACK_CONFIGS := webpack.config.js tailwind.config.js
 WEBPACK_DEST := public/assets/js/index.js public/assets/css/index.css
-WEBPACK_DEST_ENTRIES := public/assets/js public/assets/css public/assets/fonts public/assets/img/webpack
+WEBPACK_DEST_ENTRIES := public/assets/js public/assets/css public/assets/fonts
 
 BINDATA_DEST := modules/public/bindata.go modules/options/bindata.go modules/templates/bindata.go
 BINDATA_HASH := $(addsuffix .hash,$(BINDATA_DEST))
@@ -137,16 +137,16 @@ TAGS ?=
 TAGS_SPLIT := $(subst $(COMMA), ,$(TAGS))
 TAGS_EVIDENCE := $(MAKE_EVIDENCE_DIR)/tags
 
-TEST_TAGS ?= sqlite sqlite_unlock_notify
+TEST_TAGS ?= $(TAGS_SPLIT) sqlite sqlite_unlock_notify
 
 TAR_EXCLUDES := .git data indexers queues log node_modules $(EXECUTABLE) $(FOMANTIC_WORK_DIR)/node_modules $(DIST) $(MAKE_EVIDENCE_DIR) $(AIR_TMP_DIR) $(GO_LICENSE_TMP_DIR)
 
 GO_DIRS := build cmd models modules routers services tests
 WEB_DIRS := web_src/js web_src/css
 
-ESLINT_FILES := web_src/js tools *.config.js tests/e2e
+ESLINT_FILES := web_src/js tools *.js *.ts tests/e2e
 STYLELINT_FILES := web_src/css web_src/js/components/*.vue
-SPELLCHECK_FILES := $(GO_DIRS) $(WEB_DIRS) docs/content templates options/locale/locale_en-US.ini .github
+SPELLCHECK_FILES := $(GO_DIRS) $(WEB_DIRS) templates options/locale/locale_en-US.ini .github $(filter-out CHANGELOG.md, $(wildcard *.go *.js *.md *.yml *.yaml *.toml))
 EDITORCONFIG_FILES := templates .github/workflows options/locale/locale_en-US.ini
 
 GO_SOURCES := $(wildcard *.go)
@@ -214,6 +214,7 @@ help:
 	@echo " - lint-go                          lint go files"
 	@echo " - lint-go-fix                      lint go files and fix issues"
 	@echo " - lint-go-vet                      lint go files with vet"
+	@echo " - lint-go-gopls                    lint go files with gopls"
 	@echo " - lint-js                          lint js files"
 	@echo " - lint-js-fix                      lint js files and fix issues"
 	@echo " - lint-css                         lint css files"
@@ -295,7 +296,7 @@ clean:
 
 .PHONY: fmt
 fmt:
-	GOFUMPT_PACKAGE=$(GOFUMPT_PACKAGE) $(GO) run build/code-batch-process.go gitea-fmt -w '{file-list}'
+	@GOFUMPT_PACKAGE=$(GOFUMPT_PACKAGE) $(GO) run build/code-batch-process.go gitea-fmt -w '{file-list}'
 	$(eval TEMPLATES := $(shell find templates -type f -name '*.tmpl'))
 	@# strip whitespace after '{{' or '(' and before '}}' or ')' unless there is only
 	@# whitespace before it
@@ -367,18 +368,20 @@ lint-frontend: lint-js lint-css
 lint-frontend-fix: lint-js-fix lint-css-fix
 
 .PHONY: lint-backend
-lint-backend: lint-go lint-go-vet lint-editorconfig
+lint-backend: lint-go lint-go-vet lint-go-gopls lint-editorconfig
 
 .PHONY: lint-backend-fix
 lint-backend-fix: lint-go-fix lint-go-vet lint-editorconfig
 
 .PHONY: lint-js
 lint-js: node_modules
-	npx eslint --color --max-warnings=0 --ext js,vue $(ESLINT_FILES)
+	npx eslint --color --max-warnings=0 --ext js,ts,vue $(ESLINT_FILES)
+#	npx tsc
 
 .PHONY: lint-js-fix
 lint-js-fix: node_modules
-	npx eslint --color --max-warnings=0 --ext js,vue $(ESLINT_FILES) --fix
+	npx eslint --color --max-warnings=0 --ext js,ts,vue $(ESLINT_FILES) --fix
+#	npx tsc
 
 .PHONY: lint-css
 lint-css: node_modules
@@ -394,15 +397,15 @@ lint-swagger: node_modules
 
 .PHONY: lint-md
 lint-md: node_modules
-	npx markdownlint docs *.md
+	npx markdownlint *.md
 
 .PHONY: lint-spell
 lint-spell:
-	@go run $(MISSPELL_PACKAGE) -error $(SPELLCHECK_FILES)
+	@go run $(MISSPELL_PACKAGE) -dict tools/misspellings.csv -error $(SPELLCHECK_FILES)
 
 .PHONY: lint-spell-fix
 lint-spell-fix:
-	@go run $(MISSPELL_PACKAGE) -w $(SPELLCHECK_FILES)
+	@go run $(MISSPELL_PACKAGE) -dict tools/misspellings.csv -w $(SPELLCHECK_FILES)
 
 .PHONY: lint-go
 lint-go:
@@ -423,7 +426,12 @@ lint-go-windows:
 lint-go-vet:
 	@echo "Running go vet..."
 	@GOOS= GOARCH= $(GO) build code.gitea.io/gitea-vet
-	@$(GO) vet -vettool=gitea-vet $(GO_PACKAGES)
+	@$(GO) vet -vettool=gitea-vet ./...
+
+.PHONY: lint-go-gopls
+lint-go-gopls:
+	@echo "Running gopls check..."
+	@GO=$(GO) GOPLS_PACKAGE=$(GOPLS_PACKAGE) tools/lint-go-gopls.sh $(GO_SOURCES_NO_BINDATA)
 
 .PHONY: lint-editorconfig
 lint-editorconfig:
@@ -434,7 +442,8 @@ lint-actions:
 	$(GO) run $(ACTIONLINT_PACKAGE)
 
 .PHONY: lint-templates
-lint-templates: .venv
+lint-templates: .venv node_modules
+	@node tools/lint-templates-svg.js
 	@poetry run djlint $(shell find templates -type f -iname '*.tmpl')
 
 .PHONY: lint-yaml
@@ -778,7 +787,7 @@ generate-backend: $(TAGS_PREREQ) generate-go
 .PHONY: generate-go
 generate-go: $(TAGS_PREREQ)
 	@echo "Running go generate..."
-	@CC= GOOS= GOARCH= $(GO) generate -tags '$(TAGS)' $(GO_PACKAGES)
+	@CC= GOOS= GOARCH= CGO_ENABLED=0 $(GO) generate -tags '$(TAGS)' ./...
 
 .PHONY: security-check
 security-check:
@@ -788,7 +797,7 @@ $(EXECUTABLE): $(GO_SOURCES) $(TAGS_PREREQ)
 	CGO_CFLAGS="$(CGO_CFLAGS)" $(GO) build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@
 
 .PHONY: release
-release: frontend generate release-windows release-linux release-darwin release-freebsd release-copy release-compress vendor release-sources release-docs release-check
+release: frontend generate release-windows release-linux release-darwin release-freebsd release-copy release-compress vendor release-sources release-check
 
 $(DIST_DIRS):
 	mkdir -p $(DIST_DIRS)
@@ -834,10 +843,6 @@ release-sources: | $(DIST_DIRS)
 	tar $(addprefix $(EXCL),$(TAR_EXCLUDES)) $(TRANSFORM) -czf $(DIST)/release/gitea-src-$(VERSION).tar.gz .
 	rm -f $(STORED_VERSION_FILE)
 
-.PHONY: release-docs
-release-docs: | $(DIST_DIRS) docs
-	tar -czf $(DIST)/release/gitea-docs-$(VERSION).tar.gz -C ./docs .
-
 .PHONY: deps
 deps: deps-frontend deps-backend deps-tools deps-py
 
@@ -853,24 +858,26 @@ deps-backend:
 
 .PHONY: deps-tools
 deps-tools:
-	$(GO) install $(AIR_PACKAGE)
-	$(GO) install $(EDITORCONFIG_CHECKER_PACKAGE)
-	$(GO) install $(GOFUMPT_PACKAGE)
-	$(GO) install $(GOLANGCI_LINT_PACKAGE)
-	$(GO) install $(GXZ_PACKAGE)
-	$(GO) install $(MISSPELL_PACKAGE)
-	$(GO) install $(SWAGGER_PACKAGE)
-	$(GO) install $(XGO_PACKAGE)
-	$(GO) install $(GO_LICENSES_PACKAGE)
-	$(GO) install $(GOVULNCHECK_PACKAGE)
-	$(GO) install $(ACTIONLINT_PACKAGE)
+	$(GO) install $(AIR_PACKAGE) & \
+	$(GO) install $(EDITORCONFIG_CHECKER_PACKAGE) & \
+	$(GO) install $(GOFUMPT_PACKAGE) & \
+	$(GO) install $(GOLANGCI_LINT_PACKAGE) & \
+	$(GO) install $(GXZ_PACKAGE) & \
+	$(GO) install $(MISSPELL_PACKAGE) & \
+	$(GO) install $(SWAGGER_PACKAGE) & \
+	$(GO) install $(XGO_PACKAGE) & \
+	$(GO) install $(GO_LICENSES_PACKAGE) & \
+	$(GO) install $(GOVULNCHECK_PACKAGE) & \
+	$(GO) install $(ACTIONLINT_PACKAGE) & \
+	$(GO) install $(GOPLS_PACKAGE) & \
+	wait
 
 node_modules: package-lock.json
 	npm install --no-save
 	@touch node_modules
 
 .venv: poetry.lock
-	poetry install --no-root
+	poetry install
 	@touch .venv
 
 .PHONY: update
@@ -881,13 +888,15 @@ update-js: node-check | node_modules
 	npx updates -u -f package.json
 	rm -rf node_modules package-lock.json
 	npm install --package-lock
+	npx nolyfill install
+	npm install --package-lock
 	@touch node_modules
 
 .PHONY: update-py
 update-py: node-check | node_modules
 	npx updates -u -f pyproject.toml
 	rm -rf .venv poetry.lock
-	poetry install --no-root
+	poetry install
 	@touch .venv
 
 .PHONY: fomantic
@@ -908,8 +917,9 @@ webpack: $(WEBPACK_DEST)
 
 $(WEBPACK_DEST): $(WEBPACK_SOURCES) $(WEBPACK_CONFIGS) package-lock.json
 	@$(MAKE) -s node-check node_modules
-	rm -rf $(WEBPACK_DEST_ENTRIES)
-	npx webpack
+	@rm -rf $(WEBPACK_DEST_ENTRIES)
+	@echo "Running webpack..."
+	@BROWSERSLIST_IGNORE_OLD_DATA=true npx webpack
 	@touch $(WEBPACK_DEST)
 
 .PHONY: svg
@@ -958,7 +968,7 @@ generate-gitignore:
 
 .PHONY: generate-images
 generate-images: | node_modules
-	npm install --no-save fabric@6.0.0-beta19 imagemin-zopfli@7
+	npm install --no-save fabric@6 imagemin-zopfli@7
 	node tools/generate-images.js $(TAGS)
 
 .PHONY: generate-manpage
diff --git a/README.md b/README.md
index f5794491744..c280c832ac7 100644
--- a/README.md
+++ b/README.md
@@ -8,9 +8,8 @@
 [![](https://www.codetriage.com/go-gitea/gitea/badges/users.svg)](https://www.codetriage.com/go-gitea/gitea "Help Contribute to Open Source")
 [![](https://opencollective.com/gitea/tiers/backers/badge.svg?label=backers&color=brightgreen)](https://opencollective.com/gitea "Become a backer/sponsor of gitea")
 [![](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT "License: MIT")
-[![Contribute with Gitpod](https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod)](https://gitpod.io/#https://github.com/go-gitea/gitea)
+[![Contribute with Gitpod](https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod&color=green)](https://gitpod.io/#https://github.com/go-gitea/gitea)
 [![](https://badges.crowdin.net/gitea/localized.svg)](https://crowdin.com/project/gitea "Crowdin")
-[![](https://badgen.net/https/api.tickgit.com/badgen/github.com/go-gitea/gitea/main)](https://www.tickgit.com/browse?repo=github.com/go-gitea/gitea&branch=main "TODOs")
 
 [View this document in Chinese](./README_ZH.md)
 
@@ -26,7 +25,7 @@ This project has been
 [forked](https://blog.gitea.com/welcome-to-gitea/) from
 [Gogs](https://gogs.io) since November of 2016, but a lot has changed.
 
-For online demonstrations, you can visit [try.gitea.io](https://try.gitea.io).
+For online demonstrations, you can visit [demo.gitea.com](https://demo.gitea.com).
 
 For accessing free Gitea service (with a limited number of repositories), you can visit [gitea.com](https://gitea.com/user/login).
 
@@ -56,7 +55,7 @@ More info: https://docs.gitea.com/installation/install-from-source
     ./gitea web
 
 > [!NOTE]
-> If you're interested in using our APIs, we have experimental support with [documentation](https://try.gitea.io/api/swagger).
+> If you're interested in using our APIs, we have experimental support with [documentation](https://docs.gitea.com/api).
 
 ## Contributing
 
@@ -80,7 +79,7 @@ https://docs.gitea.com/contributing/localization
 ## Further information
 
 For more information and instructions about how to install Gitea, please look at our [documentation](https://docs.gitea.com/).
-If you have questions that are not covered by the documentation, you can get in contact with us on our [Discord server](https://discord.gg/Gitea) or create  a post in the [discourse forum](https://discourse.gitea.io/).
+If you have questions that are not covered by the documentation, you can get in contact with us on our [Discord server](https://discord.gg/Gitea) or create  a post in the [discourse forum](https://forum.gitea.com/).
 
 We maintain a list of Gitea-related projects at [gitea/awesome-gitea](https://gitea.com/gitea/awesome-gitea).
 
diff --git a/README_ZH.md b/README_ZH.md
index 726c4273a6b..a2e36dc22f1 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -8,9 +8,8 @@
 [![](https://www.codetriage.com/go-gitea/gitea/badges/users.svg)](https://www.codetriage.com/go-gitea/gitea "Help Contribute to Open Source")
 [![](https://opencollective.com/gitea/tiers/backers/badge.svg?label=backers&color=brightgreen)](https://opencollective.com/gitea "Become a backer/sponsor of gitea")
 [![](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT "License: MIT")
-[![Contribute with Gitpod](https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod)](https://gitpod.io/#https://github.com/go-gitea/gitea)
+[![Contribute with Gitpod](https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod&color=green)](https://gitpod.io/#https://github.com/go-gitea/gitea)
 [![](https://badges.crowdin.net/gitea/localized.svg)](https://crowdin.com/project/gitea "Crowdin")
-[![](https://badgen.net/https/api.tickgit.com/badgen/github.com/go-gitea/gitea/main)](https://www.tickgit.com/browse?repo=github.com/go-gitea/gitea&branch=main "TODOs")
 
 [View this document in English](./README.md)
 
@@ -18,7 +17,7 @@
 
 Gitea 的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用 Go 作为后端语言,这使我们只要生成一个可执行程序即可。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了 x86,amd64,还包括 ARM 和 PowerPC。
 
-如果你想试用在线演示,请访问 [try.gitea.io](https://try.gitea.io/)。
+如果你想试用在线演示和报告问题,请访问 [demo.gitea.com](https://demo.gitea.com/)。
 
 如果你想使用免费的 Gitea 服务(有仓库数量限制),请访问 [gitea.com](https://gitea.com/user/login)。
 
diff --git a/SECURITY.md b/SECURITY.md
index 4c7d437844d..c9dbf859f58 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -14,12 +14,12 @@ Please **DO NOT** file a public issue, instead send your report privately to `se
 
 Due to the sensitive nature of security information, you can use the below GPG public key to encrypt your mail body.
 
-The PGP key is valid until June 24, 2024.
+The PGP key is valid until July 9, 2025.
 
 ```
 Key ID: 6FCD2D5B
 Key Type: RSA
-Expires: 6/24/2024
+Expires: 7/9/2025
 Key Size: 4096/4096
 Fingerprint: 3DE0 3D1E 144A 7F06 9359 99DC AAFD 2381 6FCD 2D5B
 ```
@@ -40,20 +40,20 @@ q+pHZl24JYR0Kf3T/ZiOC0cGd2QJqpJtg5J6S/OqfX9NH6MsCczO8pUC1N/aHH2X
 CTme2nF56izORqDWKoiICteL3GpYsCV9nyCidcCmoQsS+DKvE86YhIhVIVWGRY2F
 lzpAjnN9/KLtQroutrm+Ft0mdjDiJUeFVl1cOHDhoyfCsQh62HumoyZoZvqzQd6e
 AbN11nq6aViMe2Q3je1AbiBnRnQSHxt1Tc8X4IshO3MQK1Sk7oPI6LA5oQARAQAB
-tCJHaXRlYSBTZWN1cml0eSA8c2VjdXJpdHlAZ2l0ZWEuaW8+iQJXBBMBCABBFiEE
-PeA9HhRKfwaTWZncqv0jgW/NLVsFAmK1Z/4CGwMFCQPCZwAFCwkIBwICIgIGFQoJ
-CAsCBBYCAwECHgcCF4AACgkQqv0jgW/NLVvnyxAAhxyNnWzw/rQO2qhzqicmZM94
-njSbOg+U2qMBvCdaqCQQeC+uaMmMzkDPanUUmLcyCkWqfCjPNjeSXAkE9npepVJI
-4HtmgxZQ94OU/h3CLbft+9GVRzUkVI29TSYGdvNtV2/BkNGoFFnKWQr119um0o6A
-bgha2Uy5uY8o3ZIoiKkiHRaEoWIjjeBxJxYAojsZY4YElUmsQ3ik2joG6rhFesTa
-ofVt/bL8G2xzpOG26WGIxBbqf2qjV6OtZ0hu/vtTPHeIWMLq0Mz0V3PEDQWfkGPE
-i2RYxxYDs2xzJhSQWqTNVLSq0m5xTJnbHhQPfdCX4C2jvFKgLdfmytQq49S7jiJb
-Z03HVOZ/PsyBlQfH9xJi06R5yQCMEA8h8Z5r3/NXW09kQ6OFRe6xshoTcxZGRPTo
-srhwr3uPbmCRh+YEl7qBLU6+BC5k8IRTZXqhrj/aPJu3MxgbgwV8u3vLoFSXM2lb
-a61FgeCQ0O7lkgVswwF0RppCaH9Ul3ZDapet/vCRg4NVwm9zOI/8q/Vj0FKA1GDR
-JhRu8+Ce8zlFL65D34t+PprAzSeTlbv9um3x/ZIjCco7EEKSBylt+AZj/VyA6+e5
-kjOQwRRc6dFJWBcorsSI2dG+H+QMF7ZabzmeCcz1v9HjLOPzYHoZAHhCmSppWTvX
-AJy6+lhfW2OUTqQeYSi5Ag0EYrVn/gEQALrFLQjCR3GjuHSindz0rd3Fnx/t7Sen
+tCJHaXRlYSBTZWN1cml0eSA8c2VjdXJpdHlAZ2l0ZWEuaW8+iQJXBBMBCABBAhsD
+BQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAFiEEPeA9HhRKfwaTWZncqv0jgW/N
+LVsFAmaMse0FCQW4fW8ACgkQqv0jgW/NLVtXLg/+PF4G9Jhlui15BTNlEBJAV2P/
+1QlAV2krk0fP7tykn0FR9RfGIfVV/kwC1f+ouosYPQDDevl9LWdUIM+g94DtNo2o
+7ACpcL3morvt5lVGpIZHL8TbX0qmFRXL/pB/cB+K6IwYvh2mrbp2zH+r4SCRyFYq
+BjgXYFTI1MylJ1ShAjU6Z+m3oJ+2xs5LzHS0X6zkTjzA2Zl4zQzciQ9T+wJcE7Zi
+HXdM1+YMF8KGNP8J9Rpug5oNDJ98lgZirRY7c3A/1xmYBiPnULwuuymdqEZO7l70
+SeAlE1RWYX8kbOBnBb/KY4XwE3Vic1oEzc9DiPWVH1ElX86WNNsFzuyULiwoBoWg
+pqZGhL9x1p5+46RGQSDczsHM7YGVtfYOiDo2PAVrmwsT0BnXnK8Oe3YIkvmUPEJu
+OkLt0Z6A5n8pz8zhQzuApwBsK4ncJ8zTCpvz/pfKKqZC/Vnoh3gKGhDGvOZ+b5IJ
+0kUTe2JsbnwFixDUMDtacQ1op8XOyLoLVmgqLn0+Pws4XPBlMof2bioFir3yHKnP
+gNchsF1agrlSIo5GA8u4ga+IlCSfvFIKrl7+cxacKcJYt/vbOU5KcvVJI5EtHKCG
+xfHjHY2ah1Qww7SxW6IXiRZZzPpsL2mBM2CD7N3qh9bV2s27wxYCdUodsIZbiyHe
+oWPzfBnkmiAN8KlZxHm5Ag0EYrVn/gEQALrFLQjCR3GjuHSindz0rd3Fnx/t7Sen
 T+p07yCSSoSlmnJHCQmwh4vfg1blyz0zZ4vkIhtpHsEgc+ZAG+WQXSsJ2iRz+eSN
 GwoOQl4XC3n+QWkc1ws+btr48+6UqXIQU+F8TPQyx/PIgi2nZXJB7f5+mjCqsk46
 XvH4nTr4kJjuqMSR/++wvre2qNQRa/q/dTsK0OaN/mJsdX6Oi+aGNaQJUhIG7F+E
@@ -64,20 +64,20 @@ qoExANj5lUTZPe8M50lI182FrcjAN7dClO3QI6pg7wy0erMxfFly3j8UQ91ysS9T
 s+GsP9I3cmWWQcKYxWHtE8xTXnNCVPFZQj2nwhJzae8ypfOtulBRA3dUKWGKuDH/
 axFENhUsT397aOU3qkP/od4a64JyNIEo4CTTSPVeWd7njsGqli2U3A4xL2CcyYvt
 D/MWcMBGEoLSNTswwKdom4FaJpn5KThnK/T0bQcmJblJhoCtppXisbexZnCpuS0x
-Zdlm2T14KJ3LABEBAAGJAjwEGAEIACYWIQQ94D0eFEp/BpNZmdyq/SOBb80tWwUC
-YrVn/gIbDAUJA8JnAAAKCRCq/SOBb80tWyTBD/9AGpW6QoDF7zYjHAozH9S5RGCA
-Y7E82dG/0xmFUwPprAG0BKmmgU6TiipyVGmKIXGYYYU92pMnbvXkYQMoa+WJNncN
-D3fY52UeXeffTf4cFpStlzi9xgYtOLhFamzYu/4xhkjOX+xhOSXscCiFRyT8cF3B
-O6c5BHU+Zj0/rGPgOyPUbx7l7B9MubB/41nNX35k08e+8T3wtWDb4XF+15HnRfva
-6fblO8wgU25Orv2Rm1jnKGa9DxJ8nE40IMrqDapENtDuL+zKJsvR0+ptWvEyL56U
-GtJJG5un6mXiLKuRQT0DEv4MdZRHDgDstDnqcbEiazVEbUuvhZZob6lRY2A19m1+
-7zfnDxkhqCA1RCnv4fdvcPdCMMFHwLpdhjgW0aI/uwgwrvsEz5+JRlnLvdQHlPAg
-q7l2fGcBSpz9U0ayyfRPjPntsNCtZl1UDxGLeciPkZhyG84zEWQbk/j52ZpRN+Ik
-ALpRLa8RBFmFSmXDUmwQrmm1EmARyQXwweKU31hf8ZGbCp2lPuRYm1LuGiirXSVP
-GysjRAJgW+VRpBKOzFQoUAUbReVWSaCwT8s17THzf71DdDb6CTj31jMLLYWwBpA/
-i73DgobDZMIGEZZC1EKqza8eh11xfyHFzGec03tbh+lIen+5IiRtWiEWkDS9ll0G
-zgS/ZdziCvdAutqnGA==
-=gZWO
+Zdlm2T14KJ3LABEBAAGJAjwEGAEIACYCGwwWIQQ94D0eFEp/BpNZmdyq/SOBb80t
+WwUCZoyyjQUJBbh+DwAKCRCq/SOBb80tW18XD/9MXztmf01MT+1kZdBouZ/7Rp/7
+9kuqo//B1G+RXau4oFtPqb67kNe2WaIc3u5B73PUHsMf3i6z4ib2KbMhZZerLn0O
+dRglcuPeNWmsASY3dH/XVG0cT0zvvWegagd12TJEl3Vs+7XNrOw4cwDj9L1+GH9m
+kSt4uaANWn/6a3RvMRhiVEYuNwhAzcKaactPmYqrLJgoVLbRSDkgyHaMQ2jKgLxk
+ifS/fvluGV0ub2Po6DJiqfRpd1tDvPhe9y1+r1WFDZsOcvTcZUfSt/7dXMGfqGu0
+2daVFlfeSXSALrDE5uc0UxodHCpP3sqRYDZevGLBRaaTkIjYXG/+N898+7K5WJF4
+xXOLWxM2cwGkG7eC9pugcDnBp9XlF7O+GBiZ05JUe5flXDQFZ+h3exjopu6KHF1B
+RnzNy8LC0UKb+AuvRIOLV92a9Q9wGWU/jaVDu6nZ0umAeuSzxiHoDsonm0Fl9QAz
+2/xCokebuoeLrEK7R2af3X86mqq3sVO4ax+HPYChzOaVQBiHUW/TAldWcldYYphR
+/e2WsbmQfvCRtz/bZfo+aUVnrHNjzVMtF2SszdVmA/04Y8pS28MqtuRqhm5DPOOd
+g1YeUywK5jRZ1twyo1kzJEFPLaoeaXaycsR1PMVBW0Urik5mrR/pOWq7PPoZoKb2
+lXYLE8bwkuQTmsyL1g==
+=9i7d
 -----END PGP PUBLIC KEY BLOCK-----
 
 ```
diff --git a/assets/go-licenses.json b/assets/go-licenses.json
index be9022b6946..cebbe468d2b 100644
--- a/assets/go-licenses.json
+++ b/assets/go-licenses.json
@@ -74,11 +74,31 @@
     "path": "gitea.com/lunny/levelqueue/LICENSE",
     "licenseText": "Copyright (c) 2019 Lunny Xiao\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
   },
+  {
+    "name": "github.com/42wim/httpsig",
+    "path": "github.com/42wim/httpsig/LICENSE",
+    "licenseText": "BSD 3-Clause License\n\nCopyright (c) 2018, go-fed\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
+  },
   {
     "name": "github.com/42wim/sshsig",
     "path": "github.com/42wim/sshsig/LICENSE",
     "licenseText": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
   },
+  {
+    "name": "github.com/Azure/azure-sdk-for-go/sdk/azcore",
+    "path": "github.com/Azure/azure-sdk-for-go/sdk/azcore/LICENSE.txt",
+    "licenseText": "MIT License\n\nCopyright (c) Microsoft Corporation.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE\n"
+  },
+  {
+    "name": "github.com/Azure/azure-sdk-for-go/sdk/internal",
+    "path": "github.com/Azure/azure-sdk-for-go/sdk/internal/LICENSE.txt",
+    "licenseText": "MIT License\n\nCopyright (c) Microsoft Corporation.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE\n"
+  },
+  {
+    "name": "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob",
+    "path": "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/LICENSE.txt",
+    "licenseText": "    MIT License\n\n    Copyright (c) Microsoft Corporation. All rights reserved.\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in all\n    copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n    SOFTWARE"
+  },
   {
     "name": "github.com/Azure/go-ntlmssp",
     "path": "github.com/Azure/go-ntlmssp/LICENSE",
@@ -99,11 +119,6 @@
     "path": "github.com/DataDog/zstd/LICENSE",
     "licenseText": "Simplified BSD License\n\nCopyright (c) 2016, Datadog \u003cinfo@datadoghq.com\u003e\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n    * Redistributions in binary form must reproduce the above copyright notice,\n      this list of conditions and the following disclaimer in the documentation\n      and/or other materials provided with the distribution.\n    * Neither the name of the copyright holder nor the names of its contributors\n      may be used to endorse or promote products derived from this software\n      without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
   },
-  {
-    "name": "github.com/NYTimes/gziphandler",
-    "path": "github.com/NYTimes/gziphandler/LICENSE",
-    "licenseText": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright 2016-2017 The New York Times Company\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
-  },
   {
     "name": "github.com/ProtonMail/go-crypto",
     "path": "github.com/ProtonMail/go-crypto/LICENSE",
@@ -114,6 +129,11 @@
     "path": "github.com/RoaringBitmap/roaring/LICENSE",
     "licenseText": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright 2016 by the authors\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\n================================================================================\n\nPortions of runcontainer.go are from the Go standard library, which is licensed\nunder:\n\nCopyright (c) 2009 The Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\n     notice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\n     copyright notice, this list of conditions and the following disclaimer\n     in the documentation and/or other materials provided with the\n     distribution.\n   * Neither the name of Google Inc. nor the names of its\n     contributors may be used to endorse or promote products derived from\n     this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
   },
+  {
+    "name": "github.com/SaveTheRbtz/zstd-seekable-format-go/pkg",
+    "path": "github.com/SaveTheRbtz/zstd-seekable-format-go/pkg/LICENSE",
+    "licenseText": "MIT License\n\nCopyright (c) 2022 Alexey Ivanov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
+  },
   {
     "name": "github.com/alecthomas/chroma/v2",
     "path": "github.com/alecthomas/chroma/v2/COPYING",
@@ -234,6 +254,11 @@
     "path": "github.com/blevesearch/zapx/v15/LICENSE",
     "licenseText": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License."
   },
+  {
+    "name": "github.com/blevesearch/zapx/v16",
+    "path": "github.com/blevesearch/zapx/v16/LICENSE",
+    "licenseText": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License."
+  },
   {
     "name": "github.com/boombuler/barcode",
     "path": "github.com/boombuler/barcode/LICENSE",
@@ -254,6 +279,11 @@
     "path": "github.com/caddyserver/certmagic/LICENSE.txt",
     "licenseText": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"{}\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright {yyyy} {name of copyright owner}\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
   },
+  {
+    "name": "github.com/caddyserver/zerossl",
+    "path": "github.com/caddyserver/zerossl/LICENSE",
+    "licenseText": "MIT License\n\nCopyright (c) 2024 Matthew Holt\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
+  },
   {
     "name": "github.com/cention-sany/utf7",
     "path": "github.com/cention-sany/utf7/LICENSE",
@@ -304,11 +334,6 @@
     "path": "github.com/davecgh/go-spew/spew/LICENSE",
     "licenseText": "ISC License\n\nCopyright (c) 2012-2016 Dave Collins \u003cdave@davec.name\u003e\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n"
   },
-  {
-    "name": "github.com/denisenkom/go-mssqldb",
-    "path": "github.com/denisenkom/go-mssqldb/LICENSE.txt",
-    "licenseText": "Copyright (c) 2012 The Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
-  },
   {
     "name": "github.com/dgryski/go-rendezvous",
     "path": "github.com/dgryski/go-rendezvous/LICENSE",
@@ -469,6 +494,11 @@
     "path": "github.com/go-ldap/ldap/v3/LICENSE",
     "licenseText": "The MIT License (MIT)\n\nCopyright (c) 2011-2015 Michael Mitton (mmitton@gmail.com)\nPortions copyright (c) 2015-2016 go-ldap Authors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
   },
+  {
+    "name": "github.com/go-redsync/redsync/v4",
+    "path": "github.com/go-redsync/redsync/v4/LICENSE",
+    "licenseText": "Copyright (c) 2023, Mahmud Ridwan\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the Redsync nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
+  },
   {
     "name": "github.com/go-sql-driver/mysql",
     "path": "github.com/go-sql-driver/mysql/LICENSE",
@@ -550,8 +580,13 @@
     "licenseText": "Copyright (c) 2011 The Snappy-Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
   },
   {
-    "name": "github.com/google/go-github/v57/github",
-    "path": "github.com/google/go-github/v57/github/LICENSE",
+    "name": "github.com/google/btree",
+    "path": "github.com/google/btree/LICENSE",
+    "licenseText": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
+  },
+  {
+    "name": "github.com/google/go-github/v61/github",
+    "path": "github.com/google/go-github/v61/github/LICENSE",
     "licenseText": "Copyright (c) 2013 The go-github AUTHORS. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
   },
   {
@@ -599,11 +634,21 @@
     "path": "github.com/gorilla/sessions/LICENSE",
     "licenseText": "Copyright (c) 2023 The Gorilla Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n\t * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\t * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\t * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
   },
+  {
+    "name": "github.com/hashicorp/errwrap",
+    "path": "github.com/hashicorp/errwrap/LICENSE",
+    "licenseText": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. “Contributor”\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. “Contributor Version”\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor’s Contribution.\n\n1.3. “Contribution”\n\n     means Covered Software of a particular Contributor.\n\n1.4. “Covered Software”\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. “Incompatible With Secondary Licenses”\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of version\n        1.1 or earlier of the License, but not also under the terms of a\n        Secondary License.\n\n1.6. “Executable Form”\n\n     means any form of the work other than Source Code Form.\n\n1.7. “Larger Work”\n\n     means a work that combines Covered Software with other material, in a separate\n     file or files, that is not Covered Software.\n\n1.8. “License”\n\n     means this document.\n\n1.9. “Licensable”\n\n     means having the right to grant, to the maximum extent possible, whether at the\n     time of the initial grant or subsequently, any and all of the rights conveyed by\n     this License.\n\n1.10. “Modifications”\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to, deletion\n        from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. “Patent Claims” of a Contributor\n\n      means any patent claim(s), including without limitation, method, process,\n      and apparatus claims, in any patent Licensable by such Contributor that\n      would be infringed, but for the grant of the License, by the making,\n      using, selling, offering for sale, having made, import, or transfer of\n      either its Contributions or its Contributor Version.\n\n1.12. “Secondary License”\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. “Source Code Form”\n\n      means the form of the work preferred for making modifications.\n\n1.14. “You” (or “Your”)\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, “You” includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, “control” means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or as\n        part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its Contributions\n        or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution become\n     effective for each Contribution on the date the Contributor first distributes\n     such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under this\n     License. No additional rights or licenses will be implied from the distribution\n     or licensing of Covered Software under this License. Notwithstanding Section\n     2.1(b) above, no patent license is granted by a Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party’s\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of its\n        Contributions.\n\n     This License does not grant any rights in the trademarks, service marks, or\n     logos of any Contributor (except as may be necessary to comply with the\n     notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this License\n     (see Section 10.2) or under the terms of a Secondary License (if permitted\n     under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its Contributions\n     are its original creation(s) or it has sufficient rights to grant the\n     rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under applicable\n     copyright doctrines of fair use, fair dealing, or other equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under the\n     terms of this License. You must inform recipients that the Source Code Form\n     of the Covered Software is governed by the terms of this License, and how\n     they can obtain a copy of this License. You may not attempt to alter or\n     restrict the recipients’ rights in the Source Code Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this License,\n        or sublicense it under different terms, provided that the license for\n        the Executable Form does not attempt to limit or alter the recipients’\n        rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for the\n     Covered Software. If the Larger Work is a combination of Covered Software\n     with a work governed by one or more Secondary Licenses, and the Covered\n     Software is not Incompatible With Secondary Licenses, this License permits\n     You to additionally distribute such Covered Software under the terms of\n     such Secondary License(s), so that the recipient of the Larger Work may, at\n     their option, further distribute the Covered Software under the terms of\n     either this License or such Secondary License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices (including\n     copyright notices, patent notices, disclaimers of warranty, or limitations\n     of liability) contained within the Source Code Form of the Covered\n     Software, except that You may alter any license notices to the extent\n     required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on behalf\n     of any Contributor. You must make it absolutely clear that any such\n     warranty, support, indemnity, or liability obligation is offered by You\n     alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute, judicial\n   order, or regulation then You must: (a) comply with the terms of this License\n   to the maximum extent possible; and (b) describe the limitations and the code\n   they affect. Such description must be placed in a text file included with all\n   distributions of the Covered Software under this License. Except to the\n   extent prohibited by statute or regulation, such description must be\n   sufficiently detailed for a recipient of ordinary skill to be able to\n   understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing basis,\n     if such Contributor fails to notify You of the non-compliance by some\n     reasonable means prior to 60 days after You have come back into compliance.\n     Moreover, Your grants from a particular Contributor are reinstated on an\n     ongoing basis if such Contributor notifies You of the non-compliance by\n     some reasonable means, this is the first time You have received notice of\n     non-compliance with this License from such Contributor, and You become\n     compliant prior to 30 days after Your receipt of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions, counter-claims,\n     and cross-claims) alleging that a Contributor Version directly or\n     indirectly infringes any patent, then the rights granted to You by any and\n     all Contributors for the Covered Software under Section 2.1 of this License\n     shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an “as is” basis, without\n   warranty of any kind, either expressed, implied, or statutory, including,\n   without limitation, warranties that the Covered Software is free of defects,\n   merchantable, fit for a particular purpose or non-infringing. The entire\n   risk as to the quality and performance of the Covered Software is with You.\n   Should any Covered Software prove defective in any respect, You (not any\n   Contributor) assume the cost of any necessary servicing, repair, or\n   correction. This disclaimer of warranty constitutes an essential part of this\n   License. No use of  any Covered Software is authorized under this License\n   except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from such\n   party’s negligence to the extent applicable law prohibits such limitation.\n   Some jurisdictions do not allow the exclusion or limitation of incidental or\n   consequential damages, so this exclusion and limitation may not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts of\n   a jurisdiction where the defendant maintains its principal place of business\n   and such litigation shall be governed by laws of that jurisdiction, without\n   reference to its conflict-of-law provisions. Nothing in this Section shall\n   prevent a party’s ability to bring cross-claims or counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject matter\n   hereof. If any provision of this License is held to be unenforceable, such\n   provision shall be reformed only to the extent necessary to make it\n   enforceable. Any law or regulation which provides that the language of a\n   contract shall be construed against the drafter shall not be used to construe\n   this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version of\n      the License under which You originally received the Covered Software, or\n      under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a modified\n      version of this License if you rename the license and remove any\n      references to the name of the license steward (except to note that such\n      modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses\n      If You choose to distribute Source Code Form that is Incompatible With\n      Secondary Licenses under the terms of this version of the License, the\n      notice described in Exhibit B of this License must be attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file, then\nYou may include the notice in a location (such as a LICENSE file in a relevant\ndirectory) where a recipient would be likely to look for such a notice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - “Incompatible With Secondary Licenses” Notice\n\n      This Source Code Form is “Incompatible\n      With Secondary Licenses”, as defined by\n      the Mozilla Public License, v. 2.0.\n\n"
+  },
   {
     "name": "github.com/hashicorp/go-cleanhttp",
     "path": "github.com/hashicorp/go-cleanhttp/LICENSE",
     "licenseText": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. \"Contributor\"\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. \"Contributor Version\"\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor's Contribution.\n\n1.3. \"Contribution\"\n\n     means Covered Software of a particular Contributor.\n\n1.4. \"Covered Software\"\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. \"Incompatible With Secondary Licenses\"\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of\n        version 1.1 or earlier of the License, but not also under the terms of\n        a Secondary License.\n\n1.6. \"Executable Form\"\n\n     means any form of the work other than Source Code Form.\n\n1.7. \"Larger Work\"\n\n     means a work that combines Covered Software with other material, in a\n     separate file or files, that is not Covered Software.\n\n1.8. \"License\"\n\n     means this document.\n\n1.9. \"Licensable\"\n\n     means having the right to grant, to the maximum extent possible, whether\n     at the time of the initial grant or subsequently, any and all of the\n     rights conveyed by this License.\n\n1.10. \"Modifications\"\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to,\n        deletion from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. \"Patent Claims\" of a Contributor\n\n      means any patent claim(s), including without limitation, method,\n      process, and apparatus claims, in any patent Licensable by such\n      Contributor that would be infringed, but for the grant of the License,\n      by the making, using, selling, offering for sale, having made, import,\n      or transfer of either its Contributions or its Contributor Version.\n\n1.12. \"Secondary License\"\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. \"Source Code Form\"\n\n      means the form of the work preferred for making modifications.\n\n1.14. \"You\" (or \"Your\")\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, \"You\" includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, \"control\" means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or\n        as part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its\n        Contributions or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution\n     become effective for each Contribution on the date the Contributor first\n     distributes such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under\n     this License. No additional rights or licenses will be implied from the\n     distribution or licensing of Covered Software under this License.\n     Notwithstanding Section 2.1(b) above, no patent license is granted by a\n     Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party's\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of\n        its Contributions.\n\n     This License does not grant any rights in the trademarks, service marks,\n     or logos of any Contributor (except as may be necessary to comply with\n     the notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this\n     License (see Section 10.2) or under the terms of a Secondary License (if\n     permitted under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its\n     Contributions are its original creation(s) or it has sufficient rights to\n     grant the rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under\n     applicable copyright doctrines of fair use, fair dealing, or other\n     equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under\n     the terms of this License. You must inform recipients that the Source\n     Code Form of the Covered Software is governed by the terms of this\n     License, and how they can obtain a copy of this License. You may not\n     attempt to alter or restrict the recipients' rights in the Source Code\n     Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this\n        License, or sublicense it under different terms, provided that the\n        license for the Executable Form does not attempt to limit or alter the\n        recipients' rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for\n     the Covered Software. If the Larger Work is a combination of Covered\n     Software with a work governed by one or more Secondary Licenses, and the\n     Covered Software is not Incompatible With Secondary Licenses, this\n     License permits You to additionally distribute such Covered Software\n     under the terms of such Secondary License(s), so that the recipient of\n     the Larger Work may, at their option, further distribute the Covered\n     Software under the terms of either this License or such Secondary\n     License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices\n     (including copyright notices, patent notices, disclaimers of warranty, or\n     limitations of liability) contained within the Source Code Form of the\n     Covered Software, except that You may alter any license notices to the\n     extent required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on\n     behalf of any Contributor. You must make it absolutely clear that any\n     such warranty, support, indemnity, or liability obligation is offered by\n     You alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute,\n   judicial order, or regulation then You must: (a) comply with the terms of\n   this License to the maximum extent possible; and (b) describe the\n   limitations and the code they affect. Such description must be placed in a\n   text file included with all distributions of the Covered Software under\n   this License. Except to the extent prohibited by statute or regulation,\n   such description must be sufficiently detailed for a recipient of ordinary\n   skill to be able to understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing\n     basis, if such Contributor fails to notify You of the non-compliance by\n     some reasonable means prior to 60 days after You have come back into\n     compliance. Moreover, Your grants from a particular Contributor are\n     reinstated on an ongoing basis if such Contributor notifies You of the\n     non-compliance by some reasonable means, this is the first time You have\n     received notice of non-compliance with this License from such\n     Contributor, and You become compliant prior to 30 days after Your receipt\n     of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions,\n     counter-claims, and cross-claims) alleging that a Contributor Version\n     directly or indirectly infringes any patent, then the rights granted to\n     You by any and all Contributors for the Covered Software under Section\n     2.1 of this License shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an \"as is\" basis,\n   without warranty of any kind, either expressed, implied, or statutory,\n   including, without limitation, warranties that the Covered Software is free\n   of defects, merchantable, fit for a particular purpose or non-infringing.\n   The entire risk as to the quality and performance of the Covered Software\n   is with You. Should any Covered Software prove defective in any respect,\n   You (not any Contributor) assume the cost of any necessary servicing,\n   repair, or correction. This disclaimer of warranty constitutes an essential\n   part of this License. No use of  any Covered Software is authorized under\n   this License except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from\n   such party's negligence to the extent applicable law prohibits such\n   limitation. Some jurisdictions do not allow the exclusion or limitation of\n   incidental or consequential damages, so this exclusion and limitation may\n   not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts\n   of a jurisdiction where the defendant maintains its principal place of\n   business and such litigation shall be governed by laws of that\n   jurisdiction, without reference to its conflict-of-law provisions. Nothing\n   in this Section shall prevent a party's ability to bring cross-claims or\n   counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject\n   matter hereof. If any provision of this License is held to be\n   unenforceable, such provision shall be reformed only to the extent\n   necessary to make it enforceable. Any law or regulation which provides that\n   the language of a contract shall be construed against the drafter shall not\n   be used to construe this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version\n      of the License under which You originally received the Covered Software,\n      or under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a\n      modified version of this License if you rename the license and remove\n      any references to the name of the license steward (except to note that\n      such modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary\n      Licenses If You choose to distribute Source Code Form that is\n      Incompatible With Secondary Licenses under the terms of this version of\n      the License, the notice described in Exhibit B of this License must be\n      attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file,\nthen You may include the notice in a location (such as a LICENSE file in a\nrelevant directory) where a recipient would be likely to look for such a\nnotice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - \"Incompatible With Secondary Licenses\" Notice\n\n      This Source Code Form is \"Incompatible\n      With Secondary Licenses\", as defined by\n      the Mozilla Public License, v. 2.0.\n\n"
   },
+  {
+    "name": "github.com/hashicorp/go-multierror",
+    "path": "github.com/hashicorp/go-multierror/LICENSE",
+    "licenseText": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. “Contributor”\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. “Contributor Version”\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor’s Contribution.\n\n1.3. “Contribution”\n\n     means Covered Software of a particular Contributor.\n\n1.4. “Covered Software”\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. “Incompatible With Secondary Licenses”\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of version\n        1.1 or earlier of the License, but not also under the terms of a\n        Secondary License.\n\n1.6. “Executable Form”\n\n     means any form of the work other than Source Code Form.\n\n1.7. “Larger Work”\n\n     means a work that combines Covered Software with other material, in a separate\n     file or files, that is not Covered Software.\n\n1.8. “License”\n\n     means this document.\n\n1.9. “Licensable”\n\n     means having the right to grant, to the maximum extent possible, whether at the\n     time of the initial grant or subsequently, any and all of the rights conveyed by\n     this License.\n\n1.10. “Modifications”\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to, deletion\n        from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. “Patent Claims” of a Contributor\n\n      means any patent claim(s), including without limitation, method, process,\n      and apparatus claims, in any patent Licensable by such Contributor that\n      would be infringed, but for the grant of the License, by the making,\n      using, selling, offering for sale, having made, import, or transfer of\n      either its Contributions or its Contributor Version.\n\n1.12. “Secondary License”\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. “Source Code Form”\n\n      means the form of the work preferred for making modifications.\n\n1.14. “You” (or “Your”)\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, “You” includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, “control” means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or as\n        part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its Contributions\n        or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution become\n     effective for each Contribution on the date the Contributor first distributes\n     such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under this\n     License. No additional rights or licenses will be implied from the distribution\n     or licensing of Covered Software under this License. Notwithstanding Section\n     2.1(b) above, no patent license is granted by a Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party’s\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of its\n        Contributions.\n\n     This License does not grant any rights in the trademarks, service marks, or\n     logos of any Contributor (except as may be necessary to comply with the\n     notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this License\n     (see Section 10.2) or under the terms of a Secondary License (if permitted\n     under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its Contributions\n     are its original creation(s) or it has sufficient rights to grant the\n     rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under applicable\n     copyright doctrines of fair use, fair dealing, or other equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under the\n     terms of this License. You must inform recipients that the Source Code Form\n     of the Covered Software is governed by the terms of this License, and how\n     they can obtain a copy of this License. You may not attempt to alter or\n     restrict the recipients’ rights in the Source Code Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this License,\n        or sublicense it under different terms, provided that the license for\n        the Executable Form does not attempt to limit or alter the recipients’\n        rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for the\n     Covered Software. If the Larger Work is a combination of Covered Software\n     with a work governed by one or more Secondary Licenses, and the Covered\n     Software is not Incompatible With Secondary Licenses, this License permits\n     You to additionally distribute such Covered Software under the terms of\n     such Secondary License(s), so that the recipient of the Larger Work may, at\n     their option, further distribute the Covered Software under the terms of\n     either this License or such Secondary License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices (including\n     copyright notices, patent notices, disclaimers of warranty, or limitations\n     of liability) contained within the Source Code Form of the Covered\n     Software, except that You may alter any license notices to the extent\n     required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on behalf\n     of any Contributor. You must make it absolutely clear that any such\n     warranty, support, indemnity, or liability obligation is offered by You\n     alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute, judicial\n   order, or regulation then You must: (a) comply with the terms of this License\n   to the maximum extent possible; and (b) describe the limitations and the code\n   they affect. Such description must be placed in a text file included with all\n   distributions of the Covered Software under this License. Except to the\n   extent prohibited by statute or regulation, such description must be\n   sufficiently detailed for a recipient of ordinary skill to be able to\n   understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing basis,\n     if such Contributor fails to notify You of the non-compliance by some\n     reasonable means prior to 60 days after You have come back into compliance.\n     Moreover, Your grants from a particular Contributor are reinstated on an\n     ongoing basis if such Contributor notifies You of the non-compliance by\n     some reasonable means, this is the first time You have received notice of\n     non-compliance with this License from such Contributor, and You become\n     compliant prior to 30 days after Your receipt of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions, counter-claims,\n     and cross-claims) alleging that a Contributor Version directly or\n     indirectly infringes any patent, then the rights granted to You by any and\n     all Contributors for the Covered Software under Section 2.1 of this License\n     shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an “as is” basis, without\n   warranty of any kind, either expressed, implied, or statutory, including,\n   without limitation, warranties that the Covered Software is free of defects,\n   merchantable, fit for a particular purpose or non-infringing. The entire\n   risk as to the quality and performance of the Covered Software is with You.\n   Should any Covered Software prove defective in any respect, You (not any\n   Contributor) assume the cost of any necessary servicing, repair, or\n   correction. This disclaimer of warranty constitutes an essential part of this\n   License. No use of  any Covered Software is authorized under this License\n   except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from such\n   party’s negligence to the extent applicable law prohibits such limitation.\n   Some jurisdictions do not allow the exclusion or limitation of incidental or\n   consequential damages, so this exclusion and limitation may not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts of\n   a jurisdiction where the defendant maintains its principal place of business\n   and such litigation shall be governed by laws of that jurisdiction, without\n   reference to its conflict-of-law provisions. Nothing in this Section shall\n   prevent a party’s ability to bring cross-claims or counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject matter\n   hereof. If any provision of this License is held to be unenforceable, such\n   provision shall be reformed only to the extent necessary to make it\n   enforceable. Any law or regulation which provides that the language of a\n   contract shall be construed against the drafter shall not be used to construe\n   this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version of\n      the License under which You originally received the Covered Software, or\n      under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a modified\n      version of this License if you rename the license and remove any\n      references to the name of the license steward (except to note that such\n      modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses\n      If You choose to distribute Source Code Form that is Incompatible With\n      Secondary Licenses under the terms of this version of the License, the\n      notice described in Exhibit B of this License must be attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file, then\nYou may include the notice in a location (such as a LICENSE file in a relevant\ndirectory) where a recipient would be likely to look for such a notice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - “Incompatible With Secondary Licenses” Notice\n\n      This Source Code Form is “Incompatible\n      With Secondary Licenses”, as defined by\n      the Mozilla Public License, v. 2.0.\n"
+  },
   {
     "name": "github.com/hashicorp/go-retryablehttp",
     "path": "github.com/hashicorp/go-retryablehttp/LICENSE",
@@ -674,6 +719,11 @@
     "path": "github.com/klauspost/compress/LICENSE",
     "licenseText": "Copyright (c) 2012 The Go Authors. All rights reserved.\nCopyright (c) 2019 Klaus Post. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n------------------\n\nFiles: gzhttp/*\n\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright 2016-2017 The New York Times Company\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\n------------------\n\nFiles: s2/cmd/internal/readahead/*\n\nThe MIT License (MIT)\n\nCopyright (c) 2015 Klaus Post\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n---------------------\nFiles: snappy/*\nFiles: internal/snapref/*\n\nCopyright (c) 2011 The Snappy-Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n-----------------\n\nFiles: s2/cmd/internal/filepathx/*\n\nCopyright 2016 The filepathx Authors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
   },
+  {
+    "name": "github.com/klauspost/compress/gzhttp",
+    "path": "github.com/klauspost/compress/gzhttp/LICENSE",
+    "licenseText": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright 2016-2017 The New York Times Company\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
+  },
   {
     "name": "github.com/klauspost/compress/internal/snapref",
     "path": "github.com/klauspost/compress/internal/snapref/LICENSE",
@@ -745,8 +795,8 @@
     "licenseText": "MIT License\n\nCopyright (c) 2020-2024 Meili SAS\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
   },
   {
-    "name": "github.com/mholt/acmez",
-    "path": "github.com/mholt/acmez/LICENSE",
+    "name": "github.com/mholt/acmez/v2",
+    "path": "github.com/mholt/acmez/v2/LICENSE",
     "licenseText": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
   },
   {
@@ -759,6 +809,16 @@
     "path": "github.com/microcosm-cc/bluemonday/LICENSE.md",
     "licenseText": "SPDX short identifier: BSD-3-Clause\nhttps://opensource.org/licenses/BSD-3-Clause\n\nCopyright (c) 2014, David Kitchen \u003cdavid@buro9.com\u003e\n\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the organisation (Microcosm) nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
   },
+  {
+    "name": "github.com/microsoft/go-mssqldb",
+    "path": "github.com/microsoft/go-mssqldb/LICENSE.txt",
+    "licenseText": "Copyright (c) 2012 The Go Authors. All rights reserved.\nCopyright (c) Microsoft Corporation.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
+  },
+  {
+    "name": "github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg",
+    "path": "github.com/microsoft/go-mssqldb/internal/github.com/swisscom/mssql-always-encrypted/pkg/LICENSE.txt",
+    "licenseText": "Copyright (c) 2021 Swisscom (Switzerland) Ltd\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n"
+  },
   {
     "name": "github.com/miekg/dns",
     "path": "github.com/miekg/dns/LICENSE",
@@ -774,11 +834,6 @@
     "path": "github.com/minio/minio-go/v7/LICENSE",
     "licenseText": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
   },
-  {
-    "name": "github.com/minio/sha256-simd",
-    "path": "github.com/minio/sha256-simd/LICENSE",
-    "licenseText": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
-  },
   {
     "name": "github.com/mitchellh/mapstructure",
     "path": "github.com/mitchellh/mapstructure/LICENSE",
@@ -1077,7 +1132,7 @@
   {
     "name": "golang.org/x/crypto",
     "path": "golang.org/x/crypto/LICENSE",
-    "licenseText": "Copyright (c) 2009 The Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
+    "licenseText": "Copyright 2009 The Go Authors.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google LLC nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
   },
   {
     "name": "golang.org/x/image",
@@ -1102,17 +1157,17 @@
   {
     "name": "golang.org/x/sync",
     "path": "golang.org/x/sync/LICENSE",
-    "licenseText": "Copyright (c) 2009 The Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
+    "licenseText": "Copyright 2009 The Go Authors.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google LLC nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
   },
   {
     "name": "golang.org/x/sys",
     "path": "golang.org/x/sys/LICENSE",
-    "licenseText": "Copyright (c) 2009 The Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
+    "licenseText": "Copyright 2009 The Go Authors.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google LLC nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
   },
   {
     "name": "golang.org/x/text",
     "path": "golang.org/x/text/LICENSE",
-    "licenseText": "Copyright (c) 2009 The Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
+    "licenseText": "Copyright 2009 The Go Authors.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google LLC nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
   },
   {
     "name": "golang.org/x/time/rate",
diff --git a/build/code-batch-process.go b/build/code-batch-process.go
index b3ee3994207..cc2ab680268 100644
--- a/build/code-batch-process.go
+++ b/build/code-batch-process.go
@@ -69,6 +69,7 @@ func newFileCollector(fileFilter string, batchSize int) (*fileCollector, error)
 		co.includePatterns = append(co.includePatterns, regexp.MustCompile(`.*\.go$`))
 
 		co.excludePatterns = append(co.excludePatterns, regexp.MustCompile(`.*\bbindata\.go$`))
+		co.excludePatterns = append(co.excludePatterns, regexp.MustCompile(`\.pb\.go$`))
 		co.excludePatterns = append(co.excludePatterns, regexp.MustCompile(`tests/gitea-repositories-meta`))
 		co.excludePatterns = append(co.excludePatterns, regexp.MustCompile(`tests/integration/migration-test`))
 		co.excludePatterns = append(co.excludePatterns, regexp.MustCompile(`modules/git/tests`))
@@ -203,17 +204,6 @@ Example:
 `, "file-batch-exec")
 }
 
-func getGoVersion() string {
-	goModFile, err := os.ReadFile("go.mod")
-	if err != nil {
-		log.Fatalf(`Faild to read "go.mod": %v`, err)
-		os.Exit(1)
-	}
-	goModVersionRegex := regexp.MustCompile(`go \d+\.\d+`)
-	goModVersionLine := goModVersionRegex.Find(goModFile)
-	return string(goModVersionLine[3:])
-}
-
 func newFileCollectorFromMainOptions(mainOptions map[string]string) (fc *fileCollector, err error) {
 	fileFilter := mainOptions["file-filter"]
 	if fileFilter == "" {
@@ -278,7 +268,8 @@ func main() {
 				log.Print("the -d option is not supported by gitea-fmt")
 			}
 			cmdErrors = append(cmdErrors, giteaFormatGoImports(files, containsString(subArgs, "-w")))
-			cmdErrors = append(cmdErrors, passThroughCmd("go", append([]string{"run", os.Getenv("GOFUMPT_PACKAGE"), "-extra", "-lang", getGoVersion()}, substArgs...)))
+			cmdErrors = append(cmdErrors, passThroughCmd("gofmt", append([]string{"-w", "-r", "interface{} -> any"}, substArgs...)))
+			cmdErrors = append(cmdErrors, passThroughCmd("go", append([]string{"run", os.Getenv("GOFUMPT_PACKAGE"), "-extra"}, substArgs...)))
 		default:
 			log.Fatalf("unknown cmd: %s %v", subCmd, subArgs)
 		}
diff --git a/cmd/admin_auth.go b/cmd/admin_auth.go
index ec92e342d4d..4777a929086 100644
--- a/cmd/admin_auth.go
+++ b/cmd/admin_auth.go
@@ -4,6 +4,7 @@
 package cmd
 
 import (
+	"errors"
 	"fmt"
 	"os"
 	"text/tabwriter"
@@ -91,7 +92,7 @@ func runListAuth(c *cli.Context) error {
 
 func runDeleteAuth(c *cli.Context) error {
 	if !c.IsSet("id") {
-		return fmt.Errorf("--id flag is missing")
+		return errors.New("--id flag is missing")
 	}
 
 	ctx, cancel := installSignals()
diff --git a/cmd/admin_auth_oauth.go b/cmd/admin_auth_oauth.go
index c151c0af277..8e6239ac338 100644
--- a/cmd/admin_auth_oauth.go
+++ b/cmd/admin_auth_oauth.go
@@ -4,6 +4,7 @@
 package cmd
 
 import (
+	"errors"
 	"fmt"
 	"net/url"
 
@@ -193,7 +194,7 @@ func runAddOauth(c *cli.Context) error {
 
 func runUpdateOauth(c *cli.Context) error {
 	if !c.IsSet("id") {
-		return fmt.Errorf("--id flag is missing")
+		return errors.New("--id flag is missing")
 	}
 
 	ctx, cancel := installSignals()
diff --git a/cmd/admin_auth_stmp.go b/cmd/admin_auth_stmp.go
index 58a6e2ac220..d7247469052 100644
--- a/cmd/admin_auth_stmp.go
+++ b/cmd/admin_auth_stmp.go
@@ -5,7 +5,6 @@ package cmd
 
 import (
 	"errors"
-	"fmt"
 	"strings"
 
 	auth_model "code.gitea.io/gitea/models/auth"
@@ -166,7 +165,7 @@ func runAddSMTP(c *cli.Context) error {
 
 func runUpdateSMTP(c *cli.Context) error {
 	if !c.IsSet("id") {
-		return fmt.Errorf("--id flag is missing")
+		return errors.New("--id flag is missing")
 	}
 
 	ctx, cancel := installSignals()
diff --git a/cmd/admin_user_change_password.go b/cmd/admin_user_change_password.go
index 824d66d1125..f1ed46e70b0 100644
--- a/cmd/admin_user_change_password.go
+++ b/cmd/admin_user_change_password.go
@@ -35,7 +35,8 @@ var microcmdUserChangePassword = &cli.Command{
 		},
 		&cli.BoolFlag{
 			Name:  "must-change-password",
-			Usage: "User must change password",
+			Usage: "User must change password (can be disabled by --must-change-password=false)",
+			Value: true,
 		},
 	},
 }
@@ -57,23 +58,18 @@ func runChangePassword(c *cli.Context) error {
 		return err
 	}
 
-	var mustChangePassword optional.Option[bool]
-	if c.IsSet("must-change-password") {
-		mustChangePassword = optional.Some(c.Bool("must-change-password"))
-	}
-
 	opts := &user_service.UpdateAuthOptions{
 		Password:           optional.Some(c.String("password")),
-		MustChangePassword: mustChangePassword,
+		MustChangePassword: optional.Some(c.Bool("must-change-password")),
 	}
 	if err := user_service.UpdateAuth(ctx, user, opts); err != nil {
 		switch {
 		case errors.Is(err, password.ErrMinLength):
-			return fmt.Errorf("Password is not long enough. Needs to be at least %d", setting.MinPasswordLength)
+			return fmt.Errorf("password is not long enough, needs to be at least %d characters", setting.MinPasswordLength)
 		case errors.Is(err, password.ErrComplexity):
-			return errors.New("Password does not meet complexity requirements")
+			return errors.New("password does not meet complexity requirements")
 		case errors.Is(err, password.ErrIsPwned):
-			return errors.New("The password you chose is on a list of stolen passwords previously exposed in public data breaches. Please try again with a different password.\nFor more details, see https://haveibeenpwned.com/Passwords")
+			return errors.New("the password is in a list of stolen passwords previously exposed in public data breaches, please try again with a different password, to see more details: https://haveibeenpwned.com/Passwords")
 		default:
 			return err
 		}
diff --git a/cmd/admin_user_create.go b/cmd/admin_user_create.go
index a257ce21c8d..f328b753d86 100644
--- a/cmd/admin_user_create.go
+++ b/cmd/admin_user_create.go
@@ -4,10 +4,12 @@
 package cmd
 
 import (
+	"context"
 	"errors"
 	"fmt"
 
 	auth_model "code.gitea.io/gitea/models/auth"
+	"code.gitea.io/gitea/models/db"
 	user_model "code.gitea.io/gitea/models/user"
 	pwd "code.gitea.io/gitea/modules/auth/password"
 	"code.gitea.io/gitea/modules/optional"
@@ -46,8 +48,9 @@ var microcmdUserCreate = &cli.Command{
 			Usage: "Generate a random password for the user",
 		},
 		&cli.BoolFlag{
-			Name:  "must-change-password",
-			Usage: "Set this option to false to prevent forcing the user to change their password after initial login, (Default: true)",
+			Name:               "must-change-password",
+			Usage:              "User must change password after initial login, defaults to true for all users except the first one (can be disabled by --must-change-password=false)",
+			DisableDefaultText: true,
 		},
 		&cli.IntFlag{
 			Name:  "random-password-length",
@@ -71,10 +74,10 @@ func runCreateUser(c *cli.Context) error {
 	}
 
 	if c.IsSet("name") && c.IsSet("username") {
-		return errors.New("Cannot set both --name and --username flags")
+		return errors.New("cannot set both --name and --username flags")
 	}
 	if !c.IsSet("name") && !c.IsSet("username") {
-		return errors.New("One of --name or --username flags must be set")
+		return errors.New("one of --name or --username flags must be set")
 	}
 
 	if c.IsSet("password") && c.IsSet("random-password") {
@@ -89,11 +92,16 @@ func runCreateUser(c *cli.Context) error {
 		_, _ = fmt.Fprintf(c.App.ErrWriter, "--name flag is deprecated. Use --username instead.\n")
 	}
 
-	ctx, cancel := installSignals()
-	defer cancel()
-
-	if err := initDB(ctx); err != nil {
-		return err
+	ctx := c.Context
+	if !setting.IsInTesting {
+		// FIXME: need to refactor the "installSignals/initDB" related code later
+		// it doesn't make sense to call it in (almost) every command action function
+		var cancel context.CancelFunc
+		ctx, cancel = installSignals()
+		defer cancel()
+		if err := initDB(ctx); err != nil {
+			return err
+		}
 	}
 
 	var password string
@@ -110,17 +118,21 @@ func runCreateUser(c *cli.Context) error {
 		return errors.New("must set either password or random-password flag")
 	}
 
-	// always default to true
-	changePassword := true
-
-	// If this is the first user being created.
-	// Take it as the admin and don't force a password update.
-	if n := user_model.CountUsers(ctx, nil); n == 0 {
-		changePassword = false
-	}
-
+	isAdmin := c.Bool("admin")
+	mustChangePassword := true // always default to true
 	if c.IsSet("must-change-password") {
-		changePassword = c.Bool("must-change-password")
+		// if the flag is set, use the value provided by the user
+		mustChangePassword = c.Bool("must-change-password")
+	} else {
+		// check whether there are users in the database
+		hasUserRecord, err := db.IsTableNotEmpty(&user_model.User{})
+		if err != nil {
+			return fmt.Errorf("IsTableNotEmpty: %w", err)
+		}
+		if !hasUserRecord {
+			// if this is the first one being created, don't force to change password (keep the old behavior)
+			mustChangePassword = false
+		}
 	}
 
 	restricted := optional.None[bool]()
@@ -136,8 +148,8 @@ func runCreateUser(c *cli.Context) error {
 		Name:               username,
 		Email:              c.String("email"),
 		Passwd:             password,
-		IsAdmin:            c.Bool("admin"),
-		MustChangePassword: changePassword,
+		IsAdmin:            isAdmin,
+		MustChangePassword: mustChangePassword,
 		Visibility:         visibility,
 	}
 
diff --git a/cmd/admin_user_create_test.go b/cmd/admin_user_create_test.go
new file mode 100644
index 00000000000..83754e97b10
--- /dev/null
+++ b/cmd/admin_user_create_test.go
@@ -0,0 +1,44 @@
+// Copyright 2023 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package cmd
+
+import (
+	"fmt"
+	"strings"
+	"testing"
+
+	"code.gitea.io/gitea/models/db"
+	"code.gitea.io/gitea/models/unittest"
+	user_model "code.gitea.io/gitea/models/user"
+
+	"github.com/stretchr/testify/assert"
+)
+
+func TestAdminUserCreate(t *testing.T) {
+	app := NewMainApp(AppVersion{})
+
+	reset := func() {
+		assert.NoError(t, db.TruncateBeans(db.DefaultContext, &user_model.User{}))
+		assert.NoError(t, db.TruncateBeans(db.DefaultContext, &user_model.EmailAddress{}))
+	}
+
+	type createCheck struct{ IsAdmin, MustChangePassword bool }
+	createUser := func(name, args string) createCheck {
+		assert.NoError(t, app.Run(strings.Fields(fmt.Sprintf("./gitea admin user create --username %s --email %s@gitea.local %s --password foobar", name, name, args))))
+		u := unittest.AssertExistsAndLoadBean(t, &user_model.User{LowerName: name})
+		return createCheck{u.IsAdmin, u.MustChangePassword}
+	}
+	reset()
+	assert.Equal(t, createCheck{IsAdmin: false, MustChangePassword: false}, createUser("u", ""), "first non-admin user doesn't need to change password")
+
+	reset()
+	assert.Equal(t, createCheck{IsAdmin: true, MustChangePassword: false}, createUser("u", "--admin"), "first admin user doesn't need to change password")
+
+	reset()
+	assert.Equal(t, createCheck{IsAdmin: true, MustChangePassword: true}, createUser("u", "--admin --must-change-password"))
+	assert.Equal(t, createCheck{IsAdmin: true, MustChangePassword: true}, createUser("u2", "--admin"))
+	assert.Equal(t, createCheck{IsAdmin: true, MustChangePassword: false}, createUser("u3", "--admin --must-change-password=false"))
+	assert.Equal(t, createCheck{IsAdmin: false, MustChangePassword: true}, createUser("u4", ""))
+	assert.Equal(t, createCheck{IsAdmin: false, MustChangePassword: false}, createUser("u5", "--must-change-password=false"))
+}
diff --git a/cmd/admin_user_delete.go b/cmd/admin_user_delete.go
index 1cbc6f75278..520557554a2 100644
--- a/cmd/admin_user_delete.go
+++ b/cmd/admin_user_delete.go
@@ -4,6 +4,7 @@
 package cmd
 
 import (
+	"errors"
 	"fmt"
 	"strings"
 
@@ -42,7 +43,7 @@ var microcmdUserDelete = &cli.Command{
 
 func runDeleteUser(c *cli.Context) error {
 	if !c.IsSet("id") && !c.IsSet("username") && !c.IsSet("email") {
-		return fmt.Errorf("You must provide the id, username or email of a user to delete")
+		return errors.New("You must provide the id, username or email of a user to delete")
 	}
 
 	ctx, cancel := installSignals()
diff --git a/cmd/admin_user_generate_access_token.go b/cmd/admin_user_generate_access_token.go
index 6e78939680a..6c2c10494ee 100644
--- a/cmd/admin_user_generate_access_token.go
+++ b/cmd/admin_user_generate_access_token.go
@@ -4,6 +4,7 @@
 package cmd
 
 import (
+	"errors"
 	"fmt"
 
 	auth_model "code.gitea.io/gitea/models/auth"
@@ -42,7 +43,7 @@ var microcmdUserGenerateAccessToken = &cli.Command{
 
 func runGenerateAccessToken(c *cli.Context) error {
 	if !c.IsSet("username") {
-		return fmt.Errorf("You must provide a username to generate a token for")
+		return errors.New("You must provide a username to generate a token for")
 	}
 
 	ctx, cancel := installSignals()
@@ -68,7 +69,7 @@ func runGenerateAccessToken(c *cli.Context) error {
 		return err
 	}
 	if exist {
-		return fmt.Errorf("access token name has been used already")
+		return errors.New("access token name has been used already")
 	}
 
 	// make sure the scopes are valid
diff --git a/cmd/dump.go b/cmd/dump.go
index 69ecdcec124..ececc80f725 100644
--- a/cmd/dump.go
+++ b/cmd/dump.go
@@ -6,14 +6,13 @@ package cmd
 
 import (
 	"fmt"
-	"io"
 	"os"
 	"path"
 	"path/filepath"
 	"strings"
-	"time"
 
 	"code.gitea.io/gitea/models/db"
+	"code.gitea.io/gitea/modules/dump"
 	"code.gitea.io/gitea/modules/json"
 	"code.gitea.io/gitea/modules/log"
 	"code.gitea.io/gitea/modules/setting"
@@ -25,89 +24,17 @@ import (
 	"github.com/urfave/cli/v2"
 )
 
-func addReader(w archiver.Writer, r io.ReadCloser, info os.FileInfo, customName string, verbose bool) error {
-	if verbose {
-		log.Info("Adding file %s", customName)
-	}
-
-	return w.Write(archiver.File{
-		FileInfo: archiver.FileInfo{
-			FileInfo:   info,
-			CustomName: customName,
-		},
-		ReadCloser: r,
-	})
-}
-
-func addFile(w archiver.Writer, filePath, absPath string, verbose bool) error {
-	file, err := os.Open(absPath)
-	if err != nil {
-		return err
-	}
-	defer file.Close()
-	fileInfo, err := file.Stat()
-	if err != nil {
-		return err
-	}
-
-	return addReader(w, file, fileInfo, filePath, verbose)
-}
-
-func isSubdir(upper, lower string) (bool, error) {
-	if relPath, err := filepath.Rel(upper, lower); err != nil {
-		return false, err
-	} else if relPath == "." || !strings.HasPrefix(relPath, ".") {
-		return true, nil
-	}
-	return false, nil
-}
-
-type outputType struct {
-	Enum     []string
-	Default  string
-	selected string
-}
-
-func (o outputType) Join() string {
-	return strings.Join(o.Enum, ", ")
-}
-
-func (o *outputType) Set(value string) error {
-	for _, enum := range o.Enum {
-		if enum == value {
-			o.selected = value
-			return nil
-		}
-	}
-
-	return fmt.Errorf("allowed values are %s", o.Join())
-}
-
-func (o outputType) String() string {
-	if o.selected == "" {
-		return o.Default
-	}
-	return o.selected
-}
-
-var outputTypeEnum = &outputType{
-	Enum:    []string{"zip", "tar", "tar.sz", "tar.gz", "tar.xz", "tar.bz2", "tar.br", "tar.lz4", "tar.zst"},
-	Default: "zip",
-}
-
 // CmdDump represents the available dump sub-command.
 var CmdDump = &cli.Command{
-	Name:  "dump",
-	Usage: "Dump Gitea files and database",
-	Description: `Dump compresses all related files and database into zip file.
-It can be used for backup and capture Gitea server image to send to maintainer`,
-	Action: runDump,
+	Name:        "dump",
+	Usage:       "Dump Gitea files and database",
+	Description: `Dump compresses all related files and database into zip file. It can be used for backup and capture Gitea server image to send to maintainer`,
+	Action:      runDump,
 	Flags: []cli.Flag{
 		&cli.StringFlag{
 			Name:    "file",
 			Aliases: []string{"f"},
-			Value:   fmt.Sprintf("gitea-dump-%d.zip", time.Now().Unix()),
-			Usage:   "Name of the dump file which will be created. Supply '-' for stdout. See type for available types.",
+			Usage:   `Name of the dump file which will be created, default to "gitea-dump-{time}.zip". Supply '-' for stdout. See type for available types.`,
 		},
 		&cli.BoolFlag{
 			Name:    "verbose",
@@ -160,64 +87,56 @@ It can be used for backup and capture Gitea server image to send to maintainer`,
 			Name:  "skip-index",
 			Usage: "Skip bleve index data",
 		},
-		&cli.GenericFlag{
+		&cli.BoolFlag{
+			Name:  "skip-db",
+			Usage: "Skip database",
+		},
+		&cli.StringFlag{
 			Name:  "type",
-			Value: outputTypeEnum,
-			Usage: fmt.Sprintf("Dump output format: %s", outputTypeEnum.Join()),
+			Usage: fmt.Sprintf(`Dump output format, default to "zip", supported types: %s`, strings.Join(dump.SupportedOutputTypes, ", ")),
 		},
 	},
 }
 
 func fatal(format string, args ...any) {
-	fmt.Fprintf(os.Stderr, format+"\n", args...)
 	log.Fatal(format, args...)
 }
 
 func runDump(ctx *cli.Context) error {
-	var file *os.File
-	fileName := ctx.String("file")
-	outType := ctx.String("type")
-	if fileName == "-" {
-		file = os.Stdout
-		setupConsoleLogger(log.FATAL, log.CanColorStderr, os.Stderr)
-	} else {
-		for _, suffix := range outputTypeEnum.Enum {
-			if strings.HasSuffix(fileName, "."+suffix) {
-				fileName = strings.TrimSuffix(fileName, "."+suffix)
-				break
-			}
-		}
-		fileName += "." + outType
-	}
 	setting.MustInstalled()
 
-	// make sure we are logging to the console no matter what the configuration tells us do to
-	// FIXME: don't use CfgProvider directly
-	if _, err := setting.CfgProvider.Section("log").NewKey("MODE", "console"); err != nil {
-		fatal("Setting logging mode to console failed: %v", err)
-	}
-	if _, err := setting.CfgProvider.Section("log.console").NewKey("STDERR", "true"); err != nil {
-		fatal("Setting console logger to stderr failed: %v", err)
-	}
-
-	// Set loglevel to Warn if quiet-mode is requested
-	if ctx.Bool("quiet") {
-		if _, err := setting.CfgProvider.Section("log.console").NewKey("LEVEL", "Warn"); err != nil {
-			fatal("Setting console log-level failed: %v", err)
-		}
-	}
-
-	if !setting.InstallLock {
-		log.Error("Is '%s' really the right config path?\n", setting.CustomConf)
-		return fmt.Errorf("gitea is not initialized")
-	}
-	setting.LoadSettings() // cannot access session settings otherwise
-
+	quite := ctx.Bool("quiet")
 	verbose := ctx.Bool("verbose")
-	if verbose && ctx.Bool("quiet") {
-		return fmt.Errorf("--quiet and --verbose cannot both be set")
+	if verbose && quite {
+		fatal("Option --quiet and --verbose cannot both be set")
 	}
 
+	// outFileName is either "-" or a file name (will be made absolute)
+	outFileName, outType := dump.PrepareFileNameAndType(ctx.String("file"), ctx.String("type"))
+	if outType == "" {
+		fatal("Invalid output type")
+	}
+
+	outFile := os.Stdout
+	if outFileName != "-" {
+		var err error
+		if outFileName, err = filepath.Abs(outFileName); err != nil {
+			fatal("Unable to get absolute path of dump file: %v", err)
+		}
+		if exist, _ := util.IsExist(outFileName); exist {
+			fatal("Dump file %q exists", outFileName)
+		}
+		if outFile, err = os.Create(outFileName); err != nil {
+			fatal("Unable to create dump file %q: %v", outFileName, err)
+		}
+		defer outFile.Close()
+	}
+
+	setupConsoleLogger(util.Iif(quite, log.WARN, log.INFO), log.CanColorStderr, os.Stderr)
+
+	setting.DisableLoggerInit()
+	setting.LoadSettings() // cannot access session settings otherwise
+
 	stdCtx, cancel := installSignals()
 	defer cancel()
 
@@ -226,44 +145,32 @@ func runDump(ctx *cli.Context) error {
 		return err
 	}
 
-	if err := storage.Init(); err != nil {
+	if err = storage.Init(); err != nil {
 		return err
 	}
 
-	if file == nil {
-		file, err = os.Create(fileName)
-		if err != nil {
-			fatal("Unable to open %s: %v", fileName, err)
-		}
-	}
-	defer file.Close()
-
-	absFileName, err := filepath.Abs(fileName)
-	if err != nil {
-		return err
-	}
-
-	var iface any
-	if fileName == "-" {
-		iface, err = archiver.ByExtension(fmt.Sprintf(".%s", outType))
-	} else {
-		iface, err = archiver.ByExtension(fileName)
-	}
+	archiverGeneric, err := archiver.ByExtension("." + outType)
 	if err != nil {
 		fatal("Unable to get archiver for extension: %v", err)
 	}
 
-	w, _ := iface.(archiver.Writer)
-	if err := w.Create(file); err != nil {
+	archiverWriter := archiverGeneric.(archiver.Writer)
+	if err := archiverWriter.Create(outFile); err != nil {
 		fatal("Creating archiver.Writer failed: %v", err)
 	}
-	defer w.Close()
+	defer archiverWriter.Close()
+
+	dumper := &dump.Dumper{
+		Writer:  archiverWriter,
+		Verbose: verbose,
+	}
+	dumper.GlobalExcludeAbsPath(outFileName)
 
 	if ctx.IsSet("skip-repository") && ctx.Bool("skip-repository") {
 		log.Info("Skip dumping local repositories")
 	} else {
 		log.Info("Dumping local repositories... %s", setting.RepoRootPath)
-		if err := addRecursiveExclude(w, "repos", setting.RepoRootPath, []string{absFileName}, verbose); err != nil {
+		if err := dumper.AddRecursiveExclude("repos", setting.RepoRootPath, nil); err != nil {
 			fatal("Failed to include repositories: %v", err)
 		}
 
@@ -276,49 +183,52 @@ func runDump(ctx *cli.Context) error {
 			if err != nil {
 				return err
 			}
-
-			return addReader(w, object, info, path.Join("data", "lfs", objPath), verbose)
+			return dumper.AddReader(object, info, path.Join("data", "lfs", objPath))
 		}); err != nil {
 			fatal("Failed to dump LFS objects: %v", err)
 		}
 	}
 
-	tmpDir := ctx.String("tempdir")
-	if _, err := os.Stat(tmpDir); os.IsNotExist(err) {
-		fatal("Path does not exist: %s", tmpDir)
-	}
-
-	dbDump, err := os.CreateTemp(tmpDir, "gitea-db.sql")
-	if err != nil {
-		fatal("Failed to create tmp file: %v", err)
-	}
-	defer func() {
-		_ = dbDump.Close()
-		if err := util.Remove(dbDump.Name()); err != nil {
-			log.Warn("Unable to remove temporary file: %s: Error: %v", dbDump.Name(), err)
-		}
-	}()
-
-	targetDBType := ctx.String("database")
-	if len(targetDBType) > 0 && targetDBType != setting.Database.Type.String() {
-		log.Info("Dumping database %s => %s...", setting.Database.Type, targetDBType)
+	if ctx.Bool("skip-db") {
+		// Ensure that we don't dump the database file that may reside in setting.AppDataPath or elsewhere.
+		dumper.GlobalExcludeAbsPath(setting.Database.Path)
+		log.Info("Skipping database")
 	} else {
-		log.Info("Dumping database...")
-	}
-
-	if err := db.DumpDatabase(dbDump.Name(), targetDBType); err != nil {
-		fatal("Failed to dump database: %v", err)
-	}
-
-	if err := addFile(w, "gitea-db.sql", dbDump.Name(), verbose); err != nil {
-		fatal("Failed to include gitea-db.sql: %v", err)
-	}
-
-	if len(setting.CustomConf) > 0 {
-		log.Info("Adding custom configuration file from %s", setting.CustomConf)
-		if err := addFile(w, "app.ini", setting.CustomConf, verbose); err != nil {
-			fatal("Failed to include specified app.ini: %v", err)
+		tmpDir := ctx.String("tempdir")
+		if _, err := os.Stat(tmpDir); os.IsNotExist(err) {
+			fatal("Path does not exist: %s", tmpDir)
 		}
+
+		dbDump, err := os.CreateTemp(tmpDir, "gitea-db.sql")
+		if err != nil {
+			fatal("Failed to create tmp file: %v", err)
+		}
+		defer func() {
+			_ = dbDump.Close()
+			if err := util.Remove(dbDump.Name()); err != nil {
+				log.Warn("Unable to remove temporary file: %s: Error: %v", dbDump.Name(), err)
+			}
+		}()
+
+		targetDBType := ctx.String("database")
+		if len(targetDBType) > 0 && targetDBType != setting.Database.Type.String() {
+			log.Info("Dumping database %s => %s...", setting.Database.Type, targetDBType)
+		} else {
+			log.Info("Dumping database...")
+		}
+
+		if err := db.DumpDatabase(dbDump.Name(), targetDBType); err != nil {
+			fatal("Failed to dump database: %v", err)
+		}
+
+		if err = dumper.AddFile("gitea-db.sql", dbDump.Name()); err != nil {
+			fatal("Failed to include gitea-db.sql: %v", err)
+		}
+	}
+
+	log.Info("Adding custom configuration file from %s", setting.CustomConf)
+	if err = dumper.AddFile("app.ini", setting.CustomConf); err != nil {
+		fatal("Failed to include specified app.ini: %v", err)
 	}
 
 	if ctx.IsSet("skip-custom-dir") && ctx.Bool("skip-custom-dir") {
@@ -326,8 +236,8 @@ func runDump(ctx *cli.Context) error {
 	} else {
 		customDir, err := os.Stat(setting.CustomPath)
 		if err == nil && customDir.IsDir() {
-			if is, _ := isSubdir(setting.AppDataPath, setting.CustomPath); !is {
-				if err := addRecursiveExclude(w, "custom", setting.CustomPath, []string{absFileName}, verbose); err != nil {
+			if is, _ := dump.IsSubdir(setting.AppDataPath, setting.CustomPath); !is {
+				if err := dumper.AddRecursiveExclude("custom", setting.CustomPath, nil); err != nil {
 					fatal("Failed to include custom: %v", err)
 				}
 			} else {
@@ -364,8 +274,7 @@ func runDump(ctx *cli.Context) error {
 		excludes = append(excludes, setting.Attachment.Storage.Path)
 		excludes = append(excludes, setting.Packages.Storage.Path)
 		excludes = append(excludes, setting.Log.RootPath)
-		excludes = append(excludes, absFileName)
-		if err := addRecursiveExclude(w, "data", setting.AppDataPath, excludes, verbose); err != nil {
+		if err := dumper.AddRecursiveExclude("data", setting.AppDataPath, excludes); err != nil {
 			fatal("Failed to include data directory: %v", err)
 		}
 	}
@@ -377,8 +286,7 @@ func runDump(ctx *cli.Context) error {
 		if err != nil {
 			return err
 		}
-
-		return addReader(w, object, info, path.Join("data", "attachments", objPath), verbose)
+		return dumper.AddReader(object, info, path.Join("data", "attachments", objPath))
 	}); err != nil {
 		fatal("Failed to dump attachments: %v", err)
 	}
@@ -392,8 +300,7 @@ func runDump(ctx *cli.Context) error {
 		if err != nil {
 			return err
 		}
-
-		return addReader(w, object, info, path.Join("data", "packages", objPath), verbose)
+		return dumper.AddReader(object, info, path.Join("data", "packages", objPath))
 	}); err != nil {
 		fatal("Failed to dump packages: %v", err)
 	}
@@ -409,80 +316,23 @@ func runDump(ctx *cli.Context) error {
 			log.Error("Unable to check if %s exists. Error: %v", setting.Log.RootPath, err)
 		}
 		if isExist {
-			if err := addRecursiveExclude(w, "log", setting.Log.RootPath, []string{absFileName}, verbose); err != nil {
+			if err := dumper.AddRecursiveExclude("log", setting.Log.RootPath, nil); err != nil {
 				fatal("Failed to include log: %v", err)
 			}
 		}
 	}
 
-	if fileName != "-" {
-		if err = w.Close(); err != nil {
-			_ = util.Remove(fileName)
-			fatal("Failed to save %s: %v", fileName, err)
+	if outFileName == "-" {
+		log.Info("Finish dumping to stdout")
+	} else {
+		if err = archiverWriter.Close(); err != nil {
+			_ = os.Remove(outFileName)
+			fatal("Failed to save %q: %v", outFileName, err)
 		}
-
-		if err := os.Chmod(fileName, 0o600); err != nil {
+		if err = os.Chmod(outFileName, 0o600); err != nil {
 			log.Info("Can't change file access permissions mask to 0600: %v", err)
 		}
-	}
-
-	if fileName != "-" {
-		log.Info("Finish dumping in file %s", fileName)
-	} else {
-		log.Info("Finish dumping to stdout")
-	}
-
-	return nil
-}
-
-// addRecursiveExclude zips absPath to specified insidePath inside writer excluding excludeAbsPath
-func addRecursiveExclude(w archiver.Writer, insidePath, absPath string, excludeAbsPath []string, verbose bool) error {
-	absPath, err := filepath.Abs(absPath)
-	if err != nil {
-		return err
-	}
-	dir, err := os.Open(absPath)
-	if err != nil {
-		return err
-	}
-	defer dir.Close()
-
-	files, err := dir.Readdir(0)
-	if err != nil {
-		return err
-	}
-	for _, file := range files {
-		currentAbsPath := filepath.Join(absPath, file.Name())
-		currentInsidePath := path.Join(insidePath, file.Name())
-		if file.IsDir() {
-			if !util.SliceContainsString(excludeAbsPath, currentAbsPath) {
-				if err := addFile(w, currentInsidePath, currentAbsPath, false); err != nil {
-					return err
-				}
-				if err = addRecursiveExclude(w, currentInsidePath, currentAbsPath, excludeAbsPath, verbose); err != nil {
-					return err
-				}
-			}
-		} else {
-			// only copy regular files and symlink regular files, skip non-regular files like socket/pipe/...
-			shouldAdd := file.Mode().IsRegular()
-			if !shouldAdd && file.Mode()&os.ModeSymlink == os.ModeSymlink {
-				target, err := filepath.EvalSymlinks(currentAbsPath)
-				if err != nil {
-					return err
-				}
-				targetStat, err := os.Stat(target)
-				if err != nil {
-					return err
-				}
-				shouldAdd = targetStat.Mode().IsRegular()
-			}
-			if shouldAdd {
-				if err = addFile(w, currentInsidePath, currentAbsPath, verbose); err != nil {
-					return err
-				}
-			}
-		}
+		log.Info("Finish dumping in file %s", outFileName)
 	}
 	return nil
 }
diff --git a/cmd/embedded.go b/cmd/embedded.go
index 71d483d11c3..9f03f7be7c4 100644
--- a/cmd/embedded.go
+++ b/cmd/embedded.go
@@ -157,9 +157,9 @@ func runViewDo(c *cli.Context) error {
 	}
 
 	if len(matchedAssetFiles) == 0 {
-		return fmt.Errorf("no files matched the given pattern")
+		return errors.New("no files matched the given pattern")
 	} else if len(matchedAssetFiles) > 1 {
-		return fmt.Errorf("too many files matched the given pattern, try to be more specific")
+		return errors.New("too many files matched the given pattern, try to be more specific")
 	}
 
 	data, err := matchedAssetFiles[0].fs.ReadFile(matchedAssetFiles[0].name)
@@ -180,7 +180,7 @@ func runExtractDo(c *cli.Context) error {
 	}
 
 	if c.NArg() == 0 {
-		return fmt.Errorf("a list of pattern of files to extract is mandatory (e.g. '**' for all)")
+		return errors.New("a list of pattern of files to extract is mandatory (e.g. '**' for all)")
 	}
 
 	destdir := "."
diff --git a/cmd/hook.go b/cmd/hook.go
index 6a3358853dd..e8a8b1f4ad2 100644
--- a/cmd/hook.go
+++ b/cmd/hook.go
@@ -220,10 +220,7 @@ Gitea or set your environment appropriately.`, "")
 		}
 	}
 
-	supportProcReceive := false
-	if git.CheckGitVersionAtLeast("2.29") == nil {
-		supportProcReceive = true
-	}
+	supportProcReceive := git.DefaultFeatures().SupportProcReceive
 
 	for scanner.Scan() {
 		// TODO: support news feeds for wiki
@@ -293,8 +290,22 @@ Gitea or set your environment appropriately.`, "")
 	return nil
 }
 
+// runHookUpdate avoid to do heavy operations on update hook because it will be
+// invoked for every ref update which does not like pre-receive and post-receive
 func runHookUpdate(c *cli.Context) error {
+	if isInternal, _ := strconv.ParseBool(os.Getenv(repo_module.EnvIsInternal)); isInternal {
+		return nil
+	}
+
 	// Update is empty and is kept only for backwards compatibility
+	if len(os.Args) < 3 {
+		return nil
+	}
+	refName := git.RefName(os.Args[len(os.Args)-3])
+	if refName.IsPull() {
+		// ignore update to refs/pull/xxx/head, so we don't need to output any information
+		os.Exit(1)
+	}
 	return nil
 }
 
@@ -341,6 +352,7 @@ Gitea or set your environment appropriately.`, "")
 	isWiki, _ := strconv.ParseBool(os.Getenv(repo_module.EnvRepoIsWiki))
 	repoName := os.Getenv(repo_module.EnvRepoName)
 	pusherID, _ := strconv.ParseInt(os.Getenv(repo_module.EnvPusherID), 10, 64)
+	prID, _ := strconv.ParseInt(os.Getenv(repo_module.EnvPRID), 10, 64)
 	pusherName := os.Getenv(repo_module.EnvPusherName)
 
 	hookOptions := private.HookOptions{
@@ -350,6 +362,8 @@ Gitea or set your environment appropriately.`, "")
 		GitObjectDirectory:              os.Getenv(private.GitObjectDirectory),
 		GitQuarantinePath:               os.Getenv(private.GitQuarantinePath),
 		GitPushOptions:                  pushOptions(),
+		PullRequestID:                   prID,
+		PushTrigger:                     repo_module.PushTrigger(os.Getenv(repo_module.EnvPushTrigger)),
 	}
 	oldCommitIDs := make([]string, hookBatchSize)
 	newCommitIDs := make([]string, hookBatchSize)
@@ -448,23 +462,26 @@ Gitea or set your environment appropriately.`, "")
 
 func hookPrintResults(results []private.HookPostReceiveBranchResult) {
 	for _, res := range results {
-		if !res.Message {
-			continue
-		}
-
-		fmt.Fprintln(os.Stderr, "")
-		if res.Create {
-			fmt.Fprintf(os.Stderr, "Create a new pull request for '%s':\n", res.Branch)
-			fmt.Fprintf(os.Stderr, "  %s\n", res.URL)
-		} else {
-			fmt.Fprint(os.Stderr, "Visit the existing pull request:\n")
-			fmt.Fprintf(os.Stderr, "  %s\n", res.URL)
-		}
-		fmt.Fprintln(os.Stderr, "")
-		os.Stderr.Sync()
+		hookPrintResult(res.Message, res.Create, res.Branch, res.URL)
 	}
 }
 
+func hookPrintResult(output, isCreate bool, branch, url string) {
+	if !output {
+		return
+	}
+	fmt.Fprintln(os.Stderr, "")
+	if isCreate {
+		fmt.Fprintf(os.Stderr, "Create a new pull request for '%s':\n", branch)
+		fmt.Fprintf(os.Stderr, "  %s\n", url)
+	} else {
+		fmt.Fprint(os.Stderr, "Visit the existing pull request:\n")
+		fmt.Fprintf(os.Stderr, "  %s\n", url)
+	}
+	fmt.Fprintln(os.Stderr, "")
+	_ = os.Stderr.Sync()
+}
+
 func pushOptions() map[string]string {
 	opts := make(map[string]string)
 	if pushCount, err := strconv.Atoi(os.Getenv(private.GitPushOptionCount)); err == nil {
@@ -494,7 +511,7 @@ Gitea or set your environment appropriately.`, "")
 		return nil
 	}
 
-	if git.CheckGitVersionAtLeast("2.29") != nil {
+	if !git.DefaultFeatures().SupportProcReceive {
 		return fail(ctx, "No proc-receive support", "current git version doesn't support proc-receive.")
 	}
 
@@ -691,6 +708,12 @@ Gitea or set your environment appropriately.`, "")
 	}
 	err = writeFlushPktLine(ctx, os.Stdout)
 
+	if err == nil {
+		for _, res := range resp.Results {
+			hookPrintResult(res.ShouldShowMessage, res.IsCreatePR, res.HeadBranch, res.URL)
+		}
+	}
+
 	return err
 }
 
diff --git a/cmd/main.go b/cmd/main.go
index 02dd660e9ee..fd648946efa 100644
--- a/cmd/main.go
+++ b/cmd/main.go
@@ -112,13 +112,18 @@ func prepareWorkPathAndCustomConf(action cli.ActionFunc) func(ctx *cli.Context)
 	}
 }
 
-func NewMainApp(version, versionExtra string) *cli.App {
+type AppVersion struct {
+	Version string
+	Extra   string
+}
+
+func NewMainApp(appVer AppVersion) *cli.App {
 	app := cli.NewApp()
 	app.Name = "Gitea"
 	app.HelpName = "gitea"
 	app.Usage = "A painless self-hosted Git service"
 	app.Description = `Gitea program contains "web" and other subcommands. If no subcommand is given, it starts the web server by default. Use "web" subcommand for more web server arguments, use other subcommands for other purposes.`
-	app.Version = version + versionExtra
+	app.Version = appVer.Version + appVer.Extra
 	app.EnableBashCompletion = true
 
 	// these sub-commands need to use config file
diff --git a/cmd/main_test.go b/cmd/main_test.go
index a916c61f853..c182b440199 100644
--- a/cmd/main_test.go
+++ b/cmd/main_test.go
@@ -28,7 +28,7 @@ func makePathOutput(workPath, customPath, customConf string) string {
 }
 
 func newTestApp(testCmdAction func(ctx *cli.Context) error) *cli.App {
-	app := NewMainApp("version", "version-extra")
+	app := NewMainApp(AppVersion{})
 	testCmd := &cli.Command{Name: "test-cmd", Action: testCmdAction}
 	prepareSubcommandWithConfig(testCmd, appGlobalFlags())
 	app.Commands = append(app.Commands, testCmd)
diff --git a/cmd/manager_logging.go b/cmd/manager_logging.go
index 7d34fc9ac21..c2ae25ec572 100644
--- a/cmd/manager_logging.go
+++ b/cmd/manager_logging.go
@@ -4,6 +4,7 @@
 package cmd
 
 import (
+	"errors"
 	"fmt"
 	"os"
 
@@ -249,7 +250,7 @@ func runAddFileLogger(c *cli.Context) error {
 	if c.IsSet("filename") {
 		vals["filename"] = c.String("filename")
 	} else {
-		return fmt.Errorf("filename must be set when creating a file logger")
+		return errors.New("filename must be set when creating a file logger")
 	}
 	if c.IsSet("rotate") {
 		vals["rotate"] = c.Bool("rotate")
diff --git a/cmd/migrate_storage.go b/cmd/migrate_storage.go
index aa49445a89e..6ece4bf661b 100644
--- a/cmd/migrate_storage.go
+++ b/cmd/migrate_storage.go
@@ -5,7 +5,9 @@ package cmd
 
 import (
 	"context"
+	"errors"
 	"fmt"
+	"io/fs"
 	"strings"
 
 	actions_model "code.gitea.io/gitea/models/actions"
@@ -34,13 +36,13 @@ var CmdMigrateStorage = &cli.Command{
 			Name:    "type",
 			Aliases: []string{"t"},
 			Value:   "",
-			Usage:   "Type of stored files to copy.  Allowed types: 'attachments', 'lfs', 'avatars', 'repo-avatars', 'repo-archivers', 'packages', 'actions-log'",
+			Usage:   "Type of stored files to copy.  Allowed types: 'attachments', 'lfs', 'avatars', 'repo-avatars', 'repo-archivers', 'packages', 'actions-log', 'actions-artifacts",
 		},
 		&cli.StringFlag{
 			Name:    "storage",
 			Aliases: []string{"s"},
 			Value:   "",
-			Usage:   "New storage type: local (default) or minio",
+			Usage:   "New storage type: local (default), minio or azureblob",
 		},
 		&cli.StringFlag{
 			Name:    "path",
@@ -48,6 +50,7 @@ var CmdMigrateStorage = &cli.Command{
 			Value:   "",
 			Usage:   "New storage placement if store is local (leave blank for default)",
 		},
+		// Minio Storage special configurations
 		&cli.StringFlag{
 			Name:  "minio-endpoint",
 			Value: "",
@@ -91,6 +94,37 @@ var CmdMigrateStorage = &cli.Command{
 			Value: "",
 			Usage: "Minio checksum algorithm (default/md5)",
 		},
+		&cli.StringFlag{
+			Name:  "minio-bucket-lookup-type",
+			Value: "",
+			Usage: "Minio bucket lookup type",
+		},
+		// Azure Blob Storage special configurations
+		&cli.StringFlag{
+			Name:  "azureblob-endpoint",
+			Value: "",
+			Usage: "Azure Blob storage endpoint",
+		},
+		&cli.StringFlag{
+			Name:  "azureblob-account-name",
+			Value: "",
+			Usage: "Azure Blob storage account name",
+		},
+		&cli.StringFlag{
+			Name:  "azureblob-account-key",
+			Value: "",
+			Usage: "Azure Blob storage account key",
+		},
+		&cli.StringFlag{
+			Name:  "azureblob-container",
+			Value: "",
+			Usage: "Azure Blob storage container",
+		},
+		&cli.StringFlag{
+			Name:  "azureblob-base-path",
+			Value: "",
+			Usage: "Azure Blob storage base path",
+		},
 	},
 }
 
@@ -160,6 +194,25 @@ func migrateActionsLog(ctx context.Context, dstStorage storage.ObjectStorage) er
 	})
 }
 
+func migrateActionsArtifacts(ctx context.Context, dstStorage storage.ObjectStorage) error {
+	return db.Iterate(ctx, nil, func(ctx context.Context, artifact *actions_model.ActionArtifact) error {
+		if artifact.Status == int64(actions_model.ArtifactStatusExpired) {
+			return nil
+		}
+
+		_, err := storage.Copy(dstStorage, artifact.StoragePath, storage.ActionsArtifacts, artifact.StoragePath)
+		if err != nil {
+			// ignore files that do not exist
+			if errors.Is(err, fs.ErrNotExist) {
+				return nil
+			}
+			return err
+		}
+
+		return nil
+	})
+}
+
 func runMigrateStorage(ctx *cli.Context) error {
 	stdCtx, cancel := installSignals()
 	defer cancel()
@@ -213,6 +266,19 @@ func runMigrateStorage(ctx *cli.Context) error {
 					UseSSL:             ctx.Bool("minio-use-ssl"),
 					InsecureSkipVerify: ctx.Bool("minio-insecure-skip-verify"),
 					ChecksumAlgorithm:  ctx.String("minio-checksum-algorithm"),
+					BucketLookUpType:   ctx.String("minio-bucket-lookup-type"),
+				},
+			})
+	case string(setting.AzureBlobStorageType):
+		dstStorage, err = storage.NewAzureBlobStorage(
+			stdCtx,
+			&setting.Storage{
+				AzureBlobConfig: setting.AzureBlobStorageConfig{
+					Endpoint:    ctx.String("azureblob-endpoint"),
+					AccountName: ctx.String("azureblob-account-name"),
+					AccountKey:  ctx.String("azureblob-account-key"),
+					Container:   ctx.String("azureblob-container"),
+					BasePath:    ctx.String("azureblob-base-path"),
 				},
 			})
 	default:
@@ -223,13 +289,14 @@ func runMigrateStorage(ctx *cli.Context) error {
 	}
 
 	migratedMethods := map[string]func(context.Context, storage.ObjectStorage) error{
-		"attachments":    migrateAttachments,
-		"lfs":            migrateLFS,
-		"avatars":        migrateAvatars,
-		"repo-avatars":   migrateRepoAvatars,
-		"repo-archivers": migrateRepoArchivers,
-		"packages":       migratePackages,
-		"actions-log":    migrateActionsLog,
+		"attachments":       migrateAttachments,
+		"lfs":               migrateLFS,
+		"avatars":           migrateAvatars,
+		"repo-avatars":      migrateRepoAvatars,
+		"repo-archivers":    migrateRepoArchivers,
+		"packages":          migratePackages,
+		"actions-log":       migrateActionsLog,
+		"actions-artifacts": migrateActionsArtifacts,
 	}
 
 	tp := strings.ToLower(ctx.String("type"))
diff --git a/cmd/serv.go b/cmd/serv.go
index 90190a19db6..2bfd1110617 100644
--- a/cmd/serv.go
+++ b/cmd/serv.go
@@ -178,7 +178,7 @@ func runServ(c *cli.Context) error {
 	}
 
 	if len(words) < 2 {
-		if git.CheckGitVersionAtLeast("2.29") == nil {
+		if git.DefaultFeatures().SupportProcReceive {
 			// for AGit Flow
 			if cmd == "ssh_info" {
 				fmt.Print(`{"type":"gitea","version":1}`)
diff --git a/cmd/web.go b/cmd/web.go
index 01386251bec..ef8a7426c14 100644
--- a/cmd/web.go
+++ b/cmd/web.go
@@ -114,7 +114,7 @@ func showWebStartupMessage(msg string) {
 	log.Info("* WorkPath: %s", setting.AppWorkPath)
 	log.Info("* CustomPath: %s", setting.CustomPath)
 	log.Info("* ConfigFile: %s", setting.CustomConf)
-	log.Info("%s", msg)
+	log.Info("%s", msg) // show startup message
 }
 
 func serveInstall(ctx *cli.Context) error {
diff --git a/contrib/backport/backport.go b/contrib/backport/backport.go
index 820c0702b74..9ae4483d8b6 100644
--- a/contrib/backport/backport.go
+++ b/contrib/backport/backport.go
@@ -17,7 +17,7 @@ import (
 	"strings"
 	"syscall"
 
-	"github.com/google/go-github/v57/github"
+	"github.com/google/go-github/v61/github"
 	"github.com/urfave/cli/v2"
 	"gopkg.in/yaml.v3"
 )
diff --git a/crowdin.yml b/crowdin.yml
new file mode 100644
index 00000000000..35a38d768ca
--- /dev/null
+++ b/crowdin.yml
@@ -0,0 +1,12 @@
+project_id_env: CROWDIN_PROJECT_ID
+api_token_env: CROWDIN_KEY
+base_path: "."
+base_url: "https://api.crowdin.com"
+preserve_hierarchy: true
+files:
+  - source: "/options/locale/locale_en-US.ini"
+    translation: "/options/locale/locale_%locale%.ini"
+    type: "ini"
+    skip_untranslated_strings: true
+    export_only_approved: true
+    update_option: "update_as_unapproved"
diff --git a/custom/conf/app.example.ini b/custom/conf/app.example.ini
index b4b4f3a8a2b..0f70a1a3d04 100644
--- a/custom/conf/app.example.ini
+++ b/custom/conf/app.example.ini
@@ -81,6 +81,10 @@ RUN_USER = ; git
 ;; Overwrite the automatically generated public URL. Necessary for proxies and docker.
 ;ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
 ;;
+;; For development purpose only. It makes Gitea handle sub-path ("/sub-path/owner/repo/...") directly when debugging without a reverse proxy.
+;; DO NOT USE IT IN PRODUCTION!!!
+;USE_SUB_URL_PATH = false
+;;
 ;; when STATIC_URL_PREFIX is empty it will follow ROOT_URL
 ;STATIC_URL_PREFIX =
 ;;
@@ -441,7 +445,7 @@ INTERNAL_TOKEN =
 ;INTERNAL_TOKEN_URI = file:/etc/gitea/internal_token
 ;;
 ;; How long to remember that a user is logged in before requiring relogin (in days)
-;LOGIN_REMEMBER_DAYS = 7
+;LOGIN_REMEMBER_DAYS = 31
 ;;
 ;; Name of the cookie used to store the current username.
 ;COOKIE_USERNAME = gitea_awesome
@@ -1231,7 +1235,8 @@ LEVEL = Info
 ;DEFAULT_THEME = gitea-auto
 ;;
 ;; All available themes. Allow users select personalized themes regardless of the value of `DEFAULT_THEME`.
-;THEMES = gitea-auto,gitea-light,gitea-dark
+;; Leave it empty to allow users to select any theme from "{CustomPath}/public/assets/css/theme-*.css"
+;THEMES =
 ;;
 ;; All available reactions users can choose on issues/prs and comments.
 ;; Values can be emoji alias (:smile:) or a unicode emoji.
@@ -1333,6 +1338,9 @@ LEVEL = Info
 ;;
 ;; Maximum allowed file size in bytes to render CSV files as table. (Set to 0 for no limit).
 ;MAX_FILE_SIZE = 524288
+;;
+;; Maximum allowed rows to render CSV files. (Set to 0 for no limit)
+;MAX_ROWS = 2500
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -1455,7 +1463,7 @@ LEVEL = Info
 ;; Batch size to send for batched queues
 ;BATCH_LENGTH = 20
 ;;
-;; Connection string for redis queues this will store the redis or redis-cluster connection string.
+;; Connection string for redis queues this will store the redis (or Redis cluster) connection string.
 ;; When `TYPE` is `persistable-channel`, this provides a directory for the underlying leveldb
 ;; or additional options of the form `leveldb://path/to/db?option=value&....`, and will override `DATADIR`.
 ;CONN_STR = "redis://127.0.0.1:6379/0"
@@ -1480,11 +1488,20 @@ LEVEL = Info
 ;;
 ;; Default configuration for email notifications for users (user configurable). Options: enabled, onmention, disabled
 ;DEFAULT_EMAIL_NOTIFICATIONS = enabled
-;; Disabled features for users, could be "deletion", "manage_ssh_keys","manage_gpg_keys" more features can be disabled in future
+;; Disabled features for users could be "deletion", "manage_ssh_keys", "manage_gpg_keys", "manage_mfa", "manage_credentials" more features can be disabled in future
 ;; - deletion: a user cannot delete their own account
 ;; - manage_ssh_keys: a user cannot configure ssh keys
 ;; - manage_gpg_keys: a user cannot configure gpg keys
+;; - manage_mfa: a user cannot configure mfa devices
+;; - manage_credentials: a user cannot configure emails, passwords, or openid
 ;USER_DISABLED_FEATURES =
+;; Comma separated list of disabled features ONLY if the user has an external login type (eg. LDAP, Oauth, etc.), could be "deletion", "manage_ssh_keys", "manage_gpg_keys", "manage_mfa", "manage_credentials". This setting is independent from `USER_DISABLED_FEATURES` and supplements its behavior.
+;; - deletion: a user cannot delete their own account
+;; - manage_ssh_keys: a user cannot configure ssh keys
+;; - manage_gpg_keys: a user cannot configure gpg keys
+;; - manage_mfa: a user cannot configure mfa devices
+;; - manage_credentials: a user cannot configure emails, passwords, or openid
+;;EXTERNAL_USER_DISABLE_FEATURES =
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -1548,11 +1565,12 @@ LEVEL = Info
 ;; The source of the username for new oauth2 accounts:
 ;; userid = use the userid / sub attribute
 ;; nickname = use the nickname attribute
+;; preferred_username = use the preferred_username attribute
 ;; email = use the username part of the email attribute
-;; Note: `nickname` and `email` options will normalize input strings using the following criteria:
+;; Note: `nickname`, `preferred_username` and `email` options will normalize input strings using the following criteria:
 ;; - diacritics are removed
-;; - the characters in the set `['´\x60]` are removed
-;; - the characters in the set `[\s~+]` are replaced with `-`
+;; - the characters in the set ['´`] are removed
+;; - the characters in the set [\s~+] are replaced with "-"
 ;USERNAME = nickname
 ;;
 ;; Update avatar if available from oauth2 provider.
@@ -1658,6 +1676,10 @@ LEVEL = Info
 ;; Sometimes it is helpful to use a different address on the envelope. Set this to use ENVELOPE_FROM as the from on the envelope. Set to `<>` to send an empty address.
 ;ENVELOPE_FROM =
 ;;
+;; If gitea sends mails on behave of users, it will just use the name also displayed in the WebUI. If you want e.g. `Mister X (by CodeIt) `,
+;; set it to `{{ .DisplayName }} (by {{ .AppName }})`. Available Variables: `.DisplayName`, `.AppName` and `.Domain`.
+;FROM_DISPLAY_NAME_FORMAT = {{ .DisplayName }}
+;;
 ;; Mailer user name and password, if required by provider.
 ;USER =
 ;;
@@ -1680,6 +1702,16 @@ LEVEL = Info
 ;; convert \r\n to \n for Sendmail
 ;SENDMAIL_CONVERT_CRLF = true
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;[mailer.override_header]
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; This is empty by default, use it only if you know what you need it for.
+;Reply-To = test@example.com, test2@example.com
+;Content-Type = text/html; charset=utf-8
+;In-Reply-To =
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;[email.incoming]
@@ -1733,9 +1765,8 @@ LEVEL = Info
 ;; For "memory" only, GC interval in seconds, default is 60
 ;INTERVAL = 60
 ;;
-;; For "redis", "redis-cluster" and "memcache", connection host address
-;; redis: `redis://127.0.0.1:6379/0?pool_size=100&idle_timeout=180s`
-;; redis-cluster: `redis+cluster://127.0.0.1:6379/0?pool_size=100&idle_timeout=180s`
+;; For "redis" and "memcache", connection host address
+;; redis: `redis://127.0.0.1:6379/0?pool_size=100&idle_timeout=180s` (or `redis+cluster://127.0.0.1:6379/0?pool_size=100&idle_timeout=180s` for a Redis cluster)
 ;; memcache: `127.0.0.1:11211`
 ;; twoqueue: `{"size":50000,"recent_ratio":0.25,"ghost_ratio":0.5}` or `50000`
 ;HOST =
@@ -1765,15 +1796,14 @@ LEVEL = Info
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
-;; Either "memory", "file", "redis", "redis-cluster", "db", "mysql", "couchbase", "memcache" or "postgres"
+;; Either "memory", "file", "redis", "db", "mysql", "couchbase", "memcache" or "postgres"
 ;; Default is "memory". "db" will reuse the configuration in [database]
 ;PROVIDER = memory
 ;;
 ;; Provider config options
 ;; memory: doesn't have any config yet
 ;; file: session file path, e.g. `data/sessions`
-;; redis: `redis://127.0.0.1:6379/0?pool_size=100&idle_timeout=180s`
-;; redis-cluster: `redis+cluster://127.0.0.1:6379/0?pool_size=100&idle_timeout=180s`
+;; redis: `redis://127.0.0.1:6379/0?pool_size=100&idle_timeout=180s` (or `redis+cluster://127.0.0.1:6379/0?pool_size=100&idle_timeout=180s` for a Redis cluster)
 ;; mysql: go-sql-driver/mysql dsn config string, e.g. `root:password@/session_table`
 ;PROVIDER_CONFIG = data/sessions ; Relative paths will be made absolute against _`AppWorkPath`_.
 ;;
@@ -1857,7 +1887,7 @@ LEVEL = Info
 ;STORAGE_TYPE = local
 ;;
 ;; Allows the storage driver to redirect to authenticated URLs to serve files directly
-;; Currently, only `minio` is supported.
+;; Currently, only `minio` and `azureblob` is supported.
 ;SERVE_DIRECT = false
 ;;
 ;; Path for attachments. Defaults to `attachments`. Only available when STORAGE_TYPE is `local`
@@ -1867,7 +1897,10 @@ LEVEL = Info
 ;; Minio endpoint to connect only available when STORAGE_TYPE is `minio`
 ;MINIO_ENDPOINT = localhost:9000
 ;;
-;; Minio accessKeyID to connect only available when STORAGE_TYPE is `minio`
+;; Minio accessKeyID to connect only available when STORAGE_TYPE is `minio`.
+;; If not provided and STORAGE_TYPE is `minio`, will search for credentials in known
+;; environment variables (MINIO_ACCESS_KEY_ID, AWS_ACCESS_KEY_ID), credentials files
+;; (~/.mc/config.json, ~/.aws/credentials), and EC2 instance metadata.
 ;MINIO_ACCESS_KEY_ID =
 ;;
 ;; Minio secretAccessKey to connect only available when STORAGE_TYPE is `minio`
@@ -1890,6 +1923,24 @@ LEVEL = Info
 ;;
 ;; Minio checksum algorithm: default (for MinIO or AWS S3) or md5 (for Cloudflare or Backblaze)
 ;MINIO_CHECKSUM_ALGORITHM = default
+;;
+;; Minio bucket lookup method defaults to auto mode; set it to `dns` for virtual host style or `path` for path style, only available when STORAGE_TYPE is `minio`
+;MINIO_BUCKET_LOOKUP_TYPE = auto
+;; Azure Blob endpoint to connect only available when STORAGE_TYPE is `azureblob`,
+;; e.g. https://accountname.blob.core.windows.net or http://127.0.0.1:10000/devstoreaccount1
+;AZURE_BLOB_ENDPOINT =
+;;
+;; Azure Blob account name to connect only available when STORAGE_TYPE is `azureblob`
+;AZURE_BLOB_ACCOUNT_NAME =
+;;
+;; Azure Blob account key to connect only available when STORAGE_TYPE is `azureblob`
+;AZURE_BLOB_ACCOUNT_KEY =
+;;
+;; Azure Blob container to store the attachments only available when STORAGE_TYPE is `azureblob`
+;AZURE_BLOB_CONTAINER = gitea
+;;
+;; override the azure blob base path if storage type is azureblob
+;AZURE_BLOB_BASE_PATH = attachments/
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -2028,6 +2079,17 @@ LEVEL = Info
 ;;   or only create new users if UPDATE_EXISTING is set to false
 ;UPDATE_EXISTING = true
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Cleanup expired actions assets
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;[cron.cleanup_actions]
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;ENABLED = true
+;RUN_AT_START = true
+;SCHEDULE = @midnight
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Clean-up deleted branches
@@ -2310,6 +2372,8 @@ LEVEL = Info
 ;SHOW_FOOTER_VERSION = true
 ;; Show template execution time in the footer
 ;SHOW_FOOTER_TEMPLATE_LOAD_TIME = true
+;; Show the "powered by" text in the footer
+;SHOW_FOOTER_POWERED_BY = true
 ;; Generate sitemap. Defaults to `true`.
 ;ENABLE_SITEMAP = true
 ;; Enable/Disable RSS/Atom feed
@@ -2369,22 +2433,6 @@ LEVEL = Info
 ;; Enable issue by repository metrics; default is false
 ;ENABLED_ISSUE_BY_REPOSITORY = false
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;[task]
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;
-;; Task queue type, could be `channel` or `redis`.
-;QUEUE_TYPE = channel
-;;
-;; Task queue length, available only when `QUEUE_TYPE` is `channel`.
-;QUEUE_LENGTH = 1000
-;;
-;; Task queue connection string, available only when `QUEUE_TYPE` is `redis`.
-;; If there is a password of redis, use `redis://127.0.0.1:6379/0?pool_size=100&idle_timeout=180s` or `redis+cluster://127.0.0.1:6379/0?pool_size=100&idle_timeout=180s` for `redis-clsuter`.
-;QUEUE_CONN_STR = "redis://127.0.0.1:6379/0?pool_size=100&idle_timeout=180s"
-
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;[migrations]
@@ -2452,6 +2500,11 @@ LEVEL = Info
 ;STORAGE_TYPE = local
 ;; override the minio base path if storage type is minio
 ;MINIO_BASE_PATH = packages/
+;; override the azure blob base path if storage type is azureblob
+;AZURE_BLOB_BASE_PATH = packages/
+;; Allows the storage driver to redirect to authenticated URLs to serve files directly
+;; Currently, only `minio` and `azureblob` is supported.
+;SERVE_DIRECT = false
 ;;
 ;; Path for chunked uploads. Defaults to APP_DATA_PATH + `tmp/package-upload`
 ;CHUNKED_UPLOAD_PATH = tmp/package-upload
@@ -2502,7 +2555,8 @@ LEVEL = Info
 ;LIMIT_SIZE_SWIFT = -1
 ;; Maximum size of a Vagrant upload (`-1` means no limits, format `1000`, `1 MB`, `1 GiB`)
 ;LIMIT_SIZE_VAGRANT = -1
-
+;; Enable RPM re-signing by default. (It will overwrite the old signature ,using v4 format, not compatible with CentOS 6 or older)
+;DEFAULT_RPM_SIGN_ENABLED  = false
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; default storage for attachments, lfs and avatars
@@ -2525,6 +2579,8 @@ LEVEL = Info
 ;;
 ;; override the minio base path if storage type is minio
 ;MINIO_BASE_PATH = repo-archive/
+;; override the azure blob base path if storage type is azureblob
+;AZURE_BLOB_BASE_PATH = repo-archive/
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -2546,8 +2602,15 @@ LEVEL = Info
 ;; Where your lfs files reside, default is data/lfs.
 ;PATH = data/lfs
 ;;
+;; Allows the storage driver to redirect to authenticated URLs to serve files directly
+;; Currently, only `minio` and `azureblob` is supported.
+;SERVE_DIRECT = false
+;;
 ;; override the minio base path if storage type is minio
 ;MINIO_BASE_PATH = lfs/
+;;
+;; override the azure blob base path if storage type is azureblob
+;AZURE_BLOB_BASE_PATH = lfs/
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -2562,13 +2625,16 @@ LEVEL = Info
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; customize storage
-;[storage.my_minio]
+;[storage.minio]
 ;STORAGE_TYPE = minio
 ;;
 ;; Minio endpoint to connect only available when STORAGE_TYPE is `minio`
 ;MINIO_ENDPOINT = localhost:9000
 ;;
-;; Minio accessKeyID to connect only available when STORAGE_TYPE is `minio`
+;; Minio accessKeyID to connect only available when STORAGE_TYPE is `minio`.
+;; If not provided and STORAGE_TYPE is `minio`, will search for credentials in known
+;; environment variables (MINIO_ACCESS_KEY_ID, AWS_ACCESS_KEY_ID), credentials files
+;; (~/.mc/config.json, ~/.aws/credentials), and EC2 instance metadata.
 ;MINIO_ACCESS_KEY_ID =
 ;;
 ;; Minio secretAccessKey to connect only available when STORAGE_TYPE is `minio`
@@ -2585,6 +2651,25 @@ LEVEL = Info
 ;;
 ;; Minio skip SSL verification available when STORAGE_TYPE is `minio`
 ;MINIO_INSECURE_SKIP_VERIFY = false
+;;
+;; Minio bucket lookup method defaults to auto mode; set it to `dns` for virtual host style or `path` for path style, only available when STORAGE_TYPE is `minio`
+;MINIO_BUCKET_LOOKUP_TYPE = auto
+
+;[storage.azureblob]
+;STORAGE_TYPE = azureblob
+;;
+;; Azure Blob endpoint to connect only available when STORAGE_TYPE is `azureblob`,
+;; e.g. https://accountname.blob.core.windows.net or http://127.0.0.1:10000/devstoreaccount1
+;AZURE_BLOB_ENDPOINT =
+;;
+;; Azure Blob account name to connect only available when STORAGE_TYPE is `azureblob`
+;AZURE_BLOB_ACCOUNT_NAME =
+;;
+;; Azure Blob account key to connect only available when STORAGE_TYPE is `azureblob`
+;AZURE_BLOB_ACCOUNT_KEY =
+;;
+;; Azure Blob container to store the attachments only available when STORAGE_TYPE is `azureblob`
+;AZURE_BLOB_CONTAINER = gitea
 
 ;[proxy]
 ;; Enable the proxy, all requests to external via HTTP will be affected
@@ -2600,6 +2685,14 @@ LEVEL = Info
 ;;
 ;; Default platform to get action plugins, `github` for `https://github.com`, `self` for the current Gitea instance.
 ;DEFAULT_ACTIONS_URL = github
+;; Logs retention time in days. Old logs will be deleted after this period.
+;LOG_RETENTION_DAYS = 365
+;; Log compression type, `none` for no compression, `zstd` for zstd compression.
+;; Other compression types like `gzip` are NOT supported, since seekable stream is required for log view.
+;; It's always recommended to use compression when using local disk as log storage if CPU or memory is not a bottleneck.
+;; And for object storage services like S3, which is billed for requests, it would cause extra 2 times of get requests for each log view.
+;; But it will save storage space and network bandwidth, so it's still recommended to use compression.
+;LOG_COMPRESSION = none
 ;; Default artifact retention time in days. Artifacts could have their own retention periods by setting the `retention-days` option in `actions/upload-artifact` step.
 ;ARTIFACT_RETENTION_DAYS = 90
 ;; Timeout to stop the task which have running status, but haven't been updated for a long time
@@ -2620,3 +2713,9 @@ LEVEL = Info
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; storage type
 ;STORAGE_TYPE = local
+
+;[global_lock]
+;; Lock service type, could be memory or redis
+;SERVICE_TYPE = memory
+;; Ignored for the "memory" type. For "redis" use something like `redis://127.0.0.1:6379/0`
+;SERVICE_CONN_STR =
diff --git a/docker/README.md b/docker/README.md
index a6d7c9a843f..b014f42367c 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -1,7 +1,7 @@
 # Gitea - Docker
 
-Dockerfile is found in root of repository.
+Dockerfile is found in the root of the repository.
 
-Docker image can be found on [docker hub](https://hub.docker.com/r/gitea/gitea)
+Docker image can be found on [docker hub](https://hub.docker.com/r/gitea/gitea).
 
-Documentation on using docker image can be found on [Gitea Docs site](https://docs.gitea.com/installation/install-with-docker-rootless)
+Documentation on using docker image can be found on [Gitea Docs site](https://docs.gitea.com/installation/install-with-docker-rootless).
diff --git a/docs/.gitignore b/docs/.gitignore
deleted file mode 100644
index 271adbb1da1..00000000000
--- a/docs/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-public/
-templates/swagger/v1_json.tmpl
-themes/
-resources/
-
-# Temporary lock file while building
-/.hugo_build.lock
diff --git a/docs/LICENSE b/docs/LICENSE
deleted file mode 100644
index d6456956733..00000000000
--- a/docs/LICENSE
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/docs/README.md b/docs/README.md
deleted file mode 100644
index d9aa3b80b8f..00000000000
--- a/docs/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Gitea: Docs
-
-[![Join the chat at https://img.shields.io/discord/322538954119184384.svg](https://img.shields.io/discord/322538954119184384.svg)](https://discord.gg/Gitea)
-[![](https://images.microbadger.com/badges/image/gitea/docs.svg)](http://microbadger.com/images/gitea/docs "Get your own image badge on microbadger.com")
-
-These docs are ingested by our [docs repo](https://gitea.com/gitea/gitea-docusaurus).
-
-## Authors
-
-* [Maintainers](https://github.com/orgs/go-gitea/people)
-* [Contributors](https://github.com/go-gitea/docs/graphs/contributors)
-
-## License
-
-This project is under the Apache-2.0 License. See the [LICENSE](LICENSE) file
-for the full license text.
-
-## Copyright
-
-```
-Copyright (c) 2016 The Gitea Authors 
-```
diff --git a/docs/README_ZH.md b/docs/README_ZH.md
deleted file mode 100644
index 7d9003a8ab3..00000000000
--- a/docs/README_ZH.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Gitea: 文档
-
-[![Build Status](http://drone.gitea.io/api/badges/go-gitea/docs/status.svg)](http://drone.gitea.io/go-gitea/docs)
-[![Join the chat at https://img.shields.io/discord/322538954119184384.svg](https://img.shields.io/discord/322538954119184384.svg)](https://discord.gg/Gitea)
-[![](https://images.microbadger.com/badges/image/gitea/docs.svg)](http://microbadger.com/images/gitea/docs "Get your own image badge on microbadger.com")
-
-https://gitea.com/gitea/gitea-docusaurus
-
-## 关于我们
-
-* [维护者信息](https://github.com/orgs/go-gitea/people)
-* [代码贡献者信息](https://github.com/go-gitea/docs/graphs/contributors)
-
-## 许可证
-
-此项目采用 Apache-2.0 许可协议,请参见 [协议文件](LICENSE) 获取更多信息。
-
-## 版权声明
-
-```
-Copyright (c) 2016 The Gitea Authors 
-```
diff --git a/docs/content/actions.en-us.md b/docs/content/actions.en-us.md
deleted file mode 100644
index d8e33d37846..00000000000
--- a/docs/content/actions.en-us.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-date: "2023-04-27T14:00:00+08:00"
-title: "Actions"
-slug: "actions"
-sidebar_position: 36
-toc: false
-draft: false
-menu:
-  sidebar:
-    name: "Usage - Actions"
-    sidebar_position: 31
-    identifier: "actions"
----
diff --git a/docs/content/administration.en-us.md b/docs/content/administration.en-us.md
deleted file mode 100644
index 416b9e631e9..00000000000
--- a/docs/content/administration.en-us.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-date: "2016-12-01T16:00:00+02:00"
-title: "Administration"
-slug: "administration"
-sidebar_position: 30
-toc: false
-draft: false
-menu:
-  sidebar:
-    name: "Administration"
-    sidebar_position: 20
-    collapse: true
-    identifier: "administration"
----
diff --git a/docs/content/administration.zh-cn.md b/docs/content/administration.zh-cn.md
deleted file mode 100644
index 262e5f068f1..00000000000
--- a/docs/content/administration.zh-cn.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-date: "2016-12-01T16:00:00+02:00"
-title: "运维"
-slug: "administration"
-sidebar_position: 30
-toc: false
-draft: false
-menu:
-  sidebar:
-    name: "运维"
-    sidebar_position: 20
-    identifier: "administration"
----
diff --git a/docs/content/administration/_index.en-us.md b/docs/content/administration/_index.en-us.md
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/docs/content/administration/_index.zh-cn.md b/docs/content/administration/_index.zh-cn.md
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/docs/content/administration/adding-legal-pages.en-us.md b/docs/content/administration/adding-legal-pages.en-us.md
deleted file mode 100644
index 1ff0c0132d2..00000000000
--- a/docs/content/administration/adding-legal-pages.en-us.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-date: "2019-12-28"
-title: "Adding Legal Pages"
-slug: adding-legal-pages
-sidebar_position: 110
-toc: false
-draft: false
-aliases:
-  - /en-us/adding-legal-pages
-menu:
-  sidebar:
-    parent: "administration"
-    name: "Adding Legal Pages"
-    identifier: "adding-legal-pages"
-    sidebar_position: 110
----
-
-Some jurisdictions (such as EU), requires certain legal pages (e.g. Privacy Policy) to be added to website. Follow these steps to add them to your Gitea instance.
-
-## Getting Pages
-
-Gitea source code ships with sample pages, available in `contrib/legal` directory. Copy them to `custom/public/assets/`. For example, to add Privacy Policy:
-
-```
-wget -O /path/to/custom/public/assets/privacy.html https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/legal/privacy.html.sample
-```
-
-Now you need to edit the page to meet your requirements. In particular you must change the email addresses, web addresses and references to "Your Gitea Instance" to match your situation.
-
-You absolutely must not place a general ToS or privacy statement that implies that the Gitea project is responsible for your server.
-
-## Make it Visible
-
-Create or append to `/path/to/custom/templates/custom/extra_links_footer.tmpl`:
-
-```go
-Privacy Policy
-```
-
-Restart Gitea to see the changes.
diff --git a/docs/content/administration/adding-legal-pages.zh-cn.md b/docs/content/administration/adding-legal-pages.zh-cn.md
deleted file mode 100644
index 3e18c6e6b03..00000000000
--- a/docs/content/administration/adding-legal-pages.zh-cn.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-date: "2023-05-23T09:00:00+08:00"
-title: "添加法律页面"
-slug: adding-legal-pages
-sidebar_position: 110
-toc: false
-draft: false
-aliases:
-  - /zh-cn/adding-legal-pages
-menu:
-  sidebar:
-    parent: "administration"
-    name: "添加法律页面"
-    identifier: "adding-legal-pages"
-    sidebar_position: 110
----
-
-一些法域(例如欧盟)要求在网站上添加特定的法律页面(例如隐私政策)。按照以下步骤将它们添加到你的 Gitea 实例中。
-
-## 获取页面
-
-Gitea 源代码附带了示例页面,位于 `contrib/legal` 目录中。将它们复制到 `custom/public/assets/` 目录下。例如,如果要添加隐私政策:
-
-```
-wget -O /path/to/custom/public/assets/privacy.html https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/legal/privacy.html.sample
-```
-
-现在,你需要编辑该页面以满足你的需求。特别是,你必须更改电子邮件地址、网址以及与 "Your Gitea Instance" 相关的引用,以匹配你的情况。
-
-请务必不要放置会暗示 Gitea 项目对你的服务器负责的一般服务条款或隐私声明。
-
-## 使其可见
-
-创建或追加到 `/path/to/custom/templates/custom/extra_links_footer.tmpl` 文件中:
-
-```go
-隐私政策
-```
-
-重启 Gitea 以查看更改。
diff --git a/docs/content/administration/backup-and-restore.en-us.md b/docs/content/administration/backup-and-restore.en-us.md
deleted file mode 100644
index 451ef5c944c..00000000000
--- a/docs/content/administration/backup-and-restore.en-us.md
+++ /dev/null
@@ -1,160 +0,0 @@
----
-date: "2017-01-01T16:00:00+02:00"
-title: "Backup and Restore"
-slug: "backup-and-restore"
-sidebar_position: 11
-toc: false
-draft: false
-aliases:
-  - /en-us/backup-and-restore
-menu:
-  sidebar:
-    parent: "administration"
-    name: "Backup and Restore"
-    sidebar_position: 11
-    identifier: "backup-and-restore"
----
-
-# Backup and Restore
-
-Gitea currently has a `dump` command that will save the installation to a ZIP file. This
-file can be unpacked and used to restore an instance.
-
-## Backup Consistency
-
-To ensure the consistency of the Gitea instance, it must be shutdown during backup.
-
-Gitea consists of a database, files and git repositories, all of which change when it is used. For instance, when a migration is in progress, a transaction is created in the database while the git repository is being copied over. If the backup happens in the middle of the migration, the git repository may be incomplete although the database claims otherwise because it was dumped afterwards. The only way to avoid such race conditions is by stopping the Gitea instance during the backups.
-
-## Backup Command (`dump`)
-
-Switch to the user running Gitea: `su git`. Run `./gitea dump -c /path/to/app.ini` in the Gitea installation
-directory. There should be some output similar to the following:
-
-```none
-2016/12/27 22:32:09 Creating tmp work dir: /tmp/gitea-dump-417443001
-2016/12/27 22:32:09 Dumping local repositories.../home/git/gitea-repositories
-2016/12/27 22:32:22 Dumping database...
-2016/12/27 22:32:22 Packing dump files...
-2016/12/27 22:32:34 Removing tmp work dir: /tmp/gitea-dump-417443001
-2016/12/27 22:32:34 Finish dumping in file gitea-dump-1482906742.zip
-```
-
-Inside the `gitea-dump-1482906742.zip` file, will be the following:
-
-- `app.ini` - Optional copy of configuration file if originally stored outside the default `custom/` directory
-- `custom/` - All config or customization files in `custom/`.
-- `data/` - Data directory (APP_DATA_PATH), except sessions if you are using file session. This directory includes `attachments`, `avatars`, `lfs`, `indexers`, SQLite file if you are using SQLite.
-- `repos/` - Complete copy of the repository directory.
-- `gitea-db.sql` - SQL dump of database
-- `log/` - Various logs. They are not needed for a recovery or migration.
-
-Intermediate backup files are created in a temporary directory specified either with the
-`--tempdir` command-line parameter or the `TMPDIR` environment variable.
-
-## Backup the database
-
-The SQL dump created by `gitea dump` uses XORM and Gitea admins may prefer to use the native the MySQL and PostgreSQL dump tools instead. There are still open issues when using XORM for dumping the database that may cause problems when attempting to restore it.
-
-```sh
-# mysql
-mysqldump -u$USER -p$PASS --database $DATABASE > gitea-db.sql
-# postgres
-pg_dump -U $USER $DATABASE > gitea-db.sql
-```
-
-### Using Docker (`dump`)
-
-There are a few caveats for using the `dump` command with Docker.
-
-The command has to be executed with the `RUN_USER = ` specified in `gitea/conf/app.ini`; and, for the zipping of the backup folder to occur without permission error the command `docker exec` must be executed inside of the `--tempdir`.
-
-Example:
-
-```none
-docker exec -u  -it -w <--tempdir> $(docker ps -qf 'name=^$') bash -c '/usr/local/bin/gitea dump -c '
-```
-
-\*Note: `--tempdir` refers to the temporary directory of the docker environment used by Gitea; if you have not specified a custom `--tempdir`, then Gitea uses `/tmp` or the `TMPDIR` environment variable of the docker container. For `--tempdir` adjust your `docker exec` command options accordingly.
-
-The result should be a file, stored in the `--tempdir` specified, along the lines of: `gitea-dump-1482906742.zip`
-
-## Restore Command (`restore`)
-
-There is currently no support for a recovery command. It is a manual process that mostly
-involves moving files to their correct locations and restoring a database dump.
-
-Example:
-
-```sh
-unzip gitea-dump-1610949662.zip
-cd gitea-dump-1610949662
-mv app.ini /etc/gitea/conf/app.ini
-mv data/* /var/lib/gitea/data/
-mv log/* /var/lib/gitea/log/
-mv repos/* /var/lib/gitea/data/gitea-repositories/
-chown -R gitea:gitea /etc/gitea/conf/app.ini /var/lib/gitea
-
-# mysql
-mysql --default-character-set=utf8mb4 -u$USER -p$PASS $DATABASE  Docker), or if Gitea is installed to a different directory than the previous installation.
-
-With Gitea running, and from the directory Gitea's binary is located, execute: `./gitea admin regenerate hooks`
-
-This ensures that application and configuration file paths in repository Git Hooks are consistent and applicable to the current installation. If these paths are not updated, repository `push` actions will fail.
-
-If you still have issues, consider running `./gitea doctor check` to inspect possible errors (or run with `--fix`).
-
-### Using Docker (`restore`)
-
-There is also no support for a recovery command in a Docker-based gitea instance. The restore process contains the same steps as described in the previous section but with different paths.
-
-Example:
-
-```sh
-# open bash session in container
-docker exec --user git -it 2a83b293548e bash
-# unzip your backup file within the container
-unzip gitea-dump-1610949662.zip
-cd gitea-dump-1610949662
-# restore the gitea data
-mv data/* /data/gitea
-# restore the repositories itself
-mv repos/* /data/git/gitea-repositories/
-# adjust file permissions
-chown -R git:git /data
-# Regenerate Git Hooks
-/usr/local/bin/gitea -c '/data/gitea/conf/app.ini' admin regenerate hooks
-```
-
-The default user in the gitea container is `git` (1000:1000). Please replace `2a83b293548e` with your gitea container id or name.
-
-### Using Docker-rootless (`restore`)
-
-The restore workflow in Docker-rootless containers differs only in the directories to be used:
-
-```sh
-# open bash session in container
-docker exec --user git -it 2a83b293548e bash
-# unzip your backup file within the container
-unzip gitea-dump-1610949662.zip
-cd gitea-dump-1610949662
-# restore the app.ini
-mv data/conf/app.ini /etc/gitea/app.ini
-# restore the gitea data
-mv data/* /var/lib/gitea
-# restore the repositories itself
-mv repos/* /var/lib/gitea/git/gitea-repositories
-# adjust file permissions
-chown -R git:git /etc/gitea/app.ini /var/lib/gitea
-# Regenerate Git Hooks
-/usr/local/bin/gitea -c '/etc/gitea/app.ini' admin regenerate hooks
-```
diff --git a/docs/content/administration/backup-and-restore.zh-cn.md b/docs/content/administration/backup-and-restore.zh-cn.md
deleted file mode 100644
index db7eba84f7e..00000000000
--- a/docs/content/administration/backup-and-restore.zh-cn.md
+++ /dev/null
@@ -1,154 +0,0 @@
----
-date: "2018-06-06T09:33:00+08:00"
-title: "备份与恢复"
-slug: "backup-and-restore"
-sidebar_position: 11
-toc: false
-draft: false
-aliases:
-  - /zh-cn/backup-and-restore
-menu:
-  sidebar:
-    parent: "administration"
-    name: "备份与恢复"
-    sidebar_position: 11
-    identifier: "backup-and-restore"
----
-
-# 备份与恢复
-
-Gitea 已经实现了 `dump` 命令可以用来备份所有需要的文件到一个zip压缩文件。该压缩文件可以被用来进行数据恢复。
-
-## 备份一致性
-
-为了确保 Gitea 实例的一致性,在备份期间必须关闭它。
-
-Gitea 包括数据库、文件和 Git 仓库,当它被使用时所有这些都会发生变化。例如,当迁移正在进行时,在数据库中创建一个事务,而 Git 仓库正在被复制。如果备份发生在迁移的中间,Git 仓库可能是不完整的,尽管数据库声称它是完整的,因为它是在之后被转储的。避免这种竞争条件的唯一方法是在备份期间停止 Gitea 实例。
-
-## 备份命令 (`dump`)
-
-先转到git用户的权限: `su git`. 再Gitea目录运行 `./gitea dump`。一般会显示类似如下的输出:
-
-```
-2016/12/27 22:32:09 Creating tmp work dir: /tmp/gitea-dump-417443001
-2016/12/27 22:32:09 Dumping local repositories.../home/git/gitea-repositories
-2016/12/27 22:32:22 Dumping database...
-2016/12/27 22:32:22 Packing dump files...
-2016/12/27 22:32:34 Removing tmp work dir: /tmp/gitea-dump-417443001
-2016/12/27 22:32:34 Finish dumping in file gitea-dump-1482906742.zip
-```
-
-最后生成的 `gitea-dump-1482906742.zip` 文件将会包含如下内容:
-
-* `app.ini` - 如果原先存储在默认的 custom/ 目录之外,则是配置文件的可选副本
-* `custom/` - 所有保存在 `custom/` 目录下的配置和自定义的文件。
-* `data/` - 数据目录(APP_DATA_PATH),如果使用文件会话,则不包括会话。该目录包括 `attachments`、`avatars`、`lfs`、`indexers`、如果使用 SQLite 则包括 SQLite 文件。
-* `repos/` - 仓库目录的完整副本。
-* `gitea-db.sql` - 数据库dump出来的 SQL。
-* `log/` - Logs文件,如果用作迁移不是必须的。
-
-中间备份文件将会在临时目录进行创建,如果您要重新指定临时目录,可以用 `--tempdir` 参数,或者用 `TMPDIR` 环境变量。
-
-## 备份数据库
-
-`gitea dump` 创建的 SQL 转储使用 XORM,Gitea 管理员可能更喜欢使用本地的 MySQL 和 PostgreSQL 转储工具。使用 XORM 转储数据库时仍然存在一些问题,可能会导致在尝试恢复时出现问题。
-
-```sh
-# mysql
-mysqldump -u$USER -p$PASS --database $DATABASE > gitea-db.sql
-# postgres
-pg_dump -U $USER $DATABASE > gitea-db.sql
-```
-
-### 使用Docker (`dump`)
-
-在使用 Docker 时,使用 `dump` 命令有一些注意事项。
-
-必须以 `gitea/conf/app.ini` 中指定的 `RUN_USER = ` 执行该命令;并且,为了让备份文件夹的压缩过程能够顺利执行,`docker exec` 命令必须在 `--tempdir` 内部执行。
-
-示例:
-
-```none
-docker exec -u  -it -w <--tempdir> $(docker ps -qf 'name=^$') bash -c '/usr/local/bin/gitea dump -c '
-```
-
-\*注意:`--tempdir` 指的是 Gitea 使用的 Docker 环境的临时目录;如果您没有指定自定义的 `--tempdir`,那么 Gitea 将使用 `/tmp` 或 Docker 容器的 `TMPDIR` 环境变量。对于 `--tempdir`,请相应调整您的 `docker exec` 命令选项。
-
-结果应该是一个文件,存储在指定的 `--tempdir` 中,类似于:`gitea-dump-1482906742.zip`
-
-## 恢复命令 (`restore`)
-
-当前还没有恢复命令,恢复需要人工进行。主要是把文件和数据库进行恢复。
-
-例如:
-
-```sh
-unzip gitea-dump-1610949662.zip
-cd gitea-dump-1610949662
-mv app.ini /etc/gitea/conf/app.ini
-mv data/* /var/lib/gitea/data/
-mv log/* /var/lib/gitea/log/
-mv repos/* /var/lib/gitea/gitea-repositories/
-chown -R gitea:gitea /etc/gitea/conf/app.ini /var/lib/gitea
-
-# mysql
-mysql --default-character-set=utf8mb4 -u$USER -p$PASS $DATABASE  Docker),或者 Gitea 安装到了与之前安装不同的目录,则需要重新生成仓库 Git 钩子。
-
-在 Gitea 运行时,并从 Gitea 二进制文件所在的目录执行:`./gitea admin regenerate hooks`
-
-这样可以确保仓库 Git 钩子中的应用程序和配置文件路径与当前安装一致。如果这些路径没有更新,仓库的 `push` 操作将失败。
-
-### 使用 Docker (`restore`)
-
-在基于 Docker 的 Gitea 实例中,也没有恢复命令的支持。恢复过程与前面描述的步骤相同,但路径不同。
-
-示例:
-
-```sh
-# 在容器中打开 bash 会话
-docker exec --user git -it 2a83b293548e bash
-# 在容器内解压您的备份文件
-unzip gitea-dump-1610949662.zip
-cd gitea-dump-1610949662
-# 恢复 Gitea 数据
-mv data/* /data/gitea
-# 恢复仓库本身
-mv repos/* /data/git/gitea-repositories/
-# 调整文件权限
-chown -R git:git /data
-# 重新生成 Git 钩子
-/usr/local/bin/gitea -c '/data/gitea/conf/app.ini' admin regenerate hooks
-```
-
-Gitea 容器中的默认用户是 `git`(1000:1000)。请用您的 Gitea 容器 ID 或名称替换 `2a83b293548e`。
-
-### 使用 Docker-rootless (`restore`)
-
-在 Docker-rootless 容器中的恢复工作流程只是要使用的目录不同:
-
-```sh
-# 在容器中打开 bash 会话
-docker exec --user git -it 2a83b293548e bash
-# 在容器内解压您的备份文件
-unzip gitea-dump-1610949662.zip
-cd gitea-dump-1610949662
-# 恢复 app.ini
-mv data/conf/app.ini /etc/gitea/app.ini
-# 恢复 Gitea 数据
-mv data/* /var/lib/gitea
-# 恢复仓库本身
-mv repos/* /var/lib/gitea/git/gitea-repositories
-# 调整文件权限
-chown -R git:git /etc/gitea/app.ini /var/lib/gitea
-# 重新生成 Git 钩子
-/usr/local/bin/gitea -c '/etc/gitea/app.ini' admin regenerate hooks
-```
diff --git a/docs/content/administration/cmd-embedded.en-us.md b/docs/content/administration/cmd-embedded.en-us.md
deleted file mode 100644
index b7f6836144f..00000000000
--- a/docs/content/administration/cmd-embedded.en-us.md
+++ /dev/null
@@ -1,119 +0,0 @@
----
-date: "2020-01-25T21:00:00-03:00"
-title: "Embedded data extraction tool"
-slug: "cmd-embedded"
-sidebar_position: 20
-toc: false
-draft: false
-aliases:
-  - /en-us/cmd-embedded
-menu:
-  sidebar:
-    parent: "administration"
-    name: "Embedded data extraction tool"
-    sidebar_position: 20
-    identifier: "cmd-embedded"
----
-
-# Embedded data extraction tool
-
-Gitea's executable contains all the resources required to run: templates, images, style-sheets
-and translations. Any of them can be overridden by placing a replacement in a matching path
-inside the `custom` directory (see [Customizing Gitea](administration/customizing-gitea.md)).
-
-To obtain a copy of the embedded resources ready for editing, the `embedded` command from the CLI
-can be used from the OS shell interface.
-
-**NOTE:** The embedded data extraction tool is included in Gitea versions 1.12 and above.
-
-## Listing resources
-
-To list resources embedded in Gitea's executable, use the following syntax:
-
-```sh
-gitea embedded list [--include-vendored] [patterns...]
-```
-
-The `--include-vendored` flag makes the command include vendored files, which are
-normally excluded; that is, files from external libraries that are required for Gitea
-(e.g. [octicons](https://octicons.github.com/), etc).
-
-A list of file search patterns can be provided. Gitea uses [gobwas/glob](https://github.com/gobwas/glob)
-for its glob syntax. Here are some examples:
-
-- List all template files, in any virtual directory: `**.tmpl`
-- List all mail template files: `templates/mail/**.tmpl`
-- List all files inside `public/assets/img`: `public/assets/img/**`
-
-Don't forget to use quotes for the patterns, as spaces, `*` and other characters might have
-a special meaning for your command shell.
-
-If no pattern is provided, all files are listed.
-
-### Example: Listing all embedded files
-
-Listing all embedded files with `openid` in their path:
-
-```sh
-$ gitea embedded list '**openid**'
-public/assets/img/auth/openid_connect.svg
-public/assets/img/openid-16x16.png
-templates/user/auth/finalize_openid.tmpl
-templates/user/auth/signin_openid.tmpl
-templates/user/auth/signup_openid_connect.tmpl
-templates/user/auth/signup_openid_navbar.tmpl
-templates/user/auth/signup_openid_register.tmpl
-templates/user/settings/security_openid.tmpl
-```
-
-## Extracting resources
-
-To extract resources embedded in Gitea's executable, use the following syntax:
-
-```sh
-gitea [--config {file}] embedded extract [--destination {dir}|--custom] [--overwrite|--rename] [--include-vendored] {patterns...}
-```
-
-The `--config` option tells Gitea the location of the `app.ini` configuration file if
-it's not in its default location. This option is only used with the `--custom` flag.
-
-The `--destination` option tells Gitea the directory where the files must be extracted to.
-The default is the current directory.
-
-The `--custom` flag tells Gitea to extract the files directly into the `custom` directory.
-For this to work, the command needs to know the location of the `app.ini` configuration
-file (`--config`) and, depending of the configuration, be ran from the directory where
-Gitea normally starts. See [Customizing Gitea](administration/customizing-gitea.md) for details.
-
-The `--overwrite` flag allows any existing files in the destination directory to be overwritten.
-
-The `--rename` flag tells Gitea to rename any existing files in the destination directory
-as `filename.bak`. Previous `.bak` files are overwritten.
-
-At least one file search pattern must be provided; see `list` subcomand above for pattern
-syntax and examples.
-
-### Important notice
-
-Make sure to **only extract those files that require customization**. Files that
-are present in the `custom` directory are not upgraded by Gitea's upgrade process.
-When Gitea is upgraded to a new version (by replacing the executable), many of the
-embedded files will suffer changes. Gitea will honor and use any files found
-in the `custom` directory, even if they are old and incompatible.
-
-### Example: Extracting mail templates
-
-Extracting mail templates to a temporary directory:
-
-```sh
-$ mkdir tempdir
-$ gitea embedded extract --destination tempdir 'templates/mail/**.tmpl'
-Extracting to tempdir:
-tempdir/templates/mail/auth/activate.tmpl
-tempdir/templates/mail/auth/activate_email.tmpl
-tempdir/templates/mail/auth/register_notify.tmpl
-tempdir/templates/mail/auth/reset_passwd.tmpl
-tempdir/templates/mail/issue/assigned.tmpl
-tempdir/templates/mail/issue/default.tmpl
-tempdir/templates/mail/notify/collaborator.tmpl
-```
diff --git a/docs/content/administration/cmd-embedded.zh-cn.md b/docs/content/administration/cmd-embedded.zh-cn.md
deleted file mode 100644
index a2df1aa2f51..00000000000
--- a/docs/content/administration/cmd-embedded.zh-cn.md
+++ /dev/null
@@ -1,101 +0,0 @@
----
-date: "2023-05-23T09:00:00+08:00"
-title: "嵌入资源提取工具"
-slug: "cmd-embedded"
-sidebar_position: 20
-toc: false
-draft: false
-aliases:
-  - /zh-cn/cmd-embedded
-menu:
-  sidebar:
-    parent: "administration"
-    name: "嵌入资源提取工具"
-    sidebar_position: 20
-    identifier: "cmd-embedded"
----
-
-# 嵌入资源提取工具
-
-Gitea 的可执行文件包含了运行所需的所有资源:模板、图片、样式表和翻译文件。你可以通过在 `custom` 目录下的相应路径中放置替换文件来覆盖其中的任何资源(详见 [自定义 Gitea 配置](administration/customizing-gitea.md))。
-
-要获取嵌入资源的副本以进行编辑,可以使用 CLI 中的 `embedded` 命令,通过操作系统的 shell 执行。
-
-**注意:** 嵌入资源提取工具包含在 Gitea 1.12 及以上版本中。
-
-## 资源列表
-
-要列出嵌入在 Gitea 可执行文件中的资源,请使用以下语法:
-
-```sh
-gitea embedded list [--include-vendored] [patterns...]
-```
-
-`--include-vendored` 标志使命令包括被供应的文件,这些文件通常被排除在外;即来自外部库的文件,这些文件是 Gitea 所需的(例如 [octicons](https://octicons.github.com/) 等)。
-
-可以提供一系列文件搜索模式。Gitea 使用 [gobwas/glob](https://github.com/gobwas/glob) 作为其 glob 语法。以下是一些示例:
-
-- 列出所有模板文件,无论在哪个虚拟目录下:`**.tmpl`
-- 列出所有邮件模板文件:`templates/mail/**.tmpl`
-列出 `public/assets/img` 目录下的所有文件:`public/assets/img/**`
-
-不要忘记为模式使用引号,因为空格、`*` 和其他字符可能对命令行解释器有特殊含义。
-
-如果未提供模式,则列出所有文件。
-
-### 示例:列出所有嵌入文件
-
-列出所有路径中包含 `openid` 的嵌入文件:
-
-```sh
-$ gitea embedded list '**openid**'
-public/assets/img/auth/openid_connect.svg
-public/assets/img/openid-16x16.png
-templates/user/auth/finalize_openid.tmpl
-templates/user/auth/signin_openid.tmpl
-templates/user/auth/signup_openid_connect.tmpl
-templates/user/auth/signup_openid_navbar.tmpl
-templates/user/auth/signup_openid_register.tmpl
-templates/user/settings/security_openid.tmpl
-```
-
-## 提取资源
-
-要提取嵌入在 Gitea 可执行文件中的资源,请使用以下语法:
-
-```sh
-gitea [--config {file}] embedded extract [--destination {dir}|--custom] [--overwrite|--rename] [--include-vendored] {patterns...}
-```
-
-`--config` 选项用于告知 Gitea `app.ini` 配置文件的位置(如果不在默认位置)。此选项仅在使用 `--custom` 标志时使用。
-
-`--destination` 选项用于指定提取文件的目标目录。默认为当前目录。
-
-`--custom` 标志告知 Gitea 直接将文件提取到 `custom` 目录中。为使其正常工作,该命令需要知道 `app.ini` 配置文件的位置(通过 `--config` 指定),并且根据配置的不同,需要从 Gitea 通常启动的目录运行。有关详细信息,请参阅 [自定义 Gitea 配置](administration/customizing-gitea.md)。
-
-`--overwrite` 标志允许覆盖目标目录中的任何现有文件。
-
-`--rename` 标志告知 Gitea 将目标目录中的任何现有文件重命名为 `filename.bak`。之前的 `.bak` 文件将被覆盖。
-
-至少需要提供一个文件搜索模式;有关模式的语法和示例,请参阅上述 `list` 子命令。
-
-### 重要提示
-
-请确保**只提取需要自定义的文件**。位于 `custom` 目录中的文件不会受到 Gitea 的升级过程的影响。当 Gitea 升级到新版本(通过替换可执行文件)时,许多嵌入文件将发生变化。Gitea 将尊重并使用在 `custom` 目录中找到的任何文件,即使这些文件是旧的和不兼容的。
-
-### 示例:提取邮件模板
-
-将邮件模板提取到临时目录:
-
-```sh
-$ mkdir tempdir
-$ gitea embedded extract --destination tempdir 'templates/mail/**.tmpl'
-Extracting to tempdir:
-tempdir/templates/mail/auth/activate.tmpl
-tempdir/templates/mail/auth/activate_email.tmpl
-tempdir/templates/mail/auth/register_notify.tmpl
-tempdir/templates/mail/auth/reset_passwd.tmpl
-tempdir/templates/mail/issue/assigned.tmpl
-tempdir/templates/mail/issue/default.tmpl
-tempdir/templates/mail/notify/collaborator.tmpl
-```
diff --git a/docs/content/administration/command-line.en-us.md b/docs/content/administration/command-line.en-us.md
deleted file mode 100644
index 5049df35e05..00000000000
--- a/docs/content/administration/command-line.en-us.md
+++ /dev/null
@@ -1,572 +0,0 @@
----
-date: "2017-01-01T16:00:00+02:00"
-title: "Gitea Command Line"
-slug: "command-line"
-sidebar_position: 1
-toc: false
-draft: false
-aliases:
-  - /en-us/command-line
-menu:
-  sidebar:
-    parent: "administration"
-    name: "Command Line"
-    sidebar_position: 1
-    identifier: "command-line"
----
-
-# Command Line
-
-## Usage
-
-`gitea [global options] command [command or global options] [arguments...]`
-
-## Global options
-
-All global options can be placed at the command level.
-
-- `--help`, `-h`: Show help text and exit. Optional.
-- `--version`, `-v`: Show version and exit. Optional. (example: `Gitea version 1.1.0+218-g7b907ed built with: bindata, sqlite`).
-- `--work-path path`, `-w path`: Gitea's work path. Optional. (default: the binary's path or `$GITEA_WORK_DIR`)
-- `--custom-path path`, `-C path`: Gitea's custom folder path. Optional. (default: `WorkPath`/custom or `$GITEA_CUSTOM`).
-- `--config path`, `-c path`: Gitea configuration file path. Optional. (default: `CustomPath`/conf/app.ini).
-
-NB: The defaults custom-path, config and work-path can also be
-changed at build time (if preferred).
-
-## Commands
-
-### web
-
-Starts the server:
-
-- Options:
-  - `--port number`, `-p number`: Port number. Optional. (default: 3000). Overrides configuration file.
-  - `--install-port number`: Port number to run the install page on. Optional. (default: 3000). Overrides configuration file.
-  - `--pid path`, `-P path`: Pidfile path. Optional.
-  - `--quiet`, `-q`: Only emit Fatal logs on the console for logs emitted before logging set up.
-  - `--verbose`: Emit tracing logs on the console for logs emitted before logging is set-up.
-- Examples:
-  - `gitea web`
-  - `gitea web --port 80`
-  - `gitea web --config /etc/gitea.ini --pid /some/custom/gitea.pid`
-- Notes:
-  - Gitea should not be run as root. To bind to a port below 1024, you can use setcap on
-    Linux: `sudo setcap 'cap_net_bind_service=+ep' /path/to/gitea`. This will need to be
-    redone every time you update Gitea.
-
-### admin
-
-Admin operations:
-
-- Commands:
-  - `user`:
-    - `list`:
-      - Options:
-        - `--admin`: List only admin users. Optional.
-      - Description: lists all users that exist
-      - Examples:
-        - `gitea admin user list`
-    - `delete`:
-      - Options:
-        - `--email`: Email of the user to be deleted.
-        - `--username`: Username of user to be deleted.
-        - `--id`: ID of user to be deleted.
-        - One of `--id`, `--username` or `--email` is required. If more than one is provided then all have to match.
-      - Examples:
-        - `gitea admin user delete --id 1`
-    - `create`:
-      - Options:
-        - `--name value`: Username. Required. As of Gitea 1.9.0, use the `--username` flag instead.
-        - `--username value`: Username. Required. New in Gitea 1.9.0.
-        - `--password value`: Password. Required.
-        - `--email value`: Email. Required.
-        - `--admin`: If provided, this makes the user an admin. Optional.
-        - `--access-token`: If provided, an access token will be created for the user. Optional. (default: false).
-        - `--must-change-password`: If provided, the created user will be required to choose a newer password after the
-          initial login. Optional. (default: true).
-        - `--random-password`: If provided, a randomly generated password will be used as the password of the created
-          user. The value of `--password` will be discarded. Optional.
-        - `--random-password-length`: If provided, it will be used to configure the length of the randomly generated
-          password. Optional. (default: 12)
-      - Examples:
-        - `gitea admin user create --username myname --password asecurepassword --email me@example.com`
-    - `change-password`:
-      - Options:
-        - `--username value`, `-u value`: Username. Required.
-        - `--password value`, `-p value`: New password. Required.
-        - `--must-change-password`: If provided, the user is required to choose a new password after the login. Optional.
-      - Examples:
-        - `gitea admin user change-password --username myname --password asecurepassword`
-    - `must-change-password`:
-      - Args:
-        - `[username...]`: Users that must change their passwords
-      - Options:
-        - `--all`, `-A`: Force a password change for all users
-        - `--exclude username`, `-e username`: Exclude the given user. Can be set multiple times.
-        - `--unset`: Revoke forced password change for the given users
-    - `generate-access-token`:
-      - Options:
-        - `--username value`, `-u value`: Username. Required.
-        - `--token-name value`, `-t value`: Token name. Required.
-        - `--scopes value`: Comma-separated list of scopes. Scopes follow the format `[read|write]:` or `all` where `` is one of the available visual groups you can see when opening the API page showing the available routes (for example `repo`).
-      - Examples:
-        - `gitea admin user generate-access-token --username myname --token-name mytoken`
-        - `gitea admin user generate-access-token --help`
-  - `regenerate`
-    - Options:
-      - `hooks`: Regenerate Git Hooks for all repositories
-      - `keys`: Regenerate authorized_keys file
-    - Examples:
-      - `gitea admin regenerate hooks`
-      - `gitea admin regenerate keys`
-  - `auth`:
-    - `list`:
-      - Description: lists all external authentication sources that exist
-      - Examples:
-        - `gitea admin auth list`
-    - `delete`:
-      - Options:
-        - `--id`: ID of source to be deleted. Required.
-      - Examples:
-        - `gitea admin auth delete --id 1`
-    - `add-oauth`:
-      - Options:
-        - `--name`: Application Name.
-        - `--provider`: OAuth2 Provider.
-        - `--key`: Client ID (Key).
-        - `--secret`: Client Secret.
-        - `--auto-discover-url`: OpenID Connect Auto Discovery URL (only required when using OpenID Connect as provider).
-        - `--use-custom-urls`: Use custom URLs for GitLab/GitHub OAuth endpoints.
-        - `--custom-tenant-id`: Use custom Tenant ID for OAuth endpoints.
-        - `--custom-auth-url`: Use a custom Authorization URL (option for GitLab/GitHub).
-        - `--custom-token-url`: Use a custom Token URL (option for GitLab/GitHub).
-        - `--custom-profile-url`: Use a custom Profile URL (option for GitLab/GitHub).
-        - `--custom-email-url`: Use a custom Email URL (option for GitHub).
-        - `--icon-url`: Custom icon URL for OAuth2 login source.
-        - `--skip-local-2fa`: Allow source to override local 2FA. (Optional)
-        - `--scopes`: Additional scopes to request for this OAuth2 source. (Optional)
-        - `--required-claim-name`: Claim name that has to be set to allow users to login with this source. (Optional)
-        - `--required-claim-value`: Claim value that has to be set to allow users to login with this source. (Optional)
-        - `--group-claim-name`: Claim name providing group names for this source. (Optional)
-        - `--admin-group`: Group Claim value for administrator users. (Optional)
-        - `--restricted-group`: Group Claim value for restricted users. (Optional)
-        - `--group-team-map`: JSON mapping between groups and org teams. (Optional)
-        - `--group-team-map-removal`: Activate automatic team membership removal depending on groups. (Optional)
-      - Examples:
-        - `gitea admin auth add-oauth --name external-github --provider github --key OBTAIN_FROM_SOURCE --secret OBTAIN_FROM_SOURCE`
-    - `update-oauth`:
-      - Options:
-        - `--id`: ID of source to be updated. Required.
-        - `--name`: Application Name.
-        - `--provider`: OAuth2 Provider.
-        - `--key`: Client ID (Key).
-        - `--secret`: Client Secret.
-        - `--auto-discover-url`: OpenID Connect Auto Discovery URL (only required when using OpenID Connect as provider).
-        - `--use-custom-urls`: Use custom URLs for GitLab/GitHub OAuth endpoints.
-        - `--custom-tenant-id`: Use custom Tenant ID for OAuth endpoints.
-        - `--custom-auth-url`: Use a custom Authorization URL (option for GitLab/GitHub).
-        - `--custom-token-url`: Use a custom Token URL (option for GitLab/GitHub).
-        - `--custom-profile-url`: Use a custom Profile URL (option for GitLab/GitHub).
-        - `--custom-email-url`: Use a custom Email URL (option for GitHub).
-        - `--icon-url`: Custom icon URL for OAuth2 login source.
-        - `--skip-local-2fa`: Allow source to override local 2FA. (Optional)
-        - `--scopes`: Additional scopes to request for this OAuth2 source.
-        - `--required-claim-name`: Claim name that has to be set to allow users to login with this source. (Optional)
-        - `--required-claim-value`: Claim value that has to be set to allow users to login with this source. (Optional)
-        - `--group-claim-name`: Claim name providing group names for this source. (Optional)
-        - `--admin-group`: Group Claim value for administrator users. (Optional)
-        - `--restricted-group`: Group Claim value for restricted users. (Optional)
-      - Examples:
-        - `gitea admin auth update-oauth --id 1 --name external-github-updated`
-    - `add-smtp`:
-      - Options:
-        - `--name`: Application Name. Required.
-        - `--auth-type`: SMTP Authentication Type (PLAIN/LOGIN/CRAM-MD5). Default to PLAIN.
-        - `--host`: SMTP host. Required.
-        - `--port`: SMTP port. Required.
-        - `--force-smtps`: SMTPS is always used on port 465. Set this to force SMTPS on other ports.
-        - `--skip-verify`: Skip TLS verify.
-        - `--helo-hostname`: Hostname sent with HELO. Leave blank to send current hostname.
-        - `--disable-helo`: Disable SMTP helo.
-        - `--allowed-domains`: Leave empty to allow all domains. Separate multiple domains with a comma (',').
-        - `--skip-local-2fa`: Skip 2FA to log on.
-        - `--active`: This Authentication Source is Activated.
-        Remarks:
-        `--force-smtps`, `--skip-verify`, `--disable-helo`, `--skip-loca-2fs` and `--active` options can be used in form:
-        - `--option`, `--option=true` to enable
-        - `--option=false` to disable
-        If those options are not specified value would not be changed in `update-smtp` or would use default `false` value in `add-smtp`
-      - Examples:
-        - `gitea admin auth add-smtp --name ldap --host smtp.mydomain.org --port 587 --skip-verify --active`
-    - `update-smtp`:
-      - Options:
-        - `--id`: ID of source to be updated. Required.
-        - other options are shared with `add-smtp`
-      - Examples:
-        - `gitea admin auth update-smtp --id 1 --host smtp.mydomain.org --port 587 --skip-verify=false`
-        - `gitea admin auth update-smtp --id 1 --active=false`
-    - `add-ldap`: Add new LDAP (via Bind DN) authentication source
-      - Options:
-        - `--name value`: Authentication name. Required.
-        - `--not-active`: Deactivate the authentication source.
-        - `--security-protocol value`: Security protocol name. Required.
-        - `--skip-tls-verify`: Disable TLS verification.
-        - `--host value`: The address where the LDAP server can be reached. Required.
-        - `--port value`: The port to use when connecting to the LDAP server. Required.
-        - `--user-search-base value`: The LDAP base at which user accounts will be searched for. Required.
-        - `--user-filter value`: An LDAP filter declaring how to find the user record that is attempting to authenticate. Required.
-        - `--admin-filter value`: An LDAP filter specifying if a user should be given administrator privileges.
-        - `--restricted-filter value`: An LDAP filter specifying if a user should be given restricted status.
-        - `--username-attribute value`: The attribute of the user’s LDAP record containing the user name.
-        - `--firstname-attribute value`: The attribute of the user’s LDAP record containing the user’s first name.
-        - `--surname-attribute value`: The attribute of the user’s LDAP record containing the user’s surname.
-        - `--email-attribute value`: The attribute of the user’s LDAP record containing the user’s email address. Required.
-        - `--public-ssh-key-attribute value`: The attribute of the user’s LDAP record containing the user’s public ssh key.
-        - `--avatar-attribute value`: The attribute of the user’s LDAP record containing the user’s avatar.
-        - `--bind-dn value`: The DN to bind to the LDAP server with when searching for the user.
-        - `--bind-password value`: The password for the Bind DN, if any.
-        - `--attributes-in-bind`: Fetch attributes in bind DN context.
-        - `--synchronize-users`: Enable user synchronization.
-        - `--page-size value`: Search page size.
-      - Examples:
-        - `gitea admin auth add-ldap --name ldap --security-protocol unencrypted --host mydomain.org --port 389 --user-search-base "ou=Users,dc=mydomain,dc=org" --user-filter "(&(objectClass=posixAccount)(|(uid=%[1]s)(mail=%[1]s)))" --email-attribute mail`
-    - `update-ldap`: Update existing LDAP (via Bind DN) authentication source
-      - Options:
-        - `--id value`: ID of authentication source. Required.
-        - `--name value`: Authentication name.
-        - `--not-active`: Deactivate the authentication source.
-        - `--security-protocol value`: Security protocol name.
-        - `--skip-tls-verify`: Disable TLS verification.
-        - `--host value`: The address where the LDAP server can be reached.
-        - `--port value`: The port to use when connecting to the LDAP server.
-        - `--user-search-base value`: The LDAP base at which user accounts will be searched for.
-        - `--user-filter value`: An LDAP filter declaring how to find the user record that is attempting to authenticate.
-        - `--admin-filter value`: An LDAP filter specifying if a user should be given administrator privileges.
-        - `--restricted-filter value`: An LDAP filter specifying if a user should be given restricted status.
-        - `--username-attribute value`: The attribute of the user’s LDAP record containing the user name.
-        - `--firstname-attribute value`: The attribute of the user’s LDAP record containing the user’s first name.
-        - `--surname-attribute value`: The attribute of the user’s LDAP record containing the user’s surname.
-        - `--email-attribute value`: The attribute of the user’s LDAP record containing the user’s email address.
-        - `--public-ssh-key-attribute value`: The attribute of the user’s LDAP record containing the user’s public ssh key.
-        - `--avatar-attribute value`: The attribute of the user’s LDAP record containing the user’s avatar.
-        - `--bind-dn value`: The DN to bind to the LDAP server with when searching for the user.
-        - `--bind-password value`: The password for the Bind DN, if any.
-        - `--attributes-in-bind`: Fetch attributes in bind DN context.
-        - `--synchronize-users`: Enable user synchronization.
-        - `--page-size value`: Search page size.
-      - Examples:
-        - `gitea admin auth update-ldap --id 1 --name "my ldap auth source"`
-        - `gitea admin auth update-ldap --id 1 --username-attribute uid --firstname-attribute givenName --surname-attribute sn`
-    - `add-ldap-simple`: Add new LDAP (simple auth) authentication source
-      - Options:
-        - `--name value`: Authentication name. Required.
-        - `--not-active`: Deactivate the authentication source.
-        - `--security-protocol value`: Security protocol name. Required.
-        - `--skip-tls-verify`: Disable TLS verification.
-        - `--host value`: The address where the LDAP server can be reached. Required.
-        - `--port value`: The port to use when connecting to the LDAP server. Required.
-        - `--user-search-base value`: The LDAP base at which user accounts will be searched for.
-        - `--user-filter value`: An LDAP filter declaring how to find the user record that is attempting to authenticate. Required.
-        - `--admin-filter value`: An LDAP filter specifying if a user should be given administrator privileges.
-        - `--restricted-filter value`: An LDAP filter specifying if a user should be given restricted status.
-        - `--username-attribute value`: The attribute of the user’s LDAP record containing the user name.
-        - `--firstname-attribute value`: The attribute of the user’s LDAP record containing the user’s first name.
-        - `--surname-attribute value`: The attribute of the user’s LDAP record containing the user’s surname.
-        - `--email-attribute value`: The attribute of the user’s LDAP record containing the user’s email address. Required.
-        - `--public-ssh-key-attribute value`: The attribute of the user’s LDAP record containing the user’s public ssh key.
-        - `--avatar-attribute value`: The attribute of the user’s LDAP record containing the user’s avatar.
-        - `--user-dn value`: The user’s DN. Required.
-      - Examples:
-        - `gitea admin auth add-ldap-simple --name ldap --security-protocol unencrypted --host mydomain.org --port 389 --user-dn "cn=%s,ou=Users,dc=mydomain,dc=org" --user-filter "(&(objectClass=posixAccount)(cn=%s))" --email-attribute mail`
-    - `update-ldap-simple`: Update existing LDAP (simple auth) authentication source
-      - Options:
-        - `--id value`: ID of authentication source. Required.
-        - `--name value`: Authentication name.
-        - `--not-active`: Deactivate the authentication source.
-        - `--security-protocol value`: Security protocol name.
-        - `--skip-tls-verify`: Disable TLS verification.
-        - `--host value`: The address where the LDAP server can be reached.
-        - `--port value`: The port to use when connecting to the LDAP server.
-        - `--user-search-base value`: The LDAP base at which user accounts will be searched for.
-        - `--user-filter value`: An LDAP filter declaring how to find the user record that is attempting to authenticate.
-        - `--admin-filter value`: An LDAP filter specifying if a user should be given administrator privileges.
-        - `--restricted-filter value`: An LDAP filter specifying if a user should be given restricted status.
-        - `--username-attribute value`: The attribute of the user’s LDAP record containing the user name.
-        - `--firstname-attribute value`: The attribute of the user’s LDAP record containing the user’s first name.
-        - `--surname-attribute value`: The attribute of the user’s LDAP record containing the user’s surname.
-        - `--email-attribute value`: The attribute of the user’s LDAP record containing the user’s email address.
-        - `--public-ssh-key-attribute value`: The attribute of the user’s LDAP record containing the user’s public ssh key.
-        - `--avatar-attribute value`: The attribute of the user’s LDAP record containing the user’s avatar.
-        - `--user-dn value`: The user’s DN.
-      - Examples:
-        - `gitea admin auth update-ldap-simple --id 1 --name "my ldap auth source"`
-        - `gitea admin auth update-ldap-simple --id 1 --username-attribute uid --firstname-attribute givenName --surname-attribute sn`
-
-### cert
-
-Generates a self-signed SSL certificate. Outputs to `cert.pem` and `key.pem` in the current
-directory and will overwrite any existing files.
-
-- Options:
-  - `--host value`: Comma separated hostnames and ips which this certificate is valid for.
-    Wildcards are supported. Required.
-  - `--ecdsa-curve value`: ECDSA curve to use to generate a key. Optional. Valid options
-    are P224, P256, P384, P521.
-  - `--rsa-bits value`: Size of RSA key to generate. Optional. Ignored if --ecdsa-curve is
-    set. (default: 3072).
-  - `--start-date value`: Creation date. Optional. (format: `Jan 1 15:04:05 2011`).
-  - `--duration value`: Duration which the certificate is valid for. Optional. (default: 8760h0m0s)
-  - `--ca`: If provided, this cert generates it's own certificate authority. Optional.
-- Examples:
-  - `gitea cert --host git.example.com,example.com,www.example.com --ca`
-
-### dump
-
-Dumps all files and databases into a zip file. Outputs into a file like `gitea-dump-1482906742.zip`
-in the current directory.
-
-- Options:
-  - `--file name`, `-f name`: Name of the dump file with will be created. Optional. (default: gitea-dump-[timestamp].zip).
-  - `--tempdir path`, `-t path`: Path to the temporary directory used. Optional. (default: /tmp).
-  - `--skip-repository`, `-R`: Skip the repository dumping. Optional.
-  - `--skip-custom-dir`: Skip dumping of the custom dir. Optional.
-  - `--skip-lfs-data`: Skip dumping of LFS data. Optional.
-  - `--skip-attachment-data`: Skip dumping of attachment data. Optional.
-  - `--skip-package-data`: Skip dumping of package data. Optional.
-  - `--skip-log`: Skip dumping of log data. Optional.
-  - `--database`, `-d`: Specify the database SQL syntax. Optional (supported arguments: sqlite3, mysql, mssql, postgres).
-  - `--verbose`, `-V`: If provided, shows additional details. Optional.
-  - `--type`: Set the dump output format. Optional. (formats: zip, tar, tar.sz, tar.gz, tar.xz, tar.bz2, tar.br, tar.lz4, tar.zst default: zip).
-- Examples:
-  - `gitea dump`
-  - `gitea dump --verbose`
-
-### generate
-
-Generates random values and tokens for usage in configuration file. Useful for generating values
-for automatic deployments.
-
-- Commands:
-  - `secret`:
-    - Options:
-      - `INTERNAL_TOKEN`: Token used for an internal API call authentication.
-      - `JWT_SECRET`: LFS & OAUTH2 JWT authentication secret (LFS_JWT_SECRET is aliased to this option for backwards compatibility).
-      - `SECRET_KEY`: Global secret key.
-    - Examples:
-      - `gitea generate secret INTERNAL_TOKEN`
-      - `gitea generate secret JWT_SECRET`
-      - `gitea generate secret SECRET_KEY`
-
-### keys
-
-Provides an SSHD AuthorizedKeysCommand. Needs to be configured in the sshd config file:
-
-```ini
-...
-# The value of -e and the AuthorizedKeysCommandUser should match the
-# username running Gitea
-AuthorizedKeysCommandUser git
-AuthorizedKeysCommand /path/to/gitea keys -e git -u %u -t %t -k %k
-```
-
-The command will return the appropriate authorized_keys line for the
-provided key. You should also set the value
-`SSH_CREATE_AUTHORIZED_KEYS_FILE=false` in the `[server]` section of
-`app.ini`.
-
-NB: opensshd requires the Gitea program to be owned by root and not
-writable by group or others. The program must be specified by an absolute
-path.
-NB: Gitea must be running for this command to succeed.
-
-### migrate
-
-Migrates the database. This command can be used to run other commands before starting the server for the first time.
-This command is idempotent.
-
-### doctor check
-
-Diagnose and potentially fix problems with the current Gitea instance.
-Several checks are run by default, but additional ones can be run:
-
-- `gitea doctor check --list` - will list all the available checks
-- `gitea doctor check --all` - will run all available checks
-- `gitea doctor check --default` - will run the default checks
-- `gitea doctor check --run [check(s),]...` - will run the named checks
-
-Some problems can be automatically fixed by passing the `--fix` option.
-Extra logging can be set with `--log-file=...`.
-
-#### doctor recreate-table
-
-Sometimes when there are migrations the old columns and default values may be left
-unchanged in the database schema. This may lead to warning such as:
-
-```
-2020/08/02 11:32:29 ...rm/session_schema.go:360:Sync() [W] Table user Column keep_activity_private db default is , struct default is 0
-```
-
-You can cause Gitea to recreate these tables and copy the old data into the new table
-with the defaults set appropriately by using:
-
-```
-gitea doctor recreate-table user
-```
-
-You can ask Gitea to recreate multiple tables using:
-
-```
-gitea doctor recreate-table table1 table2 ...
-```
-
-And if you would like Gitea to recreate all tables simply call:
-
-```
-gitea doctor recreate-table
-```
-
-It is highly recommended to back-up your database before running these commands.
-
-### doctor convert
-
-Converts a MySQL database from utf8 to utf8mb4 or a MSSQL database from varchar to nvarchar.
-
-### manager
-
-Manage running server operations:
-
-- Commands:
-  - `shutdown`: Gracefully shutdown the running process
-  - `restart`: Gracefully restart the running process - (not implemented for windows servers)
-  - `flush-queues`: Flush queues in the running process
-    - Options:
-      - `--timeout value`: Timeout for the flushing process (default: 1m0s)
-      - `--non-blocking`: Set to true to not wait for flush to complete before returning
-  - `logging`: Adjust logging commands
-    - Commands:
-      - `pause`: Pause logging
-        - Notes:
-          - The logging level will be raised to INFO temporarily if it is below this level.
-          - Gitea will buffer logs up to a certain point and will drop them after that point.
-      - `resume`: Resume logging
-      - `release-and-reopen`: Cause Gitea to release and re-open files and connections used for logging (Equivalent to sending SIGUSR1 to Gitea.)
-      - `remove name`: Remove the named logger
-        - Options:
-          - `--group group`, `-g group`: Set the group to remove the sublogger from. (defaults to `default`)
-      - `add`: Add a logger
-        - Commands:
-          - `console`: Add a console logger
-            - Options:
-              - `--group value`, `-g value`: Group to add logger to - will default to "default"
-              - `--name value`, `-n value`: Name of the new logger - will default to mode
-              - `--level value`, `-l value`: Logging level for the new logger
-              - `--stacktrace-level value`, `-L value`: Stacktrace logging level
-              - `--flags value`, `-F value`: Flags for the logger
-              - `--expression value`, `-e value`: Matching expression for the logger
-              - `--prefix value`, `-p value`: Prefix for the logger
-              - `--color`: Use color in the logs
-              - `--stderr`: Output console logs to stderr - only relevant for console
-          - `file`: Add a file logger
-            - Options:
-              - `--group value`, `-g value`: Group to add logger to - will default to "default"
-              - `--name value`, `-n value`: Name of the new logger - will default to mode
-              - `--level value`, `-l value`: Logging level for the new logger
-              - `--stacktrace-level value`, `-L value`: Stacktrace logging level
-              - `--flags value`, `-F value`: Flags for the logger
-              - `--expression value`, `-e value`: Matching expression for the logger
-              - `--prefix value`, `-p value`: Prefix for the logger
-              - `--color`: Use color in the logs
-              - `--filename value`, `-f value`: Filename for the logger -
-              - `--rotate`, `-r`: Rotate logs
-              - `--max-size value`, `-s value`: Maximum size in bytes before rotation
-              - `--daily`, `-d`: Rotate logs daily
-              - `--max-days value`, `-D value`: Maximum number of daily logs to keep
-              - `--compress`, `-z`: Compress rotated logs
-              - `--compression-level value`, `-Z value`: Compression level to use
-          - `conn`: Add a network connection logger
-            - Options:
-              - `--group value`, `-g value`: Group to add logger to - will default to "default"
-              - `--name value`, `-n value`: Name of the new logger - will default to mode
-              - `--level value`, `-l value`: Logging level for the new logger
-              - `--stacktrace-level value`, `-L value`: Stacktrace logging level
-              - `--flags value`, `-F value`: Flags for the logger
-              - `--expression value`, `-e value`: Matching expression for the logger
-              - `--prefix value`, `-p value`: Prefix for the logger
-              - `--color`: Use color in the logs
-              - `--reconnect-on-message`, `-R`: Reconnect to host for every message
-              - `--reconnect`, `-r`: Reconnect to host when connection is dropped
-              - `--protocol value`, `-P value`: Set protocol to use: tcp, unix, or udp (defaults to tcp)
-              - `--address value`, `-a value`: Host address and port to connect to (defaults to :7020)
-          - `smtp`: Add an SMTP logger
-            - Options:
-              - `--group value`, `-g value`: Group to add logger to - will default to "default"
-              - `--name value`, `-n value`: Name of the new logger - will default to mode
-              - `--level value`, `-l value`: Logging level for the new logger
-              - `--stacktrace-level value`, `-L value`: Stacktrace logging level
-              - `--flags value`, `-F value`: Flags for the logger
-              - `--expression value`, `-e value`: Matching expression for the logger
-              - `--prefix value`, `-p value`: Prefix for the logger
-              - `--color`: Use color in the logs
-              - `--username value`, `-u value`: Mail server username
-              - `--password value`, `-P value`: Mail server password
-              - `--host value`, `-H value`: Mail server host (defaults to: 127.0.0.1:25)
-              - `--send-to value`, `-s value`: Email address(es) to send to
-              - `--subject value`, `-S value`: Subject header of sent emails
-  - `processes`: Display Gitea processes and goroutine information
-    - Options:
-      - `--flat`: Show processes as flat table rather than as tree
-      - `--no-system`: Do not show system processes
-      - `--stacktraces`: Show stacktraces for goroutines associated with processes
-      - `--json`: Output as json
-      - `--cancel PID`: Send cancel to process with PID. (Only for non-system processes.)
-
-### dump-repo
-
-Dump-repo dumps repository data from Git/GitHub/Gitea/GitLab:
-
-- Options:
-  - `--git_service service` : Git service, it could be `git`, `github`, `gitea`, `gitlab`, If clone_addr could be recognized, this could be ignored.
-  - `--repo_dir dir`, `-r dir`: Repository dir path to store the data
-  - `--clone_addr addr`: The URL will be clone, currently could be a git/github/gitea/gitlab http/https URL. i.e. https://github.com/lunny/tango.git
-  - `--auth_username lunny`: The username to visit the clone_addr
-  - `--auth_password `: The password to visit the clone_addr
-  - `--auth_token `: The personal token to visit the clone_addr
-  - `--owner_name lunny`: The data will be stored on a directory with owner name if not empty
-  - `--repo_name tango`: The data will be stored on a directory with repository name if not empty
-  - `--units `: Which items will be migrated, one or more units should be separated as comma. wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments are allowed. Empty means all units.
-
-### restore-repo
-
-Restore-repo restore repository data from disk dir:
-
-- Options:
-  - `--repo_dir dir`, `-r dir`: Repository dir path to restore from
-  - `--owner_name lunny`: Restore destination owner name
-  - `--repo_name tango`: Restore destination repository name
-  - `--units `: Which items will be restored, one or more units should be separated as comma. wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments are allowed. Empty means all units.
-
-### actions generate-runner-token
-
-Generate a new token for a runner to use to register with the server
-
-- Options:
-  - `--scope {owner}[/{repo}]`, `-s {owner}[/{repo}]`: To limit the scope of the runner, no scope means the runner can be used for all repos, but you can also limit it to a specific repo or owner
-
-To register a global runner:
-
-```
-gitea actions generate-runner-token
-```
-
-To register a runner for a specific organization, in this case `org`:
-
-```
-gitea actions generate-runner-token -s org
-```
-
-To register a runner for a specific repo, in this case `username/test-repo`:
-
-```
-gitea actions generate-runner-token -s username/test-repo
-```
diff --git a/docs/content/administration/command-line.zh-cn.md b/docs/content/administration/command-line.zh-cn.md
deleted file mode 100644
index 6e6bcb6082d..00000000000
--- a/docs/content/administration/command-line.zh-cn.md
+++ /dev/null
@@ -1,542 +0,0 @@
----
-date: "2023-05-23T09:00:00+08:00"
-title: "Gitea 命令行"
-slug: "command-line"
-sidebar_position: 1
-toc: false
-draft: false
-aliases:
-  - /zh-cn/command-line
-menu:
-  sidebar:
-    parent: "administration"
-    name: "Gitea 命令行"
-    sidebar_position: 1
-    identifier: "command-line"
----
-
-# 命令行
-
-## 用法
-
-`gitea [全局选项] 命令 [命令或全局选项] [参数...]`
-
-## 全局选项
-
-所有全局选项均可被放置在命令级别。
-
-- `--help`,`-h`:显示帮助文本并退出。可选。
-- `--version`,`-v`:显示版本信息并退出。可选。 (示例:`Gitea version 1.1.0+218-g7b907ed built with: bindata, sqlite`)。
-- `--custom-path path`,`-C path`:Gitea 自定义文件夹的路径。可选。 (默认值:`AppWorkPath`/custom 或 `$GITEA_CUSTOM`)。
-- `--config path`,`-c path`:Gitea 配置文件的路径。可选。 (默认值:`custom`/conf/app.ini)。
-- `--work-path path`,`-w path`:Gitea 的 `AppWorkPath`。可选。 (默认值:LOCATION_OF_GITEA_BINARY 或 `$GITEA_WORK_DIR`)
-
-注意:默认的 custom-path、config 和 work-path 也可以在构建时更改(如果需要)。
-
-## 命令
-
-### web
-
-启动服务器:
-
-- 选项:
-  - `--port number`,`-p number`:端口号。可选。 (默认值:3000)。覆盖配置文件中的设置。
-  - `--install-port number`:运行安装页面的端口号。可选。 (默认值:3000)。覆盖配置文件中的设置。
-  - `--pid path`,`-P path`:Pid 文件的路径。可选。
-  - `--quiet`,`-q`:只在控制台上输出 Fatal 日志,用于在设置日志之前发出的日志。
-  - `--verbose`:在控制台上输出跟踪日志,用于在设置日志之前发出的日志。
-- 示例:
-  - `gitea web`
-  - `gitea web --port 80`
-  - `gitea web --config /etc/gitea.ini --pid /some/custom/gitea.pid`
-- 注意:
-  - Gitea 不应以 root 用户身份运行。要绑定到低于 1024 的端口,您可以在 Linux 上使用 setcap 命令:`sudo setcap 'cap_net_bind_service=+ep' /path/to/gitea`。每次更新 Gitea 都需要重新执行此操作。
-
-### admin
-
-管理员操作:
-
-- 命令:
-  - `user`:
-    - `list`:
-      - 选项:
-        - `--admin`:仅列出管理员用户。可选。
-      - 描述:列出所有现有用户。
-      - 示例:
-        - `gitea admin user list`
-    - `delete`:
-      - 选项:
-        - `--email`:要删除的用户的电子邮件。
-        - `--username`:要删除的用户的用户名。
-        - `--id`:要删除的用户的ID。
-        - 必须提供 `--id`、`--username` 或 `--email` 中的一个。如果提供多个,则所有条件必须匹配。
-      - 示例:
-        - `gitea admin user delete --id 1`
-    - `create`:
-      - 选项:
-        - `--name value`:用户名。必填。自 Gitea 1.9.0 版本起,请改用 `--username` 标志。
-        - `--username value`:用户名。必填。Gitea 1.9.0 新增。
-        - `--password value`:密码。必填。
-        - `--email value`:邮箱。必填。
-        - `--admin`:如果提供此选项,将创建一个管理员用户。可选。
-        - `--access-token`:如果提供,将为用户创建访问令牌。可选。(默认值:false)。
-        - `--must-change-password`:如果提供,创建的用户将在初始登录后需要选择一个新密码。可选。(默认值:true)。
-        - `--random-password`:如果提供,将使用随机生成的密码作为创建用户的密码。`--password` 的值将被忽略。可选。
-        - `--random-password-length`:如果提供,将用于配置随机生成密码的长度。可选。(默认值:12)
-      - 示例:
-        - `gitea admin user create --username myname --password asecurepassword --email me@example.com`
-    - `change-password`:
-      - 选项:
-        - `--username value`,`-u value`:用户名。必填。
-        - `--password value`,`-p value`:新密码。必填。
-      - 示例:
-        - `gitea admin user change-password --username myname --password asecurepassword`
-    - `must-change-password`:
-      - 参数:
-        - `[username...]`:需要更改密码的用户
-      - 选项:
-        - `--all`,`-A`:强制所有用户更改密码
-        - `--exclude username`,`-e username`:排除给定的用户。可以多次设置。
-        - `--unset`:撤销对给定用户的强制密码更改
-  - `regenerate`:
-    - 选项:
-      - `hooks`:重新生成所有仓库的 Git Hooks。
-      - `keys`:重新生成 authorized_keys 文件。
-    - 示例:
-      - `gitea admin regenerate hooks`
-      - `gitea admin regenerate keys`
-  - `auth`:
-    - `list`:
-      - 描述:列出所有存在的外部认证源。
-      - 示例:
-        - `gitea admin auth list`
-    - `delete`:
-      - 选项:
-        - `--id`:要删除的源的 ID。必填。
-      - 示例:
-        - `gitea admin auth delete --id 1`
-    - `add-oauth`:
-      - 选项:
-        - `--name`:应用程序名称。
-        - `--provider`:OAuth2 提供者。
-        - `--key`:客户端 ID(Key)。
-        - `--secret`:客户端密钥。
-        - `--auto-discover-url`:OpenID Connect 自动发现 URL(仅在使用 OpenID Connect 作为提供程序时需要)。
-        - `--use-custom-urls`:在 GitLab/GitHub OAuth 端点上使用自定义 URL。
-        - `--custom-tenant-id`:在 OAuth 端点上使用自定义租户 ID。
-        - `--custom-auth-url`:使用自定义授权 URL(GitLab/GitHub 的选项)。
-        - `--custom-token-url`:使用自定义令牌 URL(GitLab/GitHub 的选项)。
-        - `--custom-profile-url`:使用自定义配置文件 URL(GitLab/GitHub 的选项)。
-        - `--custom-email-url`:使用自定义电子邮件 URL(GitHub 的选项)。
-        - `--icon-url`:OAuth2 登录源的自定义图标 URL。
-        - `--skip-local-2fa`:允许源覆盖本地 2FA。(可选)
-        - `--scopes`:请求此 OAuth2 源的附加范围。(可选)
-        - `--required-claim-name`:必须设置的声明名称,以允许用户使用此源登录。(可选)
-        - `--required-claim-value`:必须设置的声明值,以允许用户使用此源登录。(可选)
-        - `--group-claim-name`:提供此源的组名的声明名称。(可选)
-        - `--admin-group`:管理员用户的组声明值。(可选)
-        - `--restricted-group`:受限用户的组声明值。(可选)
-        - `--group-team-map`:组与组织团队之间的 JSON 映射。(可选)
-        - `--group-team-map-removal`:根据组自动激活团队成员资格的删除。(可选)
-      - 示例:
-        - `gitea admin auth add-oauth --name external-github --provider github --key OBTAIN_FROM_SOURCE --secret OBTAIN_FROM_SOURCE`
-    - `update-oauth`:
-      - 选项:
-        - `--id`:要更新的源的 ID。必填。
-        - `--name`:应用程序名称。
-        - `--provider`:OAuth2 提供者。
-        - `--key`:客户端 ID(Key)。
-        - `--secret`:客户端密钥。
-        - `--auto-discover-url`:OpenID Connect 自动发现 URL(仅在使用 OpenID Connect 作为提供程序时需要)。
-        - `--use-custom-urls`:在 GitLab/GitHub OAuth 端点上使用自定义 URL。
-        - `--custom-tenant-id`:在 OAuth 端点上使用自定义租户 ID。
-        - `--custom-auth-url`:使用自定义授权 URL(GitLab/GitHub 的选项)。
-        - `--custom-token-url`:使用自定义令牌 URL(GitLab/GitHub 的选项)。
-        - `--custom-profile-url`:使用自定义配置文件 URL(GitLab/GitHub 的选项)。
-        - `--custom-email-url`:使用自定义电子邮件 URL(GitHub 的选项)。
-        - `--icon-url`:OAuth2 登录源的自定义图标 URL。
-        - `--skip-local-2fa`:允许源覆盖本地 2FA。(可选)
-        - `--scopes`:请求此 OAuth2 源的附加范围。
-        - `--required-claim-name`:必须设置的声明名称,以允许用户使用此源登录。(可选)
-        - `--required-claim-value`:必须设置的声明值,以允许用户使用此源登录。(可选)
-        - `--group-claim-name`:提供此源的组名的声明名称。(可选)
-        - `--admin-group`:管理员用户的组声明值。(可选)
-        - `--restricted-group`:受限用户的组声明值。(可选)
-      - 示例:
-        - `gitea admin auth update-oauth --id 1 --name external-github-updated`
-    - `add-smtp`:
-      - 选项:
-        - `--name`:应用程序名称。必填。
-        - `--auth-type`:SMTP 认证类型(PLAIN/LOGIN/CRAM-MD5)。默认为 PLAIN。
-        - `--host`:SMTP 主机。必填。
-        - `--port`:SMTP 端口。必填。
-        - `--force-smtps`:SMTPS 始终在端口 465 上使用。设置此选项以强制在其他端口上使用 SMTPS。
-        - `--skip-verify`:跳过 TLS 验证。
-        - `--helo-hostname`:发送 HELO 时使用的主机名。留空以发送当前主机名。
-        - `--disable-helo`:禁用 SMTP helo。
-        - `--allowed-domains`:留空以允许所有域。使用逗号(',')分隔多个域。
-        - `--skip-local-2fa`:跳过 2FA 登录。
-        - `--active`:启用此认证源。
-        备注:
-        `--force-smtps`、`--skip-verify`、`--disable-helo`、`--skip-local-2fs` 和 `--active` 选项可以采用以下形式使用:
-        - `--option`、`--option=true` 以启用选项
-        - `--option=false` 以禁用选项
-        如果未指定这些选项,则在 `update-smtp` 中不会更改值,或者在 `add-smtp` 中将使用默认的 `false` 值。
-      - 示例:
-        - `gitea admin auth add-smtp --name ldap --host smtp.mydomain.org --port 587 --skip-verify --active`
-    - `update-smtp`:
-      - 选项:
-        - `--id`:要更新的源的 ID。必填。
-        - 其他选项与 `add-smtp` 共享
-      - 示例:
-        - `gitea admin auth update-smtp --id 1 --host smtp.mydomain.org --port 587 --skip-verify=false`
-        - `gitea admin auth update-smtp --id 1 --active=false`
-    - `add-ldap`:添加新的 LDAP(通过 Bind DN)认证源
-      - 选项:
-        - `--name value`:认证名称。必填。
-        - `--not-active`:停用认证源。
-        - `--security-protocol value`:安全协议名称。必填。
-        - `--skip-tls-verify`:禁用 TLS 验证。
-        - `--host value`:LDAP 服务器的地址。必填。
-        - `--port value`:连接到 LDAP 服务器时使用的端口。必填。
-        - `--user-search-base value`:用户帐户将在其中搜索的 LDAP 基础路径。必填。
-        - `--user-filter value`:声明如何查找试图进行身份验证的用户记录的 LDAP 过滤器。必填。
-        - `--admin-filter value`:指定是否应授予用户管理员特权的 LDAP 过滤器。
-        - `--restricted-filter value`:指定是否应将用户设置为受限状态的 LDAP 过滤器。
-        - `--username-attribute value`:用户 LDAP 记录中包含用户名的属性。
-        - `--firstname-attribute value`:用户 LDAP 记录中包含用户名字的属性。
-        - `--surname-attribute value`:用户 LDAP 记录中包含用户姓氏的属性。
-        - `--email-attribute value`:用户 LDAP 记录中包含用户电子邮件地址的属性。必填。
-        - `--public-ssh-key-attribute value`:用户 LDAP 记录中包含用户公共 SSH 密钥的属性。
-        - `--avatar-attribute value`:用户 LDAP 记录中包含用户头像的属性。
-        - `--bind-dn value`:在搜索用户时绑定到 LDAP 服务器的 DN。
-        - `--bind-password value`:绑定 DN 的密码(如果有)。
-        - `--attributes-in-bind`:在绑定 DN 上下文中获取属性。
-        - `--synchronize-users`:启用用户同步。
-        - `--page-size value`:搜索页面大小。
-      - 示例:
-        - `gitea admin auth add-ldap --name ldap --security-protocol unencrypted --host mydomain.org --port 389 --user-search-base "ou=Users,dc=mydomain,dc=org" --user-filter "(&(objectClass=posixAccount)(|(uid=%[1]s)(mail=%[1]s)))" --email-attribute mail`
-    - `update-ldap`:更新现有的 LDAP(通过 Bind DN)认证源
-      - 选项:
-        - `--id value`:认证源的 ID。必填。
-        - `--name value`:认证名称。
-        - `--not-active`:停用认证源。
-        - `--security-protocol value`:安全协议名称。
-        - `--skip-tls-verify`:禁用 TLS 验证。
-        - `--host value`:LDAP 服务器的地址。
-        - `--port value`:连接到 LDAP 服务器时使用的端口。
-        - `--user-search-base value`:用户帐户将在其中搜索的 LDAP 基础路径。
-        - `--user-filter value`:声明如何查找试图进行身份验证的用户记录的 LDAP 过滤器。
-        - `--admin-filter value`:指定是否应授予用户管理员特权的 LDAP 过滤器。
-        - `--restricted-filter value`:指定是否应将用户设置为受限状态的 LDAP 过滤器。
-        - `--username-attribute value`:用户 LDAP 记录中包含用户名的属性。
-        - `--firstname-attribute value`:用户 LDAP 记录中包含用户名字的属性。
-        - `--surname-attribute value`:用户 LDAP 记录中包含用户姓氏的属性。
-        - `--email-attribute value`:用户 LDAP 记录中包含用户电子邮件地址的属性。
-        - `--public-ssh-key-attribute value`:用户 LDAP 记录中包含用户公共 SSH 密钥的属性。
-        - `--avatar-attribute value`:用户 LDAP 记录中包含用户头像的属性。
-        - `--bind-dn value`:在搜索用户时绑定到 LDAP 服务器的 DN。
-        - `--bind-password value`:绑定 DN 的密码(如果有)。
-        - `--attributes-in-bind`:在绑定 DN 上下文中获取属性。
-        - `--synchronize-users`:启用用户同步。
-        - `--page-size value`:搜索页面大小。
-      - 示例:
-        - `gitea admin auth update-ldap --id 1 --name "my ldap auth source"`
-        - `gitea admin auth update-ldap --id 1 --username-attribute uid --firstname-attribute givenName --surname-attribute sn`
-    - `add-ldap-simple`:添加新的 LDAP(简单身份验证)认证源
-      - 选项:
-        - `--name value`:认证名称。必填。
-        - `--not-active`:停用认证源。
-        - `--security-protocol value`:安全协议名称。必填。
-        - `--skip-tls-verify`:禁用 TLS 验证。
-        - `--host value`:LDAP 服务器的地址。必填。
-        - `--port value`:连接到 LDAP 服务器时使用的端口。必填。
-        - `--user-search-base value`:用户帐户将在其中搜索的 LDAP 基础路径。
-        - `--user-filter value`:声明如何查找试图进行身份验证的用户记录的 LDAP 过滤器。必填。
-        - `--admin-filter value`:指定是否应授予用户管理员特权的 LDAP 过滤器。
-        - `--restricted-filter value`:指定是否应将用户设置为受限状态的 LDAP 过滤器。
-        - `--username-attribute value`:用户 LDAP 记录中包含用户名的属性。
-        - `--firstname-attribute value`:用户 LDAP 记录中包含用户名字的属性。
-        - `--surname-attribute value`:用户 LDAP 记录中包含用户姓氏的属性。
-        - `--email-attribute value`:用户 LDAP 记录中包含用户电子邮件地址的属性。必填。
-        - `--public-ssh-key-attribute value`:用户 LDAP 记录中包含用户公共 SSH 密钥的属性。
-        - `--avatar-attribute value`:用户 LDAP 记录中包含用户头像的属性。
-        - `--user-dn value`:用户的 DN。必填。
-      - 示例:
-        - `gitea admin auth add-ldap-simple --name ldap --security-protocol unencrypted --host mydomain.org --port 389 --user-dn "cn=%s,ou=Users,dc=mydomain,dc=org" --user-filter "(&(objectClass=posixAccount)(cn=%s))" --email-attribute mail`
-    - `update-ldap-simple`:更新现有的 LDAP(简单身份验证)认证源
-      - 选项:
-        - `--id value`:认证源的 ID。必填。
-        - `--name value`:认证名称。
-        - `--not-active`:停用认证源。
-        - `--security-protocol value`:安全协议名称。
-        - `--skip-tls-verify`:禁用 TLS 验证。
-        - `--host value`:LDAP 服务器的地址。
-        - `--port value`:连接到 LDAP 服务器时使用的端口。
-        - `--user-search-base value`:用户帐户将在其中搜索的 LDAP 基础路径。
-        - `--user-filter value`:声明如何查找试图进行身份验证的用户记录的 LDAP 过滤器。
-        - `--admin-filter value`:指定是否应授予用户管理员特权的 LDAP 过滤器。
-        - `--restricted-filter value`:指定是否应将用户设置为受限状态的 LDAP 过滤器。
-        - `--username-attribute value`:用户 LDAP 记录中包含用户名的属性。
-        - `--firstname-attribute value`:用户 LDAP 记录中包含用户名字的属性。
-        - `--surname-attribute value`:用户 LDAP 记录中包含用户姓氏的属性。
-        - `--email-attribute value`:用户 LDAP 记录中包含用户电子邮件地址的属性。
-        - `--public-ssh-key-attribute value`:用户 LDAP 记录中包含用户公共 SSH 密钥的属性。
-        - `--avatar-attribute value`:用户 LDAP 记录中包含用户头像的属性。
-        - `--user-dn value`:用户的 DN。
-      - 示例:
-        - `gitea admin auth update-ldap-simple --id 1 --name "my ldap auth source"`
-        - `gitea admin auth update-ldap-simple --id 1 --username-attribute uid --firstname-attribute givenName --surname-attribute sn`
-
-### cert
-
-生成自签名的SSL证书。将输出到当前目录下的`cert.pem`和`key.pem`文件中,并且会覆盖任何现有文件。
-
-- 选项:
-  - `--host value`:逗号分隔的主机名和IP地址列表,此证书适用于这些主机。支持使用通配符。必填。
-  - `--ecdsa-curve value`:用于生成密钥的ECDSA曲线。可选。有效选项为P224、P256、P384、P521。
-  - `--rsa-bits value`:要生成的RSA密钥的大小。可选。如果设置了--ecdsa-curve,则忽略此选项。(默认值:3072)。
-  - `--start-date value`:证书的创建日期。可选。(格式:`Jan 1 15:04:05 2011`)。
-  - `--duration value`:证书有效期。可选。(默认值:8760h0m0s)
-  - `--ca`:如果提供此选项,则证书将生成自己的证书颁发机构。可选。
-- 示例:
-  - `gitea cert --host git.example.com,example.com,www.example.com --ca`
-
-### dump
-
-将所有文件和数据库导出到一个zip文件中。输出文件将保存在当前目录下,类似于`gitea-dump-1482906742.zip`。
-
-- 选项:
-  - `--file name`,`-f name`:指定要创建的导出文件的名称。可选。(默认值:gitea-dump-[timestamp].zip)。
-  - `--tempdir path`,`-t path`:指定临时目录的路径。可选。(默认值:/tmp)。
-  - `--skip-repository`,`-R`:跳过仓库的导出。可选。
-  - `--skip-custom-dir`:跳过自定义目录的导出。可选。
-  - `--skip-lfs-data`:跳过LFS数据的导出。可选。
-  - `--skip-attachment-data`:跳过附件数据的导出。可选。
-  - `--skip-package-data`:跳过包数据的导出。可选。
-  - `--skip-log`:跳过日志数据的导出。可选。
-  - `--database`,`-d`:指定数据库的SQL语法。可选。
-  - `--verbose`,`-V`:如果提供此选项,显示附加详细信息。可选。
-  - `--type`:设置导出的格式。可选。(默认值:zip)
-- 示例:
-  - `gitea dump`
-  - `gitea dump --verbose`
-
-### generate
-
-用于在配置文件中生成随机值和令牌。对于自动部署时生成值非常有用。
-
-- 命令:
-  - `secret`:
-    - 选项:
-      - `INTERNAL_TOKEN`: 用于内部 API 调用身份验证的令牌。
-      - `JWT_SECRET`: 用于 LFS 和 OAUTH2 JWT 身份验证的密钥(LFS_JWT_SECRET 是此选项的别名,用于向后兼容)。
-      - `SECRET_KEY`: 全局密钥。
-    - 示例:
-      - `gitea generate secret INTERNAL_TOKEN`
-      - `gitea generate secret JWT_SECRET`
-      - `gitea generate secret SECRET_KEY`
-
-### keys
-
-提供一个 SSHD AuthorizedKeysCommand。需要在 sshd 配置文件中进行配置:
-
-```ini
-...
-# -e 的值和 AuthorizedKeysCommandUser 应与运行 Gitea 的用户名匹配
-AuthorizedKeysCommandUser git
-AuthorizedKeysCommand /path/to/gitea keys -e git -u %u -t %t -k %k
-```
-
-该命令将返回适用于提供的密钥的合适 authorized_keys 行。您还应在 `app.ini` 的 `[server]` 部分设置值 `SSH_CREATE_AUTHORIZED_KEYS_FILE=false`。
-
-注意: opensshd 要求 Gitea 程序由 root 拥有,并且不可由组或其他人写入。程序必须使用绝对路径指定。
-注意: Gitea 必须在运行此命令时处于运行状态才能成功。
-
-### migrate
-
-迁移数据库。该命令可用于在首次启动服务器之前运行其他命令。此命令是幂等的。
-
-### doctor check
-
-对 Gitea 实例进行诊断,可以修复一些可修复的问题。
-默认只运行部分检查,额外的检查可以参考:
-
-- `gitea doctor check --list` - 列出所有可用的检查
-- `gitea doctor check --all` - 运行所有可用的检查
-- `gitea doctor check --default` - 运行默认的检查
-- `gitea doctor check --run [check(s),]...` - 运行指定的名字的检查
-
-有些问题可以通过设置 `--fix` 选项进行自动修复。
-额外的日志可以通过 `--log-file=...` 进行设置。
-
-#### doctor recreate-table
-
-有时,在迁移时,旧的列和默认值可能会在数据库模式中保持不变。这可能会导致警告,如下所示:
-
-```
-2020/08/02 11:32:29 ...rm/session_schema.go:360:Sync() [W] Table user Column keep_activity_private db default is , struct default is 0
-```
-
-您可以通过以下方式让 Gitea 重新创建这些表,并将旧数据复制到新表中,并适当设置默认值:
-
-```
-gitea doctor recreate-table user
-```
-
-您可以使用以下方式让 Gitea 重新创建多个表:
-
-```
-gitea doctor recreate-table table1 table2 ...
-```
-
-如果您希望 Gitea 重新创建所有表,请直接调用:
-
-```
-gitea doctor recreate-table
-```
-
-强烈建议在运行这些命令之前备份您的数据库。
-
-### doctor convert
-
-将现有的 MySQL 数据库从 utf8 转换为 utf8mb4,或者把 MSSQL 数据库从 varchar 转换为 nvarchar。
-
-### manager
-
-管理运行中的服务器操作:
-
-- 命令:
-  - `shutdown`: 优雅地关闭运行中的进程
-  - `restart`: 优雅地重新启动运行中的进程(对于Windows服务器尚未实现)
-  - `flush-queues`: 刷新运行中的进程中的队列
-    - 选项:
-      - `--timeout value`: 刷新过程的超时时间(默认值: 1m0s)
-      - `--non-blocking`: 设置为true,以在返回之前不等待刷新完成
-  - `logging`: 调整日志命令
-    - 命令:
-      - `pause`: 暂停日志记录
-        - 注意:
-          - 如果日志级别低于此级别,日志级别将被临时提升为INFO。
-          - Gitea将在一定程度上缓冲日志,并在超过该点后丢弃日志。
-      - `resume`: 恢复日志记录
-      - `release-and-reopen`: 使Gitea释放和重新打开用于日志记录的文件和连接(相当于向Gitea发送SIGUSR1信号)。
-      - `remove name`: 删除指定的日志记录器
-        - 选项:
-          - `--group group`, `-g group`: 从中删除子记录器的组(默认为`default`)
-      - `add`: 添加日志记录器
-        - 命令:
-          - `console`: 添加控制台日志记录器
-            - 选项:
-              - `--group value`, `-g value`: 要添加日志记录器的组 - 默认为"default"
-              - `--name value`, `-n value`: 新日志记录器的名称 - 默认为模式
-              - `--level value`, `-l value`: 新日志记录器的日志级别
-              - `--stacktrace-level value`, `-L value`: 堆栈跟踪日志级别
-              - `--flags value`, `-F value`: 日志记录器的标志
-              - `--expression value`, `-e value`: 日志记录器的匹配表达式
-              - `--prefix value`, `-p value`: 日志记录器的前缀
-              - `--color`: 在日志中使用颜色
-              - `--stderr`: 将控制台日志输出到stderr - 仅适用于控制台
-          - `file`: 添加文件日志记录器
-            - 选项:
-              - `--group value`, `-g value`: 要添加日志记录器的组 - 默认为"default"
-              - `--name value`, `-n value`: 新日志记录器的名称 - 默认为模式
-              - `--level value`, `-l value`: 新日志记录器的日志级别
-              - `--stacktrace-level value`, `-L value`: 堆栈跟踪日志级别
-              - `--flags value`, `-F value`: 日志记录器的标志
-              - `--expression value`, `-e value`: 日志记录器的匹配表达式
-              - `--prefix value`, `-p value`: 日志记录器的前缀
-              - `--color`: 在日志中使用颜色
-              - `--filename value`, `-f value`: 日志记录器的文件名
-              - `--rotate`, `-r`: 轮转日志
-              - `--max-size value`, `-s value`: 在轮转之前的最大大小(以字节为单位)
-              - `--daily`, `-d`: 每天轮转日志
-              - `--max-days value`, `-D value`: 保留的每日日志的最大数量
-              - `--compress`, `-z`: 压缩轮转的日志
-              - `--compression-level value`, `-Z value`: 使用的压缩级别
-          - `conn`: 添加网络连接日志记录器
-            - 选项:
-              - `--group value`, `-g value`: 要添加日志记录器的组 - 默认为"default"
-              - `--name value`, `-n value`: 新日志记录器的名称 - 默认为模式
-              - `--level value`, `-l value`: 新日志记录器的日志级别
-              - `--stacktrace-level value`, `-L value`: 堆栈跟踪日志级别
-              - `--flags value`, `-F value`: 日志记录器的标志
-              - `--expression value`, `-e value`: 日志记录器的匹配表达式
-              - `--prefix value`, `-p value`: 日志记录器的前缀
-              - `--color`: 在日志中使用颜色
-              - `--reconnect-on-message`, `-R`: 对于每个消息重新连接主机
-              - `--reconnect`, `-r`: 连接中断时重新连接主机
-              - `--protocol value`, `-P value`: 设置要使用的协议:tcp、unix或udp(默认为tcp)
-              - `--address value`, `-a value`: 要连接到的主机地址和端口(默认为:7020)
-          - `smtp`: 添加SMTP日志记录器
-            - 选项:
-              - `--group value`, `-g value`: 要添加日志记录器的组 - 默认为"default"
-              - `--name value`, `-n value`: 新日志记录器的名称 - 默认为模式
-              - `--level value`, `-l value`: 新日志记录器的日志级别
-              - `--stacktrace-level value`, `-L value`: 堆栈跟踪日志级别
-              - `--flags value`, `-F value`: 日志记录器的标志
-              - `--expression value`, `-e value`: 日志记录器的匹配表达式
-              - `--prefix value`, `-p value`: 日志记录器的前缀
-              - `--color`: 在日志中使用颜色
-              - `--username value`, `-u value`: 邮件服务器用户名
-              - `--password value`, `-P value`: 邮件服务器密码
-              - `--host value`, `-H value`: 邮件服务器主机(默认为: 127.0.0.1:25)
-              - `--send-to value`, `-s value`: 要发送到的电子邮件地址
-              - `--subject value`, `-S value`: 发送电子邮件的主题标题
-  - `processes`: 显示 Gitea 进程和 Goroutine 信息
-    - 选项:
-      - `--flat`: 以平面表格形式显示进程,而不是树形结构
-      - `--no-system`: 不显示系统进程
-      - `--stacktraces`: 显示与进程关联的 Goroutine 的堆栈跟踪
-      - `--json`: 输出为 JSON 格式
-      - `--cancel PID`: 向具有 PID 的进程发送取消命令(仅适用于非系统进程)
-
-### dump-repo
-
-`dump-repo` 从 Git/GitHub/Gitea/GitLab 中转储存储库数据:
-
-- 选项:
-  - `--git_service service`:Git 服务,可以是 `git`、`github`、`gitea`、`gitlab`。如果 `clone_addr` 可以被识别,则可以忽略此选项。
-  - `--repo_dir dir`,`-r dir`:存储数据的存储库目录路径。
-  - `--clone_addr addr`:将被克隆的 URL,目前可以是 git/github/gitea/gitlab 的 http/https URL。例如:https://github.com/lunny/tango.git
-  - `--auth_username lunny`:访问 `clone_addr` 的用户名。
-  - `--auth_password `:访问 `clone_addr` 的密码。
-  - `--auth_token `:访问 `clone_addr` 的个人令牌。
-  - `--owner_name lunny`:如果非空,数据将存储在具有所有者名称的目录中。
-  - `--repo_name tango`:如果非空,数据将存储在具有存储库名称的目录中。
-  - `--units `:要迁移的项目,一个或多个项目应以逗号分隔。允许的项目有 wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments。如果为空,则表示所有项目。
-
-### restore-repo
-
-`restore-repo` 从磁盘目录中还原存储库数据:
-
-- 选项:
-  - `--repo_dir dir`,`-r dir`:还原数据的存储库目录路径。
-  - `--owner_name lunny`:还原目标所有者名称。
-  - `--repo_name tango`:还原目标存储库名称。
-  - `--units `:要还原的项目,一个或多个项目应以逗号分隔。允许的项目有 wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments。如果为空,则表示所有项目。
-
-### actions generate-runner-token
-
-生成一个供 Runner 使用的新令牌,用于向服务器注册。
-
-- 选项:
-  - `--scope {owner}[/{repo}]`,`-s {owner}[/{repo}]`:限制 Runner 的范围,没有范围表示该 Runner 可用于所有仓库,但你也可以将其限制为特定的仓库或所有者。
-
-要注册全局 Runner:
-
-```
-gitea actions generate-runner-token
-```
-
-要注册特定组织的 Runner,例如 `org`:
-
-```
-gitea actions generate-runner-token -s org
-```
-
-要注册特定仓库的 Runner,例如 `username/test-repo`:
-
-```
-gitea actions generate-runner-token -s username/test-repo
-```
diff --git a/docs/content/administration/config-cheat-sheet.en-us.md b/docs/content/administration/config-cheat-sheet.en-us.md
deleted file mode 100644
index 2309021f949..00000000000
--- a/docs/content/administration/config-cheat-sheet.en-us.md
+++ /dev/null
@@ -1,1429 +0,0 @@
----
-date: "2016-12-26T16:00:00+02:00"
-title: "Config Cheat Sheet"
-slug: "config-cheat-sheet"
-sidebar_position: 30
-toc: false
-draft: false
-aliases:
-  - /en-us/config-cheat-sheet
-menu:
-  sidebar:
-    parent: "administration"
-    name: "Config Cheat Sheet"
-    sidebar_position: 30
-    identifier: "config-cheat-sheet"
----
-
-# Configuration Cheat Sheet
-
-This is a cheat sheet for the Gitea configuration file. It contains most of the settings
-that can be configured as well as their default values.
-
-Any changes to the Gitea configuration file should be made in `custom/conf/app.ini`
-or any corresponding location. When installing from a distribution, this will
-typically be found at `/etc/gitea/conf/app.ini`.
-
-The defaults provided here are best-effort (not built automatically). They are
-accurately recorded in [app.example.ini](https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini)
-(s/main/\). Any string in the format `%(X)s` is a feature powered
-by [ini](https://github.com/go-ini/ini/#recursive-values), for reading values recursively.
-
-In the default values below, a value in the form `$XYZ` refers to an environment variable. (However, see `environment-to-ini`.) Values in the form  _`XxYyZz`_ refer to values listed as part of the default configuration. These notation forms will not work in your own `app.ini` file and are only listed here as documentation.
-
-Values containing `#` or `;` must be quoted using `` ` `` or `"""`.
-
-**Note:** A full restart is required for Gitea configuration changes to take effect.
-
-## Default Configuration (non-`app.ini` configuration)
-
-These values are environment-dependent but form the basis of a lot of values. They will be
-reported as part of the default configuration when running `gitea help` or on start-up. The order they are emitted there is slightly different but we will list them here in the order they are set-up.
-
-- _`AppPath`_: This is the absolute path of the running gitea binary.
-- _`AppWorkPath`_: This refers to "working path" of the `gitea` binary. It is determined by using the first set thing in the following hierarchy:
-  - The `WORK_PATH` option in `app.ini`
-  - The `--work-path` flag passed to the binary
-  - The environment variable `$GITEA_WORK_DIR`
-  - A built-in value set at build time (see building from source)
-  - Otherwise, it defaults to the directory of the _`AppPath`_
-  - If any of the above are relative paths then they are made absolute against the directory of the _`AppPath`_
-- _`CustomPath`_: This is the base directory for custom templates and other options.
-It is determined by using the first set thing in the following hierarchy:
-  - The `--custom-path` flag passed to the binary
-  - The environment variable `$GITEA_CUSTOM`
-  - A built-in value set at build time (see building from source)
-  - Otherwise, it defaults to _`AppWorkPath`_`/custom`
-  - If any of the above are relative paths then they are made absolute against the
-the directory of the _`AppWorkPath`_
-- _`CustomConf`_: This is the path to the `app.ini` file.
-  - The `--config` flag passed to the binary
-  - A built-in value set at build time (see building from source)
-  - Otherwise, it defaults to _`CustomPath`_`/conf/app.ini`
-  - If any of the above are relative paths then they are made absolute against the directory of the _`CustomPath`_
-
-In addition, there is _`StaticRootPath`_ which can be set as a built-in at build time, but will otherwise default to _`AppWorkPath`_
-
-## Overall (`DEFAULT`)
-
-- `APP_NAME`: **Gitea: Git with a cup of tea**: Application name, used in the page title.
-- `RUN_USER`: **_current OS username_/`$USER`/`$USERNAME` e.g. git**: The user Gitea will run as.
-   This should be a dedicated system (non-user) account. Setting this incorrectly will cause Gitea
-   to not start.
-- `RUN_MODE`: **prod**: Application run mode, affects performance and debugging: `dev` or `prod`, default is `prod`. Mode `dev` makes Gitea easier to develop and debug, values other than `dev` are treated as `prod` which is for production use.
-- `WORK_PATH`: **_the-work-path_**: The working directory, see the comment of AppWorkPath above.
-
-## Repository (`repository`)
-
-- `ROOT`: **%(APP_DATA_PATH)s/gitea-repositories**: Root path for storing all repository data.
-   A relative path is interpreted as **_`AppWorkPath`_/%(ROOT)s**.
-- `SCRIPT_TYPE`: **bash**: The script type this server supports. Usually this is `bash`,
-   but some users report that only `sh` is available.
-- `DETECTED_CHARSETS_ORDER`: **UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE, ISO-8859, windows-1252, ISO-8859, windows-1250, ISO-8859, ISO-8859, ISO-8859, windows-1253, ISO-8859, windows-1255, ISO-8859, windows-1251, windows-1256, KOI8-R, ISO-8859, windows-1254, Shift_JIS, GB18030, EUC-JP, EUC-KR, Big5, ISO-2022, ISO-2022, ISO-2022, IBM424_rtl, IBM424_ltr, IBM420_rtl, IBM420_ltr**: Tie-break order of detected charsets - if the detected charsets have equal confidence, charsets earlier in the list will be chosen in preference to those later. Adding `defaults` will place the unnamed charsets at that point.
-- `ANSI_CHARSET`: **_empty_**: Default ANSI charset to override non-UTF-8 charsets to.
-- `FORCE_PRIVATE`: **false**: Force every new repository to be private.
-- `DEFAULT_PRIVATE`: **last**: Default private when creating a new repository.
-   \[last, private, public\]
-- `DEFAULT_PUSH_CREATE_PRIVATE`: **true**: Default private when creating a new repository with push-to-create.
-- `MAX_CREATION_LIMIT`: **-1**: Global maximum creation limit of repositories per user,
-   `-1` means no limit.
-- `PREFERRED_LICENSES`: **Apache License 2.0,MIT License**: Preferred Licenses to place at
-   the top of the list. Name must match file name in options/license or custom/options/license.
-- `DISABLE_HTTP_GIT`: **false**: Disable the ability to interact with repositories over the
-   HTTP protocol.
-- `USE_COMPAT_SSH_URI`: **false**: Force ssh:// clone url instead of scp-style uri when
-   default SSH port is used.
-- `GO_GET_CLONE_URL_PROTOCOL`: **https**: Value for the "go get" request returns the repository url as https or ssh
-   default is https.
-- `ACCESS_CONTROL_ALLOW_ORIGIN`: **_empty_**: Value for Access-Control-Allow-Origin header,
-   default is not to present. **WARNING**: This maybe harmful to you website if you do not
-   give it a right value.
-- `DEFAULT_CLOSE_ISSUES_VIA_COMMITS_IN_ANY_BRANCH`:  **false**: Close an issue if a commit on a non default branch marks it as closed.
-- `ENABLE_PUSH_CREATE_USER`:  **false**: Allow users to push local repositories to Gitea and have them automatically created for a user.
-- `ENABLE_PUSH_CREATE_ORG`:  **false**: Allow users to push local repositories to Gitea and have them automatically created for an org.
-- `DISABLED_REPO_UNITS`: **_empty_**: Comma separated list of globally disabled repo units. Allowed values: \[repo.issues, repo.ext_issues, repo.pulls, repo.wiki, repo.ext_wiki, repo.projects, repo.packages, repo.actions\]
-- `DEFAULT_REPO_UNITS`: **repo.code,repo.releases,repo.issues,repo.pulls,repo.wiki,repo.projects,repo.packages,repo.actions**: Comma separated list of default new repo units. Allowed values: \[repo.code, repo.releases, repo.issues, repo.pulls, repo.wiki, repo.projects, repo.packages, repo.actions\]. Note: Code and Releases can currently not be deactivated. If you specify default repo units you should still list them for future compatibility. External wiki and issue tracker can't be enabled by default as it requires additional settings. Disabled repo units will not be added to new repositories regardless if it is in the default list.
-- `DEFAULT_FORK_REPO_UNITS`: **repo.code,repo.pulls**: Comma separated list of default forked repo units. The set of allowed values and rules is the same as `DEFAULT_REPO_UNITS`.
-- `PREFIX_ARCHIVE_FILES`: **true**: Prefix archive files by placing them in a directory named after the repository.
-- `DISABLE_MIGRATIONS`: **false**: Disable migrating feature.
-- `DISABLE_STARS`: **false**: Disable stars feature.
-- `DEFAULT_BRANCH`: **main**: Default branch name of all repositories.
-- `ALLOW_ADOPTION_OF_UNADOPTED_REPOSITORIES`: **false**: Allow non-admin users to adopt unadopted repositories
-- `ALLOW_DELETION_OF_UNADOPTED_REPOSITORIES`: **false**: Allow non-admin users to delete unadopted repositories
-- `DISABLE_DOWNLOAD_SOURCE_ARCHIVES`: **false**: Don't allow download source archive files from UI
-- `ALLOW_FORK_WITHOUT_MAXIMUM_LIMIT`: **true**: Allow fork repositories without maximum number limit
-
-### Repository - Editor (`repository.editor`)
-
-- `LINE_WRAP_EXTENSIONS`: **.txt,.md,.markdown,.mdown,.mkd,.livemd,**: List of file extensions for which lines should be wrapped in the Monaco editor. Separate extensions with a comma. To line wrap files without an extension, just put a comma
-- `PREVIEWABLE_FILE_MODES`: **markdown**: Valid file modes that have a preview API associated with them, such as `api/v1/markdown`. Separate the values by commas. The preview tab in edit mode won't be displayed if the file extension doesn't match.
-
-### Repository - Pull Request (`repository.pull-request`)
-
-- `WORK_IN_PROGRESS_PREFIXES`: **WIP:,\[WIP\]**: List of prefixes used in Pull Request
- title to mark them as Work In Progress. These are matched in a case-insensitive manner.
-- `CLOSE_KEYWORDS`: **close**, **closes**, **closed**, **fix**, **fixes**, **fixed**, **resolve**, **resolves**, **resolved**: List of
- keywords used in Pull Request comments to automatically close a related issue
-- `REOPEN_KEYWORDS`: **reopen**, **reopens**, **reopened**: List of keywords used in Pull Request comments to automatically reopen
- a related issue
-- `DEFAULT_MERGE_STYLE`: **merge**: Set default merge style for repository creating, valid options: `merge`, `rebase`, `rebase-merge`, `squash`, `fast-forward-only`
-- `DEFAULT_MERGE_MESSAGE_COMMITS_LIMIT`: **50**: In the default merge message for squash commits include at most this many commits. Set to `-1` to include all commits
-- `DEFAULT_MERGE_MESSAGE_SIZE`: **5120**: In the default merge message for squash commits limit the size of the commit messages. Set to `-1` to have no limit. Only used if `POPULATE_SQUASH_COMMENT_WITH_COMMIT_MESSAGES` is `true`.
-- `DEFAULT_MERGE_MESSAGE_ALL_AUTHORS`: **false**: In the default merge message for squash commits walk all commits to include all authors in the Co-authored-by otherwise just use those in the limited list
-- `DEFAULT_MERGE_MESSAGE_MAX_APPROVERS`: **10**: In default merge messages limit the number of approvers listed as `Reviewed-by:`. Set to `-1` to include all.
-- `DEFAULT_MERGE_MESSAGE_OFFICIAL_APPROVERS_ONLY`: **true**: In default merge messages only include approvers who are officially allowed to review.
-- `POPULATE_SQUASH_COMMENT_WITH_COMMIT_MESSAGES`: **false**: In default squash-merge messages include the commit message of all commits comprising the pull request.
-- `ADD_CO_COMMITTER_TRAILERS`: **true**: Add co-authored-by and co-committed-by trailers to merge commit messages if committer does not match author.
-- `TEST_CONFLICTING_PATCHES_WITH_GIT_APPLY`: **false**: PR patches are tested using a three-way merge method to discover if there are conflicts. If this setting is set to **true**, conflicting patches will be retested using `git apply` - This was the previous behaviour in 1.18 (and earlier) but is somewhat inefficient. Please report if you find that this setting is required.
-- `RETARGET_CHILDREN_ON_MERGE`: **true**: Retarget child pull requests to the parent pull request branch target on merge of parent pull request. It only works on merged PRs where the head and base branch target the same repo.
-
-### Repository - Issue (`repository.issue`)
-
-- `LOCK_REASONS`: **Too heated,Off-topic,Resolved,Spam**: A list of reasons why a Pull Request or Issue can be locked
-- `MAX_PINNED`: **3**: Maximum number of pinned Issues per Repo. Set to 0 to disable pinning Issues.
-
-### Repository - Upload (`repository.upload`)
-
-- `ENABLED`: **true**: Whether repository file uploads are enabled
-- `TEMP_PATH`: **data/tmp/uploads**: Path for uploads (content gets deleted on Gitea restart)
-- `ALLOWED_TYPES`: **_empty_**: Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types.
-- `FILE_MAX_SIZE`: **50**: Max size of each file in megabytes.
-- `MAX_FILES`: **5**: Max number of files per upload
-
-### Repository - Release (`repository.release`)
-
-- `ALLOWED_TYPES`: **_empty_**: Comma-separated list of allowed file extensions (`.zip`), mime types (`text/plain`) or wildcard type (`image/*`, `audio/*`, `video/*`). Empty value or `*/*` allows all types.
-- `DEFAULT_PAGING_NUM`: **10**: The default paging number of releases user interface
-- For settings related to file attachments on releases, see the `attachment` section.
-
-### Repository - Signing (`repository.signing`)
-
-- `SIGNING_KEY`: **default**: \[none, KEYID, default \]: Key to sign with.
-- `SIGNING_NAME` & `SIGNING_EMAIL`: if a KEYID is provided as the `SIGNING_KEY`, use these as the Name and Email address of the signer. These should match publicized name and email address for the key.
-- `INITIAL_COMMIT`: **always**: \[never, pubkey, twofa, always\]: Sign initial commit.
-  - `never`: Never sign
-  - `pubkey`: Only sign if the user has a public key
-  - `twofa`: Only sign if the user is logged in with twofa
-  - `always`: Always sign
-  - Options other than `never` and `always` can be combined as a comma separated list.
-- `DEFAULT_TRUST_MODEL`: **collaborator**: \[collaborator, committer, collaboratorcommitter\]: The default trust model used for verifying commits.
-  - `collaborator`: Trust signatures signed by keys of collaborators.
-  - `committer`: Trust signatures that match committers (This matches GitHub and will force Gitea signed commits to have Gitea as the committer).
-  - `collaboratorcommitter`: Trust signatures signed by keys of collaborators which match the committer.
-- `WIKI`: **never**: \[never, pubkey, twofa, always, parentsigned\]: Sign commits to wiki.
-- `CRUD_ACTIONS`: **pubkey, twofa, parentsigned**: \[never, pubkey, twofa, parentsigned, always\]: Sign CRUD actions.
-  - Options as above, with the addition of:
-  - `parentsigned`: Only sign if the parent commit is signed.
-- `MERGES`: **pubkey, twofa, basesigned, commitssigned**: \[never, pubkey, twofa, approved, basesigned, commitssigned, always\]: Sign merges.
-  - `approved`: Only sign approved merges to a protected branch.
-  - `basesigned`: Only sign if the parent commit in the base repo is signed.
-  - `headsigned`: Only sign if the head commit in the head branch is signed.
-  - `commitssigned`: Only sign if all the commits in the head branch to the merge point are signed.
-
-## Repository - Local (`repository.local`)
-
-- `LOCAL_COPY_PATH`: **tmp/local-repo**: Path for temporary local repository copies. Defaults to `tmp/local-repo` (content gets deleted on Gitea restart)
-
-## Repository -  MIME type mapping (`repository.mimetype_mapping`)
-
-Configuration for set the expected MIME type based on file extensions of downloadable files. Configuration presents in key-value pairs and file extensions starts with leading `.`.
-
-The following configuration set `Content-Type: application/vnd.android.package-archive` header when downloading files with `.apk` file extension.
-
-```ini
-.apk=application/vnd.android.package-archive
-```
-
-## CORS (`cors`)
-
-- `ENABLED`: **false**: enable cors headers (disabled by default)
-- `ALLOW_DOMAIN`: **\***: list of requesting origins that are allowed, eg: "https://*.example.com"
-- `METHODS`: **GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS**: list of methods allowed to request
-- `MAX_AGE`: **10m**: max time to cache response
-- `ALLOW_CREDENTIALS`: **false**: allow request with credentials
-- `HEADERS`: **Content-Type,User-Agent**: additional headers that are permitted in requests
-- `X_FRAME_OPTIONS`: **SAMEORIGIN**: Set the `X-Frame-Options` header value.
-
-## UI (`ui`)
-
-- `EXPLORE_PAGING_NUM`: **20**: Number of repositories that are shown in one explore page.
-- `ISSUE_PAGING_NUM`: **20**: Number of issues that are shown in one page (for all pages that list issues, milestones, projects).
-- `MEMBERS_PAGING_NUM`: **20**: Number of members that are shown in organization members.
-- `FEED_MAX_COMMIT_NUM`: **5**: Number of maximum commits shown in one activity feed.
-- `FEED_PAGING_NUM`: **20**: Number of items that are displayed in home feed.
-- `SITEMAP_PAGING_NUM`: **20**: Number of items that are displayed in a single subsitemap.
-- `GRAPH_MAX_COMMIT_NUM`: **100**: Number of maximum commits shown in the commit graph.
-- `CODE_COMMENT_LINES`: **4**: Number of line of codes shown for a code comment.
-- `DEFAULT_THEME`: **gitea-auto**: \[gitea-auto, gitea-light, gitea-dark\]: Set the default theme for the Gitea installation.
-- `SHOW_USER_EMAIL`: **true**: Whether the email of the user should be shown in the Explore Users page.
-- `THEMES`:  **gitea-auto,gitea-light,gitea-dark**: All available themes. Allow users select personalized themes.
-  regardless of the value of `DEFAULT_THEME`.
-- `MAX_DISPLAY_FILE_SIZE`: **8388608**: Max size of files to be displayed (default is 8MiB)
-- `AMBIGUOUS_UNICODE_DETECTION`: **true**: Detect ambiguous unicode characters in file contents and show warnings on the UI
-- `REACTIONS`: All available reactions users can choose on issues/prs and comments
-    Values can be emoji alias (:smile:) or a unicode emoji.
-    For custom reactions, add a tightly cropped square image to public/assets/img/emoji/reaction_name.png
-- `REACTION_MAX_USER_NUM`: **10**: Change the number of users that are displayed in reactions tooltip (triggered by mouse hover).
-- `CUSTOM_EMOJIS`: **gitea, codeberg, gitlab, git, github, gogs**: Additional Emojis not defined in the utf8 standard.
-    By default, we support Gitea (:gitea:), to add more copy them to public/assets/img/emoji/emoji_name.png and
-    add it to this config.
-- `DEFAULT_SHOW_FULL_NAME`: **false**: Whether the full name of the users should be shown where possible. If the full name isn't set, the username will be used.
-- `SEARCH_REPO_DESCRIPTION`: **true**: Whether to search within description at repository search on explore page.
-- `ONLY_SHOW_RELEVANT_REPOS`: **false**: Whether to only show relevant repos on the explore page when no keyword is specified and default sorting is used.
-    A repo is considered irrelevant if it's a fork or if it has no metadata (no description, no icon, no topic).
-- `EXPLORE_PAGING_DEFAULT_SORT`: **recentupdate**: Change the sort type of the explore pages. Valid values are "recentupdate", "alphabetically", "reverselastlogin", "newest" and "oldest"
-- `PREFERRED_TIMESTAMP_TENSE`: **mixed**: The tense all timestamps should be rendered in. Possible values are `absolute` time (i.e. 1970-01-01, 11:59) and `mixed`. `mixed` means most timestamps are rendered in relative time (i.e. 2 days ago).
-
-### UI - Admin (`ui.admin`)
-
-- `USER_PAGING_NUM`: **50**: Number of users that are shown in one page.
-- `REPO_PAGING_NUM`: **50**: Number of repos that are shown in one page.
-- `NOTICE_PAGING_NUM`: **25**: Number of notices that are shown in one page.
-- `ORG_PAGING_NUM`: **50**: Number of organizations that are shown in one page.
-
-### UI - User (`ui.user`)
-
-- `REPO_PAGING_NUM`: **15**: Number of repos that are shown in one page.
-
-### UI - Metadata (`ui.meta`)
-
-- `AUTHOR`: **Gitea - Git with a cup of tea**: Author meta tag of the homepage.
-- `DESCRIPTION`: **Gitea (Git with a cup of tea) is a painless self-hosted Git service written in Go**: Description meta tag of the homepage.
-- `KEYWORDS`: **go,git,self-hosted,gitea**: Keywords meta tag of the homepage.
-
-### UI - Notification (`ui.notification`)
-
-- `MIN_TIMEOUT`: **10s**: These options control how often notification endpoint is polled to update the notification count. On page load the notification count will be checked after `MIN_TIMEOUT`. The timeout will increase to `MAX_TIMEOUT` by `TIMEOUT_STEP` if the notification count is unchanged. Set MIN_TIMEOUT to -1 to turn off.
-- `MAX_TIMEOUT`: **60s**.
-- `TIMEOUT_STEP`: **10s**.
-- `EVENT_SOURCE_UPDATE_TIME`: **10s**: This setting determines how often the database is queried to update notification counts. If the browser client supports `EventSource` and `SharedWorker`, a `SharedWorker` will be used in preference to polling notification endpoint. Set to **-1** to disable the `EventSource`.
-
-### UI - SVG Images (`ui.svg`)
-
-- `ENABLE_RENDER`: **true**: Whether to render SVG files as images.  If SVG rendering is disabled, SVG files are displayed as text and cannot be embedded in markdown files as images.
-
-### UI - CSV Files (`ui.csv`)
-
-- `MAX_FILE_SIZE`: **524288** (512kb): Maximum allowed file size in bytes to render CSV files as table. (Set to 0 for no limit).
-
-## Markdown (`markdown`)
-
-- `ENABLE_HARD_LINE_BREAK_IN_COMMENTS`: **true**: Render soft line breaks as hard line breaks in comments, which
-  means a single newline character between paragraphs will cause a line break and adding
-  trailing whitespace to paragraphs is not necessary to force a line break.
-- `ENABLE_HARD_LINE_BREAK_IN_DOCUMENTS`: **false**: Render soft line breaks as hard line breaks in documents, which
-  means a single newline character between paragraphs will cause a line break and adding
-  trailing whitespace to paragraphs is not necessary to force a line break.
-- `CUSTOM_URL_SCHEMES`: Use a comma separated list (ftp,git,svn) to indicate additional
-  URL hyperlinks to be rendered in Markdown. URLs beginning in http and https are
-  always displayed. If this entry is empty, all URL schemes are allowed
-- `FILE_EXTENSIONS`: **.md,.markdown,.mdown,.mkd,.livemd**: List of file extensions that should be rendered/edited as Markdown. Separate the extensions with a comma. To render files without any extension as markdown, just put a comma.
-- `ENABLE_MATH`: **true**: Enables detection of `\(...\)`, `\[...\]`, `$...$` and `$$...$$` blocks as math blocks.
-
-## Server (`server`)
-
-- `APP_DATA_PATH`: **_`AppWorkPath`_/data**: This is the default root path for storing data.
-- `PROTOCOL`: **http**: \[http, https, fcgi, http+unix, fcgi+unix\]
-  - Note: Value must be lowercase.
-- `USE_PROXY_PROTOCOL`: **false**: Expect PROXY protocol headers on connections
-- `PROXY_PROTOCOL_TLS_BRIDGING`: **false**: When protocol is https, expect PROXY protocol headers after TLS negotiation.
-- `PROXY_PROTOCOL_HEADER_TIMEOUT`: **5s**: Timeout to wait for PROXY protocol header (set to 0 to have no timeout)
-- `PROXY_PROTOCOL_ACCEPT_UNKNOWN`: **false**: Accept PROXY protocol headers with Unknown type.
-- `DOMAIN`: **localhost**: Domain name of this server.
-- `ROOT_URL`: **%(PROTOCOL)s://%(DOMAIN)s:%(HTTP\_PORT)s/**:
-   Overwrite the automatically generated public URL.
-   This is useful if the internal and the external URL don't match (e.g. in Docker).
-- `STATIC_URL_PREFIX`: **_empty_**:
-   Overwrite this option to request static resources from a different URL.
-   This includes CSS files, images, JS files and web fonts.
-   Avatar images are dynamic resources and still served by Gitea.
-   The option can be just a different path, as in `/static`, or another domain, as in `https://cdn.example.com`.
-   Requests are then made as `%(ROOT_URL)s/static/assets/css/index.css` or `https://cdn.example.com/assets/css/index.css` respectively.
-   The static files are located in the `public/` directory of the Gitea source repository.
-   You can proxy the STATIC_URL_PREFIX requests to Gitea server to serve the static
-   assets, or copy the manually built Gitea assets from `$GITEA_BUILD/public` to
-   the assets location, eg: `/var/www/assets`, make sure `$STATIC_URL_PREFIX/assets/css/index.css`
-   points to `/var/www/assets/css/index.css`.
-
-- `HTTP_ADDR`: **0.0.0.0**: HTTP listen address.
-  - If `PROTOCOL` is set to `fcgi`, Gitea will listen for FastCGI requests on TCP socket
-     defined by `HTTP_ADDR` and `HTTP_PORT` configuration settings.
-  - If `PROTOCOL` is set to `http+unix` or `fcgi+unix`, this should be the name of the Unix socket file to use. Relative paths will be made absolute against the _`AppWorkPath`_.
-- `HTTP_PORT`: **3000**: HTTP listen port.
-  - If `PROTOCOL` is set to `fcgi`, Gitea will listen for FastCGI requests on TCP socket
-     defined by `HTTP_ADDR` and `HTTP_PORT` configuration settings.
-- `UNIX_SOCKET_PERMISSION`: **666**: Permissions for the Unix socket.
-- `LOCAL_ROOT_URL`: **%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/**: Local
-   (DMZ) URL for Gitea workers (such as SSH update) accessing web service. In
-   most cases you do not need to change the default value. Alter it only if
-   your SSH server node is not the same as HTTP node. For different protocol, the default
-   values are different. If `PROTOCOL` is `http+unix`, the default value is `http://unix/`.
-   If `PROTOCOL` is `fcgi` or `fcgi+unix`, the default value is `%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/`.
-   If listen on `0.0.0.0`, the default value is `%(PROTOCOL)s://localhost:%(HTTP_PORT)s/`, Otherwise the default
-   value is `%(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/`.
-- `LOCAL_USE_PROXY_PROTOCOL`: **%(USE_PROXY_PROTOCOL)s**: When making local connections pass the PROXY protocol header.
-   This should be set to false if the local connection will go through the proxy.
-- `PER_WRITE_TIMEOUT`: **30s**: Timeout for any write to the connection. (Set to -1 to
-   disable all timeouts.)
-- `PER_WRITE_PER_KB_TIMEOUT`: **10s**: Timeout per Kb written to connections.
-
-- `DISABLE_SSH`: **false**: Disable SSH feature when it's not available.
-- `START_SSH_SERVER`: **false**: When enabled, use the built-in SSH server.
-- `SSH_SERVER_USE_PROXY_PROTOCOL`: **false**: Expect PROXY protocol header on connections to the built-in SSH Server.
-- `BUILTIN_SSH_SERVER_USER`: **%(RUN_USER)s**: Username to use for the built-in SSH Server.
-- `SSH_USER`: **%(BUILTIN_SSH_SERVER_USER)s**: SSH username displayed in clone URLs. This is only for people who configure the SSH server themselves; in most cases, you want to leave this blank and modify the `BUILTIN_SSH_SERVER_USER`.
-- `SSH_DOMAIN`: **%(DOMAIN)s**: Domain name of this server, used for displayed clone URL.
-- `SSH_PORT`: **22**: SSH port displayed in clone URL.
-- `SSH_LISTEN_HOST`: **0.0.0.0**: Listen address for the built-in SSH server.
-- `SSH_LISTEN_PORT`: **%(SSH\_PORT)s**: Port for the built-in SSH server.
-- `SSH_ROOT_PATH`: **~/.ssh**: Root path of SSH directory.
-- `SSH_CREATE_AUTHORIZED_KEYS_FILE`: **true**: Gitea will create a authorized_keys file by default when it is not using the internal ssh server. If you intend to use the AuthorizedKeysCommand functionality then you should turn this off.
-- `SSH_AUTHORIZED_KEYS_BACKUP`: **false**: Enable SSH Authorized Key Backup when rewriting all keys, default is false.
-- `SSH_TRUSTED_USER_CA_KEYS`: **_empty_**: Specifies the public keys of certificate authorities that are trusted to sign user certificates for authentication. Multiple keys should be comma separated. E.g.`ssh- ` or `ssh- , ssh- `. For more information see `TrustedUserCAKeys` in the sshd config man pages. When empty no file will be created and `SSH_AUTHORIZED_PRINCIPALS_ALLOW` will default to `off`.
-- `SSH_TRUSTED_USER_CA_KEYS_FILENAME`: **`RUN_USER`/.ssh/gitea-trusted-user-ca-keys.pem**: Absolute path of the `TrustedUserCaKeys` file Gitea will manage. If you're running your own ssh server and you want to use the Gitea managed file you'll also need to modify your sshd_config to point to this file. The official docker image will automatically work without further configuration.
-- `SSH_AUTHORIZED_PRINCIPALS_ALLOW`: **off** or **username, email**: \[off, username, email, anything\]: Specify the principals values that users are allowed to use as principal. When set to `anything` no checks are done on the principal string. When set to `off` authorized principal are not allowed to be set.
-- `SSH_CREATE_AUTHORIZED_PRINCIPALS_FILE`: **false/true**: Gitea will create a authorized_principals file by default when it is not using the internal ssh server and `SSH_AUTHORIZED_PRINCIPALS_ALLOW` is not `off`.
-- `SSH_AUTHORIZED_PRINCIPALS_BACKUP`: **false/true**: Enable SSH Authorized Principals Backup when rewriting all keys, default is true if `SSH_AUTHORIZED_PRINCIPALS_ALLOW` is not `off`.
-- `SSH_AUTHORIZED_KEYS_COMMAND_TEMPLATE`: **`{{.AppPath}} --config={{.CustomConf}} serv key-{{.Key.ID}}`**: Set the template for the command to passed on authorized keys. Possible keys are: AppPath, AppWorkPath, CustomConf, CustomPath, Key - where Key is a `models/asymkey.PublicKey` and the others are strings which are shellquoted.
-- `SSH_SERVER_CIPHERS`: **chacha20-poly1305@openssh.com, aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, aes256-gcm@openssh.com**: For the built-in SSH server, choose the ciphers to support for SSH connections, for system SSH this setting has no effect.
-- `SSH_SERVER_KEY_EXCHANGES`: **curve25519-sha256, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group14-sha256, diffie-hellman-group14-sha1**: For the built-in SSH server, choose the key exchange algorithms to support for SSH connections, for system SSH this setting has no effect.
-- `SSH_SERVER_MACS`: **hmac-sha2-256-etm@openssh.com, hmac-sha2-256, hmac-sha1**: For the built-in SSH server, choose the MACs to support for SSH connections, for system SSH this setting has no effect
-- `SSH_SERVER_HOST_KEYS`: **ssh/gitea.rsa, ssh/gogs.rsa**: For the built-in SSH server, choose the keypairs to offer as the host key. The private key should be at `SSH_SERVER_HOST_KEY` and the public `SSH_SERVER_HOST_KEY.pub`. Relative paths are made absolute relative to the `APP_DATA_PATH`. If no key exists a 4096 bit RSA key will be created for you.
-- `SSH_KEY_TEST_PATH`: **/tmp**: Directory to create temporary files in when testing public keys using ssh-keygen, default is the system temporary directory.
-- `SSH_KEYGEN_PATH`: **_empty_**: Use `ssh-keygen` to parse public SSH keys. The value is passed to the shell. By default, Gitea does the parsing itself.
-- `SSH_EXPOSE_ANONYMOUS`: **false**: Enable exposure of SSH clone URL to anonymous visitors, default is false.
-- `SSH_PER_WRITE_TIMEOUT`: **30s**: Timeout for any write to the SSH connections. (Set to
-  -1 to disable all timeouts.)
-- `SSH_PER_WRITE_PER_KB_TIMEOUT`: **10s**: Timeout per Kb written to SSH connections.
-- `MINIMUM_KEY_SIZE_CHECK`: **true**: Indicate whether to check minimum key size with corresponding type.
-
-- `OFFLINE_MODE`: **true**: Disables use of CDN for static files and Gravatar for profile pictures.
-- `CERT_FILE`: **https/cert.pem**: Cert file path used for HTTPS. When chaining, the server certificate must come first, then intermediate CA certificates (if any). This is ignored if `ENABLE_ACME=true`. Paths are relative to `CUSTOM_PATH`.
-- `KEY_FILE`: **https/key.pem**: Key file path used for HTTPS. This is ignored if `ENABLE_ACME=true`. Paths are relative to `CUSTOM_PATH`.
-- `STATIC_ROOT_PATH`: **_`StaticRootPath`_**: Upper level of template and static files path.
-- `APP_DATA_PATH`: **data** (**/data/gitea** on docker): Default path for application data. Relative paths will be made absolute against _`AppWorkPath`_.
-- `STATIC_CACHE_TIME`: **6h**: Web browser cache time for static resources on `custom/`, `public/` and all uploaded avatars. Note that this cache is disabled when `RUN_MODE` is "dev".
-- `ENABLE_GZIP`: **false**: Enable gzip compression for runtime-generated content, static resources excluded.
-- `ENABLE_PPROF`: **false**: Application profiling (memory and cpu). For "web" command it listens on `localhost:6060`. For "serv" command it dumps to disk at `PPROF_DATA_PATH` as `(cpuprofile|memprofile)__`
-- `PPROF_DATA_PATH`: **_`AppWorkPath`_/data/tmp/pprof**: `PPROF_DATA_PATH`, use an absolute path when you start Gitea as service
-- `LANDING_PAGE`: **home**: Landing page for unauthenticated users \[home, explore, organizations, login, **custom**\]. Where custom would instead be any URL such as "/org/repo" or even `https://anotherwebsite.com`
-- `LFS_START_SERVER`: **false**: Enables Git LFS support.
-- `LFS_CONTENT_PATH`: **%(APP_DATA_PATH)s/lfs**: Default LFS content path. (if it is on local storage.) **DEPRECATED** use settings in `[lfs]`.
-- `LFS_JWT_SECRET`: **_empty_**: LFS authentication secret, change this a unique string.
-- `LFS_JWT_SECRET_URI`: **_empty_**: Instead of defining LFS_JWT_SECRET in the configuration, this configuration option can be used to give Gitea a path to a file that contains the secret (example value: `file:/etc/gitea/lfs_jwt_secret`)
-- `LFS_HTTP_AUTH_EXPIRY`: **24h**: LFS authentication validity period in time.Duration, pushes taking longer than this may fail.
-- `LFS_MAX_FILE_SIZE`: **0**: Maximum allowed LFS file size in bytes (Set to 0 for no limit).
-- `LFS_LOCKS_PAGING_NUM`: **50**: Maximum number of LFS Locks returned per page.
-
-- `REDIRECT_OTHER_PORT`: **false**: If true and `PROTOCOL` is https, allows redirecting http requests on `PORT_TO_REDIRECT` to the https port Gitea listens on.
-- `REDIRECTOR_USE_PROXY_PROTOCOL`: **%(USE_PROXY_PROTOCOL)s**: expect PROXY protocol header on connections to https redirector.
-- `PORT_TO_REDIRECT`: **80**: Port for the http redirection service to listen on. Used when `REDIRECT_OTHER_PORT` is true.
-- `SSL_MIN_VERSION`: **TLSv1.2**: Set the minimum version of ssl support.
-- `SSL_MAX_VERSION`: **_empty_**: Set the maximum version of ssl support.
-- `SSL_CURVE_PREFERENCES`: **X25519,P256**: Set the preferred curves,
-- `SSL_CIPHER_SUITES`: **ecdhe_ecdsa_with_aes_256_gcm_sha384,ecdhe_rsa_with_aes_256_gcm_sha384,ecdhe_ecdsa_with_aes_128_gcm_sha256,ecdhe_rsa_with_aes_128_gcm_sha256,ecdhe_ecdsa_with_chacha20_poly1305,ecdhe_rsa_with_chacha20_poly1305**: Set the preferred cipher suites.
-  - If there is no hardware support for AES suites, by default the ChaCha suites will be preferred over the AES suites.
-  - supported suites as of Go 1.18 are:
-    - TLS 1.0 - 1.2 cipher suites
-      - "rsa_with_rc4_128_sha"
-      - "rsa_with_3des_ede_cbc_sha"
-      - "rsa_with_aes_128_cbc_sha"
-      - "rsa_with_aes_256_cbc_sha"
-      - "rsa_with_aes_128_cbc_sha256"
-      - "rsa_with_aes_128_gcm_sha256"
-      - "rsa_with_aes_256_gcm_sha384"
-      - "ecdhe_ecdsa_with_rc4_128_sha"
-      - "ecdhe_ecdsa_with_aes_128_cbc_sha"
-      - "ecdhe_ecdsa_with_aes_256_cbc_sha"
-      - "ecdhe_rsa_with_rc4_128_sha"
-      - "ecdhe_rsa_with_3des_ede_cbc_sha"
-      - "ecdhe_rsa_with_aes_128_cbc_sha"
-      - "ecdhe_rsa_with_aes_256_cbc_sha"
-      - "ecdhe_ecdsa_with_aes_128_cbc_sha256"
-      - "ecdhe_rsa_with_aes_128_cbc_sha256"
-      - "ecdhe_rsa_with_aes_128_gcm_sha256"
-      - "ecdhe_ecdsa_with_aes_128_gcm_sha256"
-      - "ecdhe_rsa_with_aes_256_gcm_sha384"
-      - "ecdhe_ecdsa_with_aes_256_gcm_sha384"
-      - "ecdhe_rsa_with_chacha20_poly1305_sha256"
-      - "ecdhe_ecdsa_with_chacha20_poly1305_sha256"
-    - TLS 1.3 cipher suites
-      - "aes_128_gcm_sha256"
-      - "aes_256_gcm_sha384"
-      - "chacha20_poly1305_sha256"
-    - Aliased names
-      - "ecdhe_rsa_with_chacha20_poly1305" is an alias for "ecdhe_rsa_with_chacha20_poly1305_sha256"
-      - "ecdhe_ecdsa_with_chacha20_poly1305" is alias for "ecdhe_ecdsa_with_chacha20_poly1305_sha256"
-- `ENABLE_ACME`: **false**: Flag to enable automatic certificate management via an ACME capable Certificate Authority (CA) server (default: Lets Encrypt). If enabled, `CERT_FILE` and `KEY_FILE` are ignored, and the CA must resolve `DOMAIN` to this gitea server. Ensure that DNS records are set and either port `80` or port `443` are accessible by the CA server (the public internet by default), and redirected to the appropriate ports `PORT_TO_REDIRECT` or `HTTP_PORT` respectively.
-- `ACME_URL`: **_empty_**: The CA's ACME directory URL, e.g. for a self-hosted [smallstep CA server](https://github.com/smallstep/certificates), it can look like `https://ca.example.com/acme/acme/directory`. If left empty, it defaults to using Let's Encerypt's production CA (check `LETSENCRYPT_ACCEPTTOS` as well).
-- `ACME_ACCEPTTOS`: **false**: This is an explicit check that you accept the terms of service of the ACME provider. The default is Lets Encrypt [terms of service](https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf).
-- `ACME_DIRECTORY`: **https**: Directory that the certificate manager will use to cache information such as certs and private keys.
-- `ACME_EMAIL`: **_empty_**: Email used for the ACME registration. Usually it is to notify about problems with issued certificates.
-- `ACME_CA_ROOT`: **_empty_**: The CA's root certificate. If left empty, it defaults to using the system's trust chain.
-- `ALLOW_GRACEFUL_RESTARTS`: **true**: Perform a graceful restart on SIGHUP
-- `GRACEFUL_HAMMER_TIME`: **60s**: After a restart the parent process will stop accepting new connections and will allow requests to finish before stopping. Shutdown will be forced if it takes longer than this time.
-- `STARTUP_TIMEOUT`: **0**: Shutsdown the server if startup takes longer than the provided time. On Windows setting this sends a waithint to the SVC host to tell the SVC host startup may take some time. Please note startup is determined by the opening of the listeners - HTTP/HTTPS/SSH. Indexers may take longer to startup and can have their own timeouts.
-
-## Database (`database`)
-
-- `DB_TYPE`: **mysql**: The database type in use \[mysql, postgres, mssql, sqlite3\].
-- `HOST`: **127.0.0.1:3306**: Database host address and port or absolute path for unix socket \[mysql, postgres[^1]\] (ex: /var/run/mysqld/mysqld.sock).
-- `NAME`: **gitea**: Database name.
-- `USER`: **root**: Database username.
-- `PASSWD`: **_empty_**: Database user password. Use \`your password\` or """your password""" for quoting if you use special characters in the password.
-- `CHARSET_COLLATION`: **_empty_**: (MySQL/MSSQL only) Gitea expects to use a case-sensitive collation for database. Leave it empty to use the default collation decided by the Gitea. Don't change it unless you clearly know what you need.
-- `SCHEMA`: **_empty_**: For PostgreSQL only, schema to use if different from "public". The schema must exist beforehand,
-  the user must have creation privileges on it, and the user search path must be set to the look into the schema first
-  (e.g. `ALTER USER user SET SEARCH_PATH = schema_name,"$user",public;`).
-- `SSL_MODE`: **disable**: SSL/TLS encryption mode for connecting to the database. This option is only applied for PostgreSQL and MySQL.
-  - Valid values for MySQL:
-    - `true`: Enable TLS with verification of the database server certificate against its root certificate. When selecting this option make sure that the root certificate required to validate the database server certificate (e.g. the CA certificate) is on the system certificate store of both the database and Gitea servers. See your system documentation for instructions on how to add a CA certificate to the certificate store.
-    - `false`: Disable TLS.
-    - `disable`: Alias for `false`, for compatibility with PostgreSQL.
-    - `skip-verify`: Enable TLS without database server certificate verification. Use this option if you have self-signed or invalid certificate on the database server.
-    - `prefer`: Enable TLS with fallback to non-TLS connection.
-  - Valid values for PostgreSQL:
-    - `disable`: Disable TLS.
-    - `require`: Enable TLS without any verifications.
-    - `verify-ca`: Enable TLS with verification of the database server certificate against its root certificate.
-    - `verify-full`: Enable TLS and verify the database server name matches the given certificate in either the `Common Name` or `Subject Alternative Name` fields.
-- `SQLITE_TIMEOUT`: **500**: Query timeout for SQLite3 only.
-- `SQLITE_JOURNAL_MODE`: **""**: Change journal mode for SQlite3. Can be used to enable [WAL mode](https://www.sqlite.org/wal.html) when high load causes write congestion. See [SQlite3 docs](https://www.sqlite.org/pragma.html#pragma_journal_mode) for possible values. Defaults to the default for the database file, often DELETE.
-- `ITERATE_BUFFER_SIZE`: **50**: Internal buffer size for iterating.
-- `PATH`: **data/gitea.db**: For SQLite3 only, the database file path.
-- `LOG_SQL`: **false**: Log the executed SQL.
-- `DB_RETRIES`: **10**: How many ORM init / DB connect attempts allowed.
-- `DB_RETRY_BACKOFF`: **3s**: time.Duration to wait before trying another ORM init / DB connect attempt, if failure occurred.
-- `MAX_OPEN_CONNS` **0**: Database maximum open connections - default is 0, meaning there is no limit.
-- `MAX_IDLE_CONNS` **2**: Max idle database connections on connection pool, default is 2 - this will be capped to `MAX_OPEN_CONNS`.
-- `CONN_MAX_LIFETIME` **0 or 3s**: Sets the maximum amount of time a DB connection may be reused - default is 0, meaning there is no limit (except on MySQL where it is 3s - see #6804 & #7071).
-- `AUTO_MIGRATION` **true**: Whether execute database models migrations automatically.
-- `SLOW_QUERY_THRESHOLD` **5s**: Threshold value in seconds beyond which query execution time is logged as a warning in the xorm logger.
-
-[^1]: It may be necessary to specify a hostport even when listening on a unix socket, as the port is part of the socket name. see [#24552](https://github.com/go-gitea/gitea/issues/24552#issuecomment-1681649367) for additional details.
-
-Please see #8540 & #8273 for further discussion of the appropriate values for `MAX_OPEN_CONNS`, `MAX_IDLE_CONNS` & `CONN_MAX_LIFETIME` and their
-relation to port exhaustion.
-
-## Indexer (`indexer`)
-
-- `ISSUE_INDEXER_TYPE`: **bleve**: Issue indexer type, currently supported: `bleve`, `db`, `elasticsearch` or `meilisearch`.
-- `ISSUE_INDEXER_CONN_STR`: ****: Issue indexer connection string, available when ISSUE_INDEXER_TYPE is elasticsearch (e.g. http://elastic:password@localhost:9200) or meilisearch (e.g. http://:apikey@localhost:7700)
-- `ISSUE_INDEXER_NAME`: **gitea_issues**: Issue indexer name, available when ISSUE_INDEXER_TYPE is elasticsearch or meilisearch.
-- `ISSUE_INDEXER_PATH`: **indexers/issues.bleve**: Index file used for issue search; available when ISSUE_INDEXER_TYPE is bleve and elasticsearch. Relative paths will be made absolute against _`AppWorkPath`_.
-
-- `REPO_INDEXER_ENABLED`: **false**: Enables code search (uses a lot of disk space, about 6 times more than the repository size).
-- `REPO_INDEXER_REPO_TYPES`: **sources,forks,mirrors,templates**: Repo indexer units. The items to index could be `sources`, `forks`, `mirrors`, `templates` or any combination of them separated by a comma. If empty then it defaults to `sources` only, as if you'd like to disable fully please see `REPO_INDEXER_ENABLED`.
-- `REPO_INDEXER_TYPE`: **bleve**: Code search engine type, could be `bleve` or `elasticsearch`.
-- `REPO_INDEXER_PATH`: **indexers/repos.bleve**: Index file used for code search.
-- `REPO_INDEXER_CONN_STR`: ****: Code indexer connection string, available when `REPO_INDEXER_TYPE` is elasticsearch. i.e. http://elastic:password@localhost:9200
-- `REPO_INDEXER_NAME`: **gitea_codes**: Code indexer name, available when `REPO_INDEXER_TYPE` is elasticsearch
-
-- `REPO_INDEXER_INCLUDE`: **empty**: A comma separated list of glob patterns (see https://github.com/gobwas/glob) to **include** in the index. Use `**.txt` to match any files with .txt extension. An empty list means include all files.
-- `REPO_INDEXER_EXCLUDE`: **empty**: A comma separated list of glob patterns (see https://github.com/gobwas/glob) to **exclude** from the index. Files that match this list will not be indexed, even if they match in `REPO_INDEXER_INCLUDE`.
-- `REPO_INDEXER_EXCLUDE_VENDORED`: **true**: Exclude vendored files from index.
-- `MAX_FILE_SIZE`: **1048576**: Maximum size in bytes of files to be indexed.
-- `STARTUP_TIMEOUT`: **30s**: If the indexer takes longer than this timeout to start - fail. (This timeout will be added to the hammer time above for child processes - as bleve will not start until the previous parent is shutdown.) Set to -1 to never timeout.
-
-## Queue (`queue` and `queue.*`)
-
-Configuration at `[queue]` will set defaults for queues with overrides for individual queues at `[queue.*]`. (However see below.)
-
-- `TYPE`: **level**: General queue type, currently support: `level` (uses a LevelDB internally), `channel`, `redis`, `dummy`. Invalid types are treated as `level`.
-- `DATADIR`: **queues/common**: Base DataDir for storing level queues. `DATADIR` for individual queues can be set in `queue.name` sections. Relative paths will be made absolute against `%(APP_DATA_PATH)s`.
-- `LENGTH`: **100000**: Maximal queue size before channel queues block
-- `BATCH_LENGTH`: **20**: Batch data before passing to the handler
-- `CONN_STR`: **redis://127.0.0.1:6379/0**: Connection string for the redis queue type. For `redis-cluster` use `redis+cluster://127.0.0.1:6379/0`. Options can be set using query params. Similarly, LevelDB options can also be set using: **leveldb://relative/path?option=value** or **leveldb:///absolute/path?option=value**, and will override `DATADIR`
-- `QUEUE_NAME`: **_queue**: The suffix for default redis and disk queue name. Individual queues will default to **`name`**`QUEUE_NAME` but can be overridden in the specific `queue.name` section.
-- `SET_NAME`: **_unique**: The suffix that will be added to the default redis and disk queue `set` name for unique queues. Individual queues will default to **`name`**`QUEUE_NAME`_`SET_NAME`_ but can be overridden in the specific `queue.name` section.
-- `MAX_WORKERS`: **(dynamic)**: Maximum number of worker go-routines for the queue. Default value is "CpuNum/2" clipped to between 1 and 10.
-
-Gitea creates the following non-unique queues:
-
-- `code_indexer`
-- `issue_indexer`
-- `notification-service`
-- `task`
-- `mail`
-- `push_update`
-
-And the following unique queues:
-
-- `repo_stats_update`
-- `repo-archive`
-- `mirror`
-- `pr_patch_checker`
-
-## Admin (`admin`)
-
-- `DEFAULT_EMAIL_NOTIFICATIONS`: **enabled**: Default configuration for email notifications for users (user configurable). Options: enabled, onmention, disabled
-- `DISABLE_REGULAR_ORG_CREATION`: **false**: Disallow regular (non-admin) users from creating organizations.
-- `USER_DISABLED_FEATURES`: **_empty_** Disabled features for users, could be `deletion`, `manage_ssh_keys`, `manage_gpg_keys` and more features can be added in future.
-  - `deletion`: User cannot delete their own account.
-  - `manage_ssh_keys`: User cannot configure ssh keys.
-  - `manage_gpg_keys`: User cannot configure gpg keys.
-
-## Security (`security`)
-
-- `INSTALL_LOCK`: **false**: Controls access to the installation page. When set to "true", the installation page is not accessible.
-- `SECRET_KEY`: **\**: Global secret key. This key is VERY IMPORTANT, if you lost it, the data encrypted by it (like 2FA secret) can't be decrypted anymore.
-- `SECRET_KEY_URI`: **_empty_**: Instead of defining SECRET_KEY, this option can be used to use the key stored in a file (example value: `file:/etc/gitea/secret_key`). It shouldn't be lost like SECRET_KEY.
-- `LOGIN_REMEMBER_DAYS`: **7**: Cookie lifetime, in days.
-- `COOKIE_REMEMBER_NAME`: **gitea\_incredible**: Name of cookie used to store authentication
-   information.
-- `REVERSE_PROXY_AUTHENTICATION_USER`: **X-WEBAUTH-USER**: Header name for reverse proxy
-   authentication.
-- `REVERSE_PROXY_AUTHENTICATION_EMAIL`: **X-WEBAUTH-EMAIL**: Header name for reverse proxy
-   authentication provided email.
-- `REVERSE_PROXY_AUTHENTICATION_FULL_NAME`: **X-WEBAUTH-FULLNAME**: Header name for reverse proxy
-   authentication provided full name.
-- `REVERSE_PROXY_LIMIT`: **1**: Interpret X-Forwarded-For header or the X-Real-IP header and set this as the remote IP for the request.
-   Number of trusted proxy count. Set to zero to not use these headers.
-- `REVERSE_PROXY_TRUSTED_PROXIES`: **127.0.0.0/8,::1/128**: List of IP addresses and networks separated by comma of trusted proxy servers. Use `*` to trust all.
-- `DISABLE_GIT_HOOKS`: **true**: Set to `false` to enable users with Git Hook privilege to create custom Git Hooks.
-   WARNING: Custom Git Hooks can be used to perform arbitrary code execution on the host operating system.
-   This enables the users to access and modify this config file and the Gitea database and interrupt the Gitea service.
-   By modifying the Gitea database, users can gain Gitea administrator privileges.
-   It also enables them to access other resources available to the user on the operating system that is running the
-   Gitea instance and perform arbitrary actions in the name of the Gitea OS user.
-   This maybe harmful to you website or your operating system.
-   Setting this to true does not change existing hooks in git repos; adjust it before if necessary.
-- `DISABLE_WEBHOOKS`: **false**: Set to `true` to disable webhooks feature.
-- `ONLY_ALLOW_PUSH_IF_GITEA_ENVIRONMENT_SET`: **true**: Set to `false` to allow local users to push to gitea-repositories without setting up the Gitea environment. This is not recommended and if you want local users to push to Gitea repositories you should set the environment appropriately.
-- `IMPORT_LOCAL_PATHS`: **false**: Set to `false` to prevent all users (including admin) from importing local path on server.
-- `INTERNAL_TOKEN`: **\**: Secret used to validate communication within Gitea binary.
-- `INTERNAL_TOKEN_URI`: **_empty_**: Instead of defining INTERNAL_TOKEN in the configuration, this configuration option can be used to give Gitea a path to a file that contains the internal token (example value: `file:/etc/gitea/internal_token`)
-- `PASSWORD_HASH_ALGO`: **pbkdf2**: The hash algorithm to use \[argon2, pbkdf2, pbkdf2_v1, pbkdf2_hi, scrypt, bcrypt\], argon2 and scrypt will spend significant amounts of memory.
-  - Note: The default parameters for `pbkdf2` hashing have changed - the previous settings are available as `pbkdf2_v1` but are not recommended.
-  - The hash functions may be tuned by using `$` after the algorithm:
-    - `argon2$