mirror of
https://github.com/go-gitea/gitea.git
synced 2025-11-10 15:32:55 +09:00
Compare commits
2 Commits
main
...
6c8879b832
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c8879b832 | ||
|
|
94a6da3bc8 |
201
CHANGELOG.md
201
CHANGELOG.md
@@ -4,6 +4,207 @@ 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
|
without substantial changes to our git log; to see the highlights of what has
|
||||||
been added to each release, please refer to the [blog](https://blog.gitea.com).
|
been added to each release, please refer to the [blog](https://blog.gitea.com).
|
||||||
|
|
||||||
|
## [1.25.0-rc0](https://github.com/go-gitea/gitea/releases/tag/1.25.0-rc0) - 2025-09-24
|
||||||
|
|
||||||
|
* BREAKING
|
||||||
|
* Return 201 Created for CreateVariable API responses (#34517)
|
||||||
|
* Add label 'state' to metric 'gitea_users' (#34326)
|
||||||
|
* SECURITY
|
||||||
|
* Upgrade security public key (#34956)
|
||||||
|
* FEATURES
|
||||||
|
* Stream repo zip/tar.gz/bundle achives by default (#35487)
|
||||||
|
* Use configurable remote name for git commands (#35172)
|
||||||
|
* Send email on Workflow Run Success/Failure (#34982)
|
||||||
|
* Refactor OpenIDConnect to support SSH/FullName sync (#34978)
|
||||||
|
* Refactor repo contents API and add "contents-ext" API (#34822)
|
||||||
|
* Add support for 3D/CAD file formats preview (#34794)
|
||||||
|
* Improve instance wide ssh commit signing (#34341)
|
||||||
|
* Edit file workflow for creating a fork and proposing changes (#34240)
|
||||||
|
* Follow file symlinks in the UI to their target (#28835)
|
||||||
|
* Allow renaming/moving binary/LFS files in the UI (#34350)
|
||||||
|
* PERFORMANCE
|
||||||
|
* Improve the performance when detecting the file editable (#34653)
|
||||||
|
* ENHANCEMENTS
|
||||||
|
* Enable more markdown paste features in textarea editor (#35494)
|
||||||
|
* Don't store repo archives on `gitea dump` (#35467)
|
||||||
|
* Always return the relevant status information, even if no status exists. (#35335)
|
||||||
|
* Add start time on perf trace because it seems some steps haven't been recorded. (#35282)
|
||||||
|
* Remove deprecated auth sources (#35272)
|
||||||
|
* When sorting issues by nearest due date, issues without due date should be sorted ascending (#35267)
|
||||||
|
* Disable field count validation of CSV viewer (#35228)
|
||||||
|
* Add `has_code` to repository REST API (#35214)
|
||||||
|
* Display pull request in merged commit view (#35202)
|
||||||
|
* Support Basic Authentication for archive downloads (#35087)
|
||||||
|
* Add hover background to table rows in user and repo admin page (#35072)
|
||||||
|
* Partially refresh notifications list (#35010)
|
||||||
|
* Also display "recently pushed branch" alert on PR view (#35001)
|
||||||
|
* Refactor time tracker UI (#34983)
|
||||||
|
* Improve CLI commands (#34973)
|
||||||
|
* Improve project & label color picker and image scroll (#34971)
|
||||||
|
* Improve NuGet API Parity (#21291) (#34940)
|
||||||
|
* Support getting last commit message using contents-ext API (#34904)
|
||||||
|
* Adds title on branch commit counts (#34869)
|
||||||
|
* Add "Cancel workflow run" button to Actions list page (#34817)
|
||||||
|
* Improve img lazy loading (#34804)
|
||||||
|
* Forks repository list page follow other repositories page (#34784)
|
||||||
|
* Add ff_only parameter to POST /repos/{owner}/{repo}/merge-upstream (#34770)
|
||||||
|
* Rework delete org and rename org UI (#34762)
|
||||||
|
* Improve nuget/rubygems package registries (#34741)
|
||||||
|
* Add repo file tree item link behavior (#34730)
|
||||||
|
* Add issue delete notifier (#34592)
|
||||||
|
* Improve Actions list (#34530)
|
||||||
|
* Add a default tab on repo header when migrating (#34503)
|
||||||
|
* Add post-installation redirect based on admin account status (#34493)
|
||||||
|
* Trigger 'unlabeled' event when label is Deleted from PR (#34316)
|
||||||
|
* Support annotated tags when using create release API (#31840)
|
||||||
|
* Use lfs label for lfs file rather than a long description (#34363)
|
||||||
|
* Add "View workflow file" to Actions list page (#34538)
|
||||||
|
* Move organization's visibility change to danger zone. (#34814)
|
||||||
|
* BUGFIXES
|
||||||
|
* Fix different behavior in status check pattern matching with double stars (#35474)
|
||||||
|
* Fix overflow in notifications list (#35446)
|
||||||
|
* Fix package link setting can only list limited repositories (#35394)
|
||||||
|
* Extend comment treepath length (#35389)
|
||||||
|
* Fix font-size in inline code comment preview (#35209)
|
||||||
|
* Move git config/remote to gitrepo package and add global lock to resolve possible conflict when updating repository git config file (#35151)
|
||||||
|
* Change some columns from text to longtext and fix column wrong type caused by xorm (#35141)
|
||||||
|
* Redirect to a presigned URL of HEAD for HEAD requests (#35088)
|
||||||
|
* Fix git commit committer parsing and add some tests (#35007)
|
||||||
|
* Fix OCI manifest parser (#34797)
|
||||||
|
* Refactor FindOrgOptions to use enum instead of bool, fix membership visibility (#34629)
|
||||||
|
* Fix notification count positioning for variable-width elements (#34597)
|
||||||
|
* Keeping consistent between UI and API about combined commit status state and fix some bugs (#34562)
|
||||||
|
* Fix possible panic (#34508)
|
||||||
|
* Fix autofocus behavior (#34397)
|
||||||
|
* Fix Actions API (#35204)
|
||||||
|
* Fix ListWorkflowRuns OpenAPI response model. (#35026)
|
||||||
|
* Small fix in Pull Requests page (#34612)
|
||||||
|
* Fix http auth header parsing (#34936)
|
||||||
|
* Fix modal + form abuse (#34921)
|
||||||
|
* Fix PR toggle WIP (#34920)
|
||||||
|
* Fix log fmt (#34810)
|
||||||
|
* Replace stopwatch toggle with explicit start/stop actions (#34818)
|
||||||
|
* Fix some package registry problems (#34759)
|
||||||
|
* Fix RPM package download routing & missing package version count (#34909)
|
||||||
|
* Fix repo search input height (#34330)
|
||||||
|
* Fix "The sidebar of the repository file list does not have a fixed height #34298" (#34321)
|
||||||
|
* Fix minor typos in two files #HSFDPMUW (#34944)
|
||||||
|
* Fix actions skipped commit status indicator (#34507)
|
||||||
|
* Fix job status aggregation logic (#35000)
|
||||||
|
* Fix broken OneDev migration caused by various REST API changes in OneDev 7.8.0 and later (#35216)
|
||||||
|
* Fix typo in oauth2_full_name_claim_name string (#35199)
|
||||||
|
* Fix typo in locale_en-US.ini (#35196)
|
||||||
|
* API
|
||||||
|
* Exposing TimeEstimate field in the API (#35475)
|
||||||
|
* UpdateBranch API supports renaming a branch (#35374)
|
||||||
|
* Add `owner` and `parent` fields clarification to docs (#35023)
|
||||||
|
* Improve OAuth2 provider (correct Issuer, respect ENABLED) (#34966)
|
||||||
|
* Add a `login`/`login-name`/`username` disambiguation to affected endpoint parameters and response/request models (#34901)
|
||||||
|
* Do not mutate incoming options to SearchRepositoryByName (#34553)
|
||||||
|
* Do not mutate incoming options to RenderUserSearch and SearchUsers (#34544)
|
||||||
|
* Export repo's manual merge settings (#34502)
|
||||||
|
* Add date range filtering to commit retrieval endpoints (#34497)
|
||||||
|
* Add endpoint deleting workflow run (#34337)
|
||||||
|
* Add workflow_run api + webhook (#33964)
|
||||||
|
* REFACTOR
|
||||||
|
* Move updateref and removeref to gitrepo and remove unnecessary open repository (#35511)
|
||||||
|
* Remove unused param `doer` (#34545)
|
||||||
|
* Split GetLatestCommitStatus as two functions (#34535)
|
||||||
|
* Use gitrepo.SetDefaultBranch when set default branch of wiki repository (#33911)
|
||||||
|
* Refactor editor (#34780)
|
||||||
|
* Refactor packages (#34777)
|
||||||
|
* Refactor container package (#34877)
|
||||||
|
* Refactor "change file" API (#34855)
|
||||||
|
* Rename pull request GetGitRefName to GetGitHeadRefName to prepare introducing GetGitMergeRefName (#35093)
|
||||||
|
* Move git command to git/gitcmd (#35483)
|
||||||
|
* Use db.WithTx/WithTx2 instead of TxContext when possible (#35428)
|
||||||
|
* Support Node.js 22.6 with type stripping (#35427)
|
||||||
|
* Migrate tools and configs to typescript, require node.js >= 22.18.0 (#35421)
|
||||||
|
* Check user and repo for redirects when using git via SSH transport (#35416)
|
||||||
|
* Remove the duplicated function GetTags (#35375)
|
||||||
|
* Refactor to use reflect.TypeFor (#35370)
|
||||||
|
* Deleting branch could delete broken branch which has database record but git branch is missing (#35360)
|
||||||
|
* Exit with success when already up to date (#35312)
|
||||||
|
* Split admin config settings templates to make it maintain easier (#35294)
|
||||||
|
* A small refactor to use context in the service layer (#35179)
|
||||||
|
* Refactor and update mail templates (#35150)
|
||||||
|
* Use db.WithTx/WithTx2 instead of TxContext when possible (#35130)
|
||||||
|
* Align `issue-title-buttons` with `list-header` (#35018)
|
||||||
|
* Add Notifications section in User Settings (#35008)
|
||||||
|
* Tweak placement of diff file menu (#34999)
|
||||||
|
* Refactor mail template and support preview (#34990)
|
||||||
|
* Rerun job only when run is done (#34970)
|
||||||
|
* Merge index.js (#34963)
|
||||||
|
* Refactor "delete-button" to "link-action" (#34962)
|
||||||
|
* Refactor webhook and fix feishu/lark secret (#34961)
|
||||||
|
* Exclude devtest.ts from tailwindcss (#34935)
|
||||||
|
* Refactor head navbar icons (#34922)
|
||||||
|
* Improve html escape (#34911)
|
||||||
|
* Improve tags list page (#34898)
|
||||||
|
* Improve `labels-list` rendering (#34846)
|
||||||
|
* Remove unused variable HUGO_VERSION (#34840)
|
||||||
|
* Correct migration tab name (#34826)
|
||||||
|
* Refactor template helper (#34819)
|
||||||
|
* Use `shallowRef` instead of `ref` in `.vue` files where possible (#34813)
|
||||||
|
* Use standalone function to update repository cols (#34811)
|
||||||
|
* Refactor wiki (#34805)
|
||||||
|
* Remove unnecessary duplicate code (#34733)
|
||||||
|
* Refactor embedded assets and drop unnecessary dependencies (#34692)
|
||||||
|
* Update x/crypto package and make builtin SSH use default parameters (#34667)
|
||||||
|
* Add `--color-logo`, matching the logo's primary color (#34639)
|
||||||
|
* Add openssh-keygen to rootless image (#34625)
|
||||||
|
* Replace update repository function in some places (#34566)
|
||||||
|
* Change "rejected" to "changes requested" in 3rd party PR review notification (#34481)
|
||||||
|
* Remove legacy template helper functions (#34426)
|
||||||
|
* Use run-name and evaluate workflow variables (#34301)
|
||||||
|
* Move HasWiki to repository service package (#33912)
|
||||||
|
* Move some functions from package git to gitrepo (#33910)
|
||||||
|
* TESTING
|
||||||
|
* Add webhook test for push event (#34442)
|
||||||
|
* Add a webhook push test for dev branch (#34421)
|
||||||
|
* Add migrations tests (#34456) (#34498)
|
||||||
|
* STYLE
|
||||||
|
* Enforce explanation for necessary nolints and fix bugs (#34883)
|
||||||
|
* Fix remaining issues after `gopls modernize` formatting (#34771)
|
||||||
|
* Update gofumpt, add go.mod ignore directive (#35434)
|
||||||
|
* Enforce nolint scope (#34851)
|
||||||
|
* Enable gocritic `equalFold` and fix issues (#34952)
|
||||||
|
* Run `gopls modernize` on codebase (#34751)
|
||||||
|
* Upgrade `gopls` to v0.19.0, add `make fix` (#34772)
|
||||||
|
* BUILD
|
||||||
|
* Use github.com/mholt/archives replace github.com/mholt/archiver (#35390)
|
||||||
|
* Update JS and PY dependencies (#35444)
|
||||||
|
* Upgrade devcontainer go version to 1.24.6 (#35298)
|
||||||
|
* Upgrade golang to 1.25.1 and add descriptions for the swagger structs' fields (#35418)
|
||||||
|
* Update JS and PY deps (#35191)
|
||||||
|
* Update JS and PY dependencies (#34391)
|
||||||
|
* Update go tool dependencies (#34845)
|
||||||
|
* Update `uint8-to-base64`, remove type stub (#34844)
|
||||||
|
* Switch to `@resvg/resvg-wasm` for `generate-images` (#35415)
|
||||||
|
* Switch to pnpm (#35274)
|
||||||
|
* Update chroma to v2.20.0 (#35220)
|
||||||
|
* Migrate to urfave v3 (#34510)
|
||||||
|
* Update JS deps, regenerate SVGs (#34640)
|
||||||
|
* Upgrade dependencies (#35384)
|
||||||
|
* Bump `@github/relative-time-element` to v4.4.8 (#34413)
|
||||||
|
* Update JS dependencies (#34951)
|
||||||
|
* Upgrade orgmode to v1.8.0 (#34721)
|
||||||
|
* Raise minimum Node.js version to 20, test on 24 (#34713)
|
||||||
|
* Update JS deps (#34701)
|
||||||
|
* Upgrade htmx to 2.0.6 (#34887)
|
||||||
|
* Update eslint to v9 (#35485)
|
||||||
|
* Update js dependencies (#35429)
|
||||||
|
* Clean up npm dependencies (#35508)
|
||||||
|
* Clean up npm dependencies (#35484)
|
||||||
|
* Bump setup-node to v5 (#35448)
|
||||||
|
* MISC
|
||||||
|
* Add gitignore rules to exclude LLM instruction files (#35076)
|
||||||
|
* Gitignore: Visual Studio settings folder (#34375)
|
||||||
|
* Improve language in en-US locale strings (#35124)
|
||||||
|
* Fixed all grammatical errors in locale_en-US.ini (#35053)
|
||||||
|
* Docs/fix typo and grammar in CONTRIBUTING.md (#35024)
|
||||||
|
* Improve english grammar and readability in locale_en-US.ini (#35017)
|
||||||
|
|
||||||
## [1.24.0](https://github.com/go-gitea/gitea/releases/tag/1.24.0) - 2025-05-26
|
## [1.24.0](https://github.com/go-gitea/gitea/releases/tag/1.24.0) - 2025-05-26
|
||||||
|
|
||||||
* BREAKING
|
* BREAKING
|
||||||
|
|||||||
@@ -9,12 +9,14 @@ import (
|
|||||||
"html/template"
|
"html/template"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
issues_model "code.gitea.io/gitea/models/issues"
|
issues_model "code.gitea.io/gitea/models/issues"
|
||||||
"code.gitea.io/gitea/models/renderhelper"
|
"code.gitea.io/gitea/models/renderhelper"
|
||||||
user_model "code.gitea.io/gitea/models/user"
|
user_model "code.gitea.io/gitea/models/user"
|
||||||
"code.gitea.io/gitea/modules/git"
|
"code.gitea.io/gitea/modules/git"
|
||||||
"code.gitea.io/gitea/modules/gitrepo"
|
"code.gitea.io/gitea/modules/gitrepo"
|
||||||
|
"code.gitea.io/gitea/modules/htmlutil"
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
"code.gitea.io/gitea/modules/markup/markdown"
|
"code.gitea.io/gitea/modules/markup/markdown"
|
||||||
repo_module "code.gitea.io/gitea/modules/repository"
|
repo_module "code.gitea.io/gitea/modules/repository"
|
||||||
@@ -287,9 +289,10 @@ func UpdateCommentContent(ctx *context.Context) {
|
|||||||
ctx.ServerError("RenderString", err)
|
ctx.ServerError("RenderString", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
contentEmpty := fmt.Sprintf(`<span class="no-content">%s</span>`, ctx.Tr("repo.issues.no_content"))
|
|
||||||
renderedContent = template.HTML(contentEmpty)
|
if strings.TrimSpace(string(renderedContent)) == "" {
|
||||||
|
renderedContent = htmlutil.HTMLFormat(`<span class="no-content">%s</span>`, ctx.Tr("repo.issues.no_content"))
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.JSON(http.StatusOK, map[string]any{
|
ctx.JSON(http.StatusOK, map[string]any{
|
||||||
|
|||||||
@@ -168,10 +168,6 @@
|
|||||||
{{template "repo/issue/view_content/reference_issue_dialog" .}}
|
{{template "repo/issue/view_content/reference_issue_dialog" .}}
|
||||||
{{template "shared/user/block_user_dialog" .}}
|
{{template "shared/user/block_user_dialog" .}}
|
||||||
|
|
||||||
<div class="tw-hidden" id="no-content">
|
|
||||||
<span class="no-content">{{ctx.Locale.Tr "repo.issues.no_content"}}</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="ui g-modal-confirm delete modal">
|
<div class="ui g-modal-confirm delete modal">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
{{svg "octicon-trash"}}
|
{{svg "octicon-trash"}}
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ async function tryOnEditContent(e: DOMEvent<MouseEvent>) {
|
|||||||
if (!clickTarget) return;
|
if (!clickTarget) return;
|
||||||
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
const segment = clickTarget.closest('.comment-header').nextElementSibling;
|
const commentContent = clickTarget.closest('.comment-header').nextElementSibling;
|
||||||
const editContentZone = segment.querySelector('.edit-content-zone');
|
const editContentZone = commentContent.querySelector('.edit-content-zone');
|
||||||
const renderContent = segment.querySelector('.render-content');
|
let renderContent = commentContent.querySelector('.render-content');
|
||||||
const rawContent = segment.querySelector('.raw-content');
|
const rawContent = commentContent.querySelector('.raw-content');
|
||||||
|
|
||||||
let comboMarkdownEditor : ComboMarkdownEditor;
|
let comboMarkdownEditor : ComboMarkdownEditor;
|
||||||
|
|
||||||
@@ -47,30 +47,32 @@ async function tryOnEditContent(e: DOMEvent<MouseEvent>) {
|
|||||||
|
|
||||||
const response = await POST(editContentZone.getAttribute('data-update-url'), {data: params});
|
const response = await POST(editContentZone.getAttribute('data-update-url'), {data: params});
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
if (response.status === 400) {
|
if (!response.ok) {
|
||||||
showErrorToast(data.errorMessage);
|
showErrorToast(data?.errorMessage ?? window.config.i18n.error_occurred);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
reinitializeAreYouSure(editContentZone.querySelector('form')); // the form is no longer dirty
|
reinitializeAreYouSure(editContentZone.querySelector('form')); // the form is no longer dirty
|
||||||
editContentZone.setAttribute('data-content-version', data.contentVersion);
|
editContentZone.setAttribute('data-content-version', data.contentVersion);
|
||||||
if (!data.content) {
|
|
||||||
renderContent.innerHTML = document.querySelector('#no-content').innerHTML;
|
// replace the render content with new one, to trigger re-initialization of all features
|
||||||
rawContent.textContent = '';
|
const newRenderContent = renderContent.cloneNode(false) as HTMLElement;
|
||||||
} else {
|
newRenderContent.innerHTML = data.content;
|
||||||
renderContent.innerHTML = data.content;
|
renderContent.replaceWith(newRenderContent);
|
||||||
rawContent.textContent = comboMarkdownEditor.value();
|
renderContent = newRenderContent;
|
||||||
const refIssues = renderContent.querySelectorAll<HTMLElement>('p .ref-issue');
|
|
||||||
attachRefIssueContextPopup(refIssues);
|
rawContent.textContent = comboMarkdownEditor.value();
|
||||||
}
|
const refIssues = renderContent.querySelectorAll<HTMLElement>('p .ref-issue');
|
||||||
const content = segment;
|
attachRefIssueContextPopup(refIssues);
|
||||||
if (!content.querySelector('.dropzone-attachments')) {
|
|
||||||
|
if (!commentContent.querySelector('.dropzone-attachments')) {
|
||||||
if (data.attachments !== '') {
|
if (data.attachments !== '') {
|
||||||
content.insertAdjacentHTML('beforeend', data.attachments);
|
commentContent.insertAdjacentHTML('beforeend', data.attachments);
|
||||||
}
|
}
|
||||||
} else if (data.attachments === '') {
|
} else if (data.attachments === '') {
|
||||||
content.querySelector('.dropzone-attachments').remove();
|
commentContent.querySelector('.dropzone-attachments').remove();
|
||||||
} else {
|
} else {
|
||||||
content.querySelector('.dropzone-attachments').outerHTML = data.attachments;
|
commentContent.querySelector('.dropzone-attachments').outerHTML = data.attachments;
|
||||||
}
|
}
|
||||||
comboMarkdownEditor.dropzoneSubmitReload();
|
comboMarkdownEditor.dropzoneSubmitReload();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user