Skip to content

Commit 89a5e66

Browse files
authored
Merge branch 'main' into lunny/find_comments
2 parents 30f4e35 + b1a4eb4 commit 89a5e66

File tree

216 files changed

+1155
-671
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

216 files changed

+1155
-671
lines changed

.air.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ tmp_dir = ".air"
55
cmd = "make backend"
66
bin = "gitea"
77
include_ext = ["go", "tmpl"]
8-
exclude_dir = ["modules/git/tests", "services/gitdiff/testdata", "modules/avatar/testdata"]
9-
include_dir = ["cmd", "models", "modules", "options", "routers", "services", "templates"]
8+
exclude_dir = ["modules/git/tests", "services/gitdiff/testdata", "modules/avatar/testdata", "models/fixtures", "models/migrations/fixtures", "modules/migration/file_format_testdata", "modules/avatar/identicon/testdata"]
9+
include_dir = ["cmd", "models", "modules", "options", "routers", "services"]
1010
exclude_regex = ["_test.go$", "_gen.go$"]

CHANGELOG.md

+197-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,203 @@ This changelog goes through all the changes that have been made in each release
44
without substantial changes to our git log; to see the highlights of what has
55
been added to each release, please refer to the [blog](https://blog.gitea.io).
66

7-
## [1.17.4](https://github.com/go-gitea/gitea/releases/tag/1.17.4) - 2022-12-21
7+
## [1.18.0](https://github.com/go-gitea/gitea/releases/tag/v1.18.0) - 2022-12-29
8+
9+
* SECURITY
10+
* Remove ReverseProxy authentication from the API (#22219) (#22251)
11+
* Support Go Vulnerability Management (#21139)
12+
* Forbid HTML string tooltips (#20935)
13+
* BREAKING
14+
* Rework mailer settings (#18982)
15+
* Remove U2F support (#20141)
16+
* Refactor `i18n` to `locale` (#20153)
17+
* Enable contenthash in filename for dynamic assets (#20813)
18+
* FEATURES
19+
* Add color previews in markdown (#21474)
20+
* Allow package version sorting (#21453)
21+
* Add support for Chocolatey/NuGet v2 API (#21393)
22+
* Add API endpoint to get changed files of a PR (#21177)
23+
* Add filetree on left of diff view (#21012)
24+
* Support Issue forms and PR forms (#20987)
25+
* Add support for Vagrant packages (#20930)
26+
* Add support for `npm unpublish` (#20688)
27+
* Add badge capabilities to users (#20607)
28+
* Add issue filter for Author (#20578)
29+
* Add KaTeX rendering to Markdown. (#20571)
30+
* Add support for Pub packages (#20560)
31+
* Support localized README (#20508)
32+
* Add support mCaptcha as captcha provider (#20458)
33+
* Add team member invite by email (#20307)
34+
* Added email notification option to receive all own messages (#20179)
35+
* Switch Unicode Escaping to a VSCode-like system (#19990)
36+
* Add user/organization code search (#19977)
37+
* Only show relevant repositories on explore page (#19361)
38+
* User keypairs and HTTP signatures for ActivityPub federation using go-ap (#19133)
39+
* Add sitemap support (#18407)
40+
* Allow creation of OAuth2 applications for orgs (#18084)
41+
* Add system setting table with cache and also add cache supports for user setting (#18058)
42+
* Add pages to view watched repos and subscribed issues/PRs (#17156)
43+
* Support Proxy protocol (#12527)
44+
* Implement sync push mirror on commit (#19411)
45+
* API
46+
* Allow empty assignees on pull request edit (#22150) (#22214)
47+
* Make external issue tracker regexp configurable via API (#21338)
48+
* Add name field for org api (#21270)
49+
* Show teams with no members if user is admin (#21204)
50+
* Add latest commit's SHA to content response (#20398)
51+
* Add allow_rebase_update, default_delete_branch_after_merge to repository api response (#20079)
52+
* Add new endpoints for push mirrors management (#19841)
53+
* ENHANCEMENTS
54+
* Add setting to disable the git apply step in test patch (#22130) (#22170)
55+
* Multiple improvements for comment edit diff (#21990) (#22007)
56+
* Fix button in branch list, avoid unexpected page jump before restore branch actually done (#21562) (#21928)
57+
* Fix flex layout for repo list icons (#21896) (#21920)
58+
* Fix vertical align of committer avatar rendered by email address (#21884) (#21918)
59+
* Fix setting HTTP headers after write (#21833) (#21877)
60+
* Color and Style enhancements (#21784, #21799) (#21868)
61+
* Ignore line anchor links with leading zeroes (#21728) (#21776)
62+
* Quick fixes monaco-editor error: "vs.editor.nullLanguage" (#21734) (#21738)
63+
* Use CSS color-scheme instead of invert (#21616) (#21623)
64+
* Respect user's locale when rendering the date range in the repo activity page (#21410)
65+
* Change `commits-table` column width (#21564)
66+
* Refactor git command arguments and make all arguments to be safe to be used (#21535)
67+
* CSS color enhancements (#21534)
68+
* Add link to user profile in markdown mention only if user exists (#21533, #21554)
69+
* Add option to skip index dirs (#21501)
70+
* Diff file tree tweaks (#21446)
71+
* Localize all timestamps (#21440)
72+
* Add `code` highlighting in issue titles (#21432)
73+
* Use Name instead of DisplayName in LFS Lock (#21415)
74+
* Consolidate more CSS colors into variables (#21402)
75+
* Redirect to new repository owner (#21398)
76+
* Use ISO date format instead of hard-coded English date format for date range in repo activity page (#21396)
77+
* Use weighted algorithm for string matching when finding files in repo (#21370)
78+
* Show private data in feeds (#21369)
79+
* Refactor parseTreeEntries, speed up tree list (#21368)
80+
* Add GET and DELETE endpoints for Docker blob uploads (#21367)
81+
* Add nicer error handling on template compile errors (#21350)
82+
* Add `stat` to `ToCommit` function for speed (#21337)
83+
* Support instance-wide OAuth2 applications (#21335)
84+
* Record OAuth client type at registration (#21316)
85+
* Add new CSS variables --color-accent and --color-small-accent (#21305)
86+
* Improve error descriptions for unauthorized_client (#21292)
87+
* Case-insensitive "find files in repo" (#21269)
88+
* Consolidate more CSS rules, fix inline code on arc-green (#21260)
89+
* Log real ip of requests from ssh (#21216)
90+
* Save files in local storage as group readable (#21198)
91+
* Enable fluid page layout on medium size viewports (#21178)
92+
* File header tweaks (#21175)
93+
* Added missing headers on user packages page (#21172)
94+
* Display image digest for container packages (#21170)
95+
* Skip dirty check for team forms (#21154)
96+
* Keep path when creating a new branch (#21153)
97+
* Remove fomantic image module (#21145)
98+
* Make labels clickable in the comments section. (#21137)
99+
* Sort branches and tags by date descending (#21136)
100+
* Better repo API unit checks (#21130)
101+
* Improve commit status icons (#21124)
102+
* Limit length of repo description and repo url input fields (#21119)
103+
* Show .editorconfig errors in frontend (#21088)
104+
* Allow poster to choose reviewers (#21084)
105+
* Remove black labels and CSS cleanup (#21003)
106+
* Make e-mail sanity check more precise (#20991)
107+
* Use native inputs in whitespace dropdown (#20980)
108+
* Enhance package date display (#20928)
109+
* Display total blob size of a package version (#20927)
110+
* Show language name on hover (#20923)
111+
* Show instructions for all generic package files (#20917)
112+
* Refactor AssertExistsAndLoadBean to use generics (#20797)
113+
* Move the official website link at the footer of gitea (#20777)
114+
* Add support for full name in reverse proxy auth (#20776)
115+
* Remove useless JS operation for relative time tooltips (#20756)
116+
* Replace some icons with SVG (#20741)
117+
* Change commit status icons to SVG (#20736)
118+
* Improve single repo action for issue and pull requests (#20730)
119+
* Allow multiple files in generic packages (#20661)
120+
* Add option to create new issue from /issues page (#20650)
121+
* Background color of private list-items updated (#20630)
122+
* Added search input field to issue filter (#20623)
123+
* Increase default item listing size `ISSUE_PAGING_NUM` to 20 (#20547)
124+
* Modify milestone search keywords to be case insensitive again (#20513)
125+
* Show hint to link package to repo when viewing empty repo package list (#20504)
126+
* Add Tar ZSTD support (#20493)
127+
* Make code review checkboxes clickable (#20481)
128+
* Add "X-Gitea-Object-Type" header for GET `/raw/` & `/media/` API (#20438)
129+
* Display project in issue list (#20434)
130+
* Prepend commit message to template content when opening a new PR (#20429)
131+
* Replace fomantic popup module with tippy.js (#20428)
132+
* Allow to specify colors for text in markup (#20363)
133+
* Allow access to the Public Organization Member lists with minimal permissions (#20330)
134+
* Use default values when provided values are empty (#20318)
135+
* Vertical align navbar avatar at middle (#20302)
136+
* Delete cancel button in repo creation page (#21381)
137+
* Include login_name in adminCreateUser response (#20283)
138+
* fix: icon margin in user/settings/repos (#20281)
139+
* Remove blue text on migrate page (#20273)
140+
* Modify milestone search keywords to be case insensitive (#20266)
141+
* Move some files into models' sub packages (#20262)
142+
* Add tooltip to repo icons in explore page (#20241)
143+
* Remove deprecated licenses (#20222)
144+
* Webhook for Wiki changes (#20219)
145+
* Share HTML template renderers and create a watcher framework (#20218)
146+
* Allow enable LDAP source and disable user sync via CLI (#20206)
147+
* Adds a checkbox to select all issues/PRs (#20177)
148+
* Refactor `i18n` to `locale` (#20153)
149+
* Disable status checks in template if none found (#20088)
150+
* Allow manager logging to set SQL (#20064)
151+
* Add order by for assignee no sort issue (#20053)
152+
* Take a stab at porting existing components to Vue3 (#20044)
153+
* Add doctor command to write commit-graphs (#20007)
154+
* Add support for authentication based on reverse proxy email (#19949)
155+
* Enable spellcheck for EasyMDE, use contenteditable mode (#19776)
156+
* Allow specifying SECRET_KEY_URI, similar to INTERNAL_TOKEN_URI (#19663)
157+
* Rework mailer settings (#18982)
158+
* Add option to purge users (#18064)
159+
* Add author search input (#21246)
160+
* Make rss/atom identifier globally unique (#21550)
161+
* BUGFIXES
162+
* Auth interface return error when verify failure (#22119) (#22259)
163+
* Use complete SHA to create and query commit status (#22244) (#22257)
164+
* Update bleve and zapx to fix unaligned atomic (#22031) (#22218)
165+
* Prevent panic in doctor command when running default checks (#21791) (#21807)
166+
* Load GitRepo in API before deleting issue (#21720) (#21796)
167+
* Ignore line anchor links with leading zeroes (#21728) (#21776)
168+
* Set last login when activating account (#21731) (#21755)
169+
* Fix UI language switching bug (#21597) (#21749)
170+
* Quick fixes monaco-editor error: "vs.editor.nullLanguage" (#21734) (#21738)
171+
* Allow local package identifiers for PyPI packages (#21690) (#21727)
172+
* Deal with markdown template without metadata (#21639) (#21654)
173+
* Fix opaque background on mermaid diagrams (#21642) (#21652)
174+
* Fix repository adoption on Windows (#21646) (#21650)
175+
* Sync git hooks when config file path changed (#21619) (#21626)
176+
* Fix 500 on PR files API (#21602) (#21607)
177+
* Fix `Timestamp.IsZero` (#21593) (#21603)
178+
* Fix viewing user subscriptions (#21482)
179+
* Fix mermaid-related bugs (#21431)
180+
* Fix branch dropdown shifting on page load (#21428)
181+
* Fix default theme-auto selector when nologin (#21346)
182+
* Fix and improve incorrect error messages (#21342)
183+
* Fix formatted link for PR review notifications to matrix (#21319)
184+
* Center-aligning content of WebAuthN page (#21127)
185+
* Remove follow from commits by file (#20765)
186+
* Fix commit status popup (#20737)
187+
* Fix init mail render logic (#20704)
188+
* Use correct page size for link header pagination (#20546)
189+
* Preserve unix socket file (#20499)
190+
* Use tippy.js for context popup (#20393)
191+
* Add missing parameter for error in log message (#20144)
192+
* Do not allow organisation owners add themselves as collaborator (#20043)
193+
* Rework file highlight rendering and fix yaml copy-paste (#19967)
194+
* Improve code diff highlight, fix incorrect rendered diff result (#19958)
195+
* TESTING
196+
* Improve OAuth integration tests (#21390)
197+
* Add playwright tests (#20123)
198+
* BUILD
199+
* Switch to building with go1.19 (#20695)
200+
* Update JS dependencies, adjust eslint (#20659)
201+
* Add more linters to improve code readability (#19989)
202+
203+
## [1.17.4](https://github.com/go-gitea/gitea/releases/tag/v1.17.4) - 2022-12-21
8204

9205
* SECURITY
10206
* Do not allow Ghost access to limited visible user/org (#21849) (#21875)

CONTRIBUTING.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ be reviewed by two maintainers and must pass the automatic tests.
441441
Code that you contribute should use the standard copyright header:
442442

443443
```
444-
// Copyright 2022 The Gitea Authors. All rights reserved.
444+
// Copyright <year> The Gitea Authors. All rights reserved.
445445
// SPDX-License-Identifier: MIT
446446
447447
```

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ watch-frontend: node-check node_modules
359359

360360
.PHONY: watch-backend
361361
watch-backend: go-check
362-
$(GO) run $(AIR_PACKAGE) -c .air.toml
362+
GITEA_RUN_MODE=dev $(GO) run $(AIR_PACKAGE) -c .air.toml
363363

364364
.PHONY: test
365365
test: test-frontend test-backend

cmd/dump_repo.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ import (
1010
"os"
1111
"strings"
1212

13-
"code.gitea.io/gitea/modules/convert"
1413
"code.gitea.io/gitea/modules/git"
1514
"code.gitea.io/gitea/modules/log"
1615
base "code.gitea.io/gitea/modules/migration"
1716
"code.gitea.io/gitea/modules/setting"
1817
"code.gitea.io/gitea/modules/structs"
1918
"code.gitea.io/gitea/modules/util"
19+
"code.gitea.io/gitea/services/convert"
2020
"code.gitea.io/gitea/services/migrations"
2121

2222
"github.com/urfave/cli"

custom/conf/app.example.ini

+3
Original file line numberDiff line numberDiff line change
@@ -957,6 +957,9 @@ ROUTER = console
957957
;; Don't allow download source archive files from UI
958958
;DISABLE_DOWNLOAD_SOURCE_ARCHIVES = false
959959

960+
;; Allow fork repositories without maximum number limit
961+
;ALLOW_FORK_WITHOUT_MAXIMUM_LIMIT = true
962+
960963
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
961964
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
962965
;[repository.editor]

docs/config.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ params:
1818
description: Git with a cup of tea
1919
author: The Gitea Authors
2020
website: https://docs.gitea.io
21-
version: 1.17.4
21+
version: 1.18.0
2222
minGoVersion: 1.18
2323
goVersion: 1.19
24-
minNodeVersion: 14
24+
minNodeVersion: 16
2525
search: nav
2626
repo: "https://github.com/go-gitea/gitea"
2727
docContentPath: "docs/content"

docs/content/doc/advanced/config-cheat-sheet.en-us.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ In addition there is _`StaticRootPath`_ which can be set as a built-in at build
112112
- `ALLOW_ADOPTION_OF_UNADOPTED_REPOSITORIES`: **false**: Allow non-admin users to adopt unadopted repositories
113113
- `ALLOW_DELETION_OF_UNADOPTED_REPOSITORIES`: **false**: Allow non-admin users to delete unadopted repositories
114114
- `DISABLE_DOWNLOAD_SOURCE_ARCHIVES`: **false**: Don't allow download source archive files from UI
115+
- `ALLOW_FORK_WITHOUT_MAXIMUM_LIMIT`: **true**: Allow fork repositories without maximum number limit
115116

116117
### Repository - Editor (`repository.editor`)
117118

@@ -239,6 +240,10 @@ The following configuration set `Content-Type: application/vnd.android.package-a
239240
- `NOTICE_PAGING_NUM`: **25**: Number of notices that are shown in one page.
240241
- `ORG_PAGING_NUM`: **50**: Number of organizations that are shown in one page.
241242

243+
### UI - User (`ui.user`)
244+
245+
- `REPO_PAGING_NUM`: **15**: Number of repos that are shown in one page.
246+
242247
### UI - Metadata (`ui.meta`)
243248

244249
- `AUTHOR`: **Gitea - Git with a cup of tea**: Author meta tag of the homepage.
@@ -1145,7 +1150,7 @@ in this mapping or the filetype using heuristics.
11451150
## Time (`time`)
11461151

11471152
- `FORMAT`: Time format to display on UI. i.e. RFC1123 or 2006-01-02 15:04:05
1148-
- `DEFAULT_UI_LOCATION`: Default location of time on the UI, so that we can display correct user's time on UI. i.e. Shanghai/Asia
1153+
- `DEFAULT_UI_LOCATION`: Default location of time on the UI, so that we can display correct user's time on UI. i.e. Asia/Shanghai
11491154

11501155
## Task (`task`)
11511156

docs/content/doc/installation/from-package.en-us.md

+8
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,14 @@ Arch Linux ARM provides packages for [aarch64](https://archlinuxarm.org/packages
4343
pacman -S gitea
4444
```
4545

46+
## Gentoo Linux
47+
48+
The rolling release distribution has [Gitea](https://packages.gentoo.org/packages/www-apps/gitea) in their official community repository and package updates are provided with new Gitea releases.
49+
50+
```sh
51+
emerge gitea -va
52+
```
53+
4654
## Canonical Snap
4755

4856
There is a [Gitea Snap](https://snapcraft.io/gitea) package which follows the latest stable version.

models/activities/action.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ func (a *Action) GetRefLink() string {
272272
return a.GetRepoLink() + "/src/branch/" + util.PathEscapeSegments(strings.TrimPrefix(a.RefName, git.BranchPrefix))
273273
case strings.HasPrefix(a.RefName, git.TagPrefix):
274274
return a.GetRepoLink() + "/src/tag/" + util.PathEscapeSegments(strings.TrimPrefix(a.RefName, git.TagPrefix))
275-
case len(a.RefName) == 40 && git.IsValidSHAPattern(a.RefName):
275+
case len(a.RefName) == git.SHAFullLength && git.IsValidSHAPattern(a.RefName):
276276
return a.GetRepoLink() + "/src/commit/" + a.RefName
277277
default:
278278
// FIXME: we will just assume it's a branch - this was the old way - at some point we may want to enforce that there is always a ref here.

models/asymkey/gpg_key.go

+8-3
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,16 @@ func (key *GPGKey) AfterLoad(session *xorm.Session) {
6464

6565
// PaddedKeyID show KeyID padded to 16 characters
6666
func (key *GPGKey) PaddedKeyID() string {
67-
if len(key.KeyID) > 15 {
68-
return key.KeyID
67+
return PaddedKeyID(key.KeyID)
68+
}
69+
70+
// PaddedKeyID show KeyID padded to 16 characters
71+
func PaddedKeyID(keyID string) string {
72+
if len(keyID) > 15 {
73+
return keyID
6974
}
7075
zeros := "0000000000000000"
71-
return zeros[0:16-len(key.KeyID)] + key.KeyID
76+
return zeros[0:16-len(keyID)] + keyID
7277
}
7378

7479
// ListGPGKeys returns a list of public keys belongs to given user.

models/asymkey/ssh_key_fingerprint.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ package asymkey
55

66
import (
77
"context"
8-
"errors"
98
"fmt"
109
"strings"
1110

@@ -59,9 +58,9 @@ func calcFingerprintSSHKeygen(publicKeyContent string) (string, error) {
5958
if strings.Contains(stderr, "is not a public key file") {
6059
return "", ErrKeyUnableVerify{stderr}
6160
}
62-
return "", fmt.Errorf("'ssh-keygen -lf %s' failed with error '%s': %s", tmpPath, err, stderr)
61+
return "", util.NewInvalidArgumentErrorf("'ssh-keygen -lf %s' failed with error '%s': %s", tmpPath, err, stderr)
6362
} else if len(stdout) < 2 {
64-
return "", errors.New("not enough output for calculating fingerprint: " + stdout)
63+
return "", util.NewInvalidArgumentErrorf("not enough output for calculating fingerprint: %s", stdout)
6564
}
6665
return strings.Split(stdout, " ")[1], nil
6766
}

models/asymkey/ssh_key_parse.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"encoding/base64"
1111
"encoding/binary"
1212
"encoding/pem"
13-
"errors"
1413
"fmt"
1514
"math/big"
1615
"os"
@@ -122,7 +121,7 @@ func parseKeyString(content string) (string, error) {
122121
parts := strings.SplitN(content, " ", 3)
123122
switch len(parts) {
124123
case 0:
125-
return "", errors.New("empty key")
124+
return "", util.NewInvalidArgumentErrorf("empty key")
126125
case 1:
127126
keyContent = parts[0]
128127
case 2:
@@ -167,7 +166,7 @@ func CheckPublicKeyString(content string) (_ string, err error) {
167166

168167
content = strings.TrimRight(content, "\n\r")
169168
if strings.ContainsAny(content, "\n\r") {
170-
return "", errors.New("only a single line with a single key please")
169+
return "", util.NewInvalidArgumentErrorf("only a single line with a single key please")
171170
}
172171

173172
// remove any unnecessary whitespace now

0 commit comments

Comments
 (0)