- 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)
- SECURITY
- 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)
- Add option to provide signature for a token to verify key ownership (#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)
- 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)
- TESTING
- TRANSLATION
- BUILD
- Upgrade xorm to v1.1.1 (#16339)
- Alpine 3.14 released (#16170)
- 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
- MISC