v0.24.0

- Action variable/secret option types consolidated (OrgActionVariable -> ActionVariable, CreateSecretOption -> CreateOrUpdateSecretOption)
- CreateRepoActionSecret/CreateOrgActionSecret signatures changed (secret name is now a separate parameter)
- CreateOrgActionVariable/UpdateOrgActionVariable use shared option types
- MergePullRequestOption.DeleteBranchAfterMerge changed from bool to *bool (nil omits the field)
- Package.Owner and Package.Creator changed from User to *User
- ContentsResponse.LastCommitSha changed from string to *string
- UpdateRepoBranch deprecated in favor of RenameRepoBranch

- RerunRepoActionRun - Rerun an entire workflow run
- RerunRepoActionRunFailedJobs - Rerun only failed jobs in a workflow run
- RerunRepoActionJob - Rerun a specific job in a workflow run

- ListRepoActionWorkflows - List repository workflow definitions
- GetRepoActionWorkflow - Get a workflow definition
- DisableRepoActionWorkflow - Disable a workflow
- EnableRepoActionWorkflow - Enable a workflow
- DispatchRepoActionWorkflow - Trigger a workflow_dispatch event

- ListRepoActionRunArtifacts - List artifacts for a workflow run
- ListRepoActionArtifacts - List all repository artifacts
- GetRepoActionArtifact - Get a specific artifact
- DeleteRepoActionArtifact - Delete an artifact
- GetRepoActionArtifactArchive - Download artifact zip
- GetRepoActionArtifactArchiveReader - Stream artifact zip

- ListAdminActionRunners - List admin-scope runners
- GetAdminActionRunner - Get one admin-scope runner
- DeleteAdminActionRunner - Delete one admin-scope runner
- UpdateAdminActionRunner - Update one admin-scope runner
- CreateAdminActionRunnerRegistrationToken - Create admin runner registration token
- ListAdminActionRuns - List admin-scope workflow runs
- ListAdminActionJobs - List admin-scope jobs

- ListOrgActionRunners - List org-scope runners
- GetOrgActionRunner - Get one org-scope runner
- DeleteOrgActionRunner - Delete one org-scope runner
- UpdateOrgActionRunner - Update one org-scope runner
- CreateOrgActionRunnerRegistrationToken - Create org runner registration token
- ListOrgActionRuns - List org-scope workflow runs
- ListOrgActionJobs - List org-scope jobs

- ListRepoActionRunners - List repo-scope runners
- GetRepoActionRunner - Get one repo-scope runner
- DeleteRepoActionRunner - Delete one repo-scope runner
- UpdateRepoActionRunner - Update one repo-scope runner
- CreateRepoActionRunnerRegistrationToken - Create repo runner registration token

- ListUserActionRunners - List user-scope runners
- GetUserActionRunner - Get one user-scope runner
- DeleteUserActionRunner - Delete one user-scope runner
- UpdateUserActionRunner - Update one user-scope runner
- CreateUserActionRunnerRegistrationToken - Create user runner registration token
- ListUserActionRuns - List user-scope workflow runs
- ListUserActionJobs - List user-scope jobs

- CreateUserActionSecret - Create or update a user-scope secret
- DeleteUserActionSecret - Delete a user-scope secret
- ListUserActionVariable - List user-scope variables
- GetUserActionVariable - Get one user-scope variable
- CreateUserActionVariable - Create a user-scope variable
- UpdateUserActionVariable - Update a user-scope variable
- DeleteUserActionVariable - Delete a user-scope variable

- DeleteOrgActionSecret - Delete an org-scope secret
- DeleteOrgActionVariable - Delete an org-scope variable

- GetPullRequestByBaseHead - Get a PR by base and head branch names
- CancelScheduledAutoMerge - Cancel a scheduled auto-merge
- ResolvePullReviewComment - Resolve a review comment conversation
- UnresolvePullReviewComment - Unresolve a review comment conversation

- ListIssueAttachments - List attachments for an issue
- GetIssueAttachment - Get one issue attachment
- CreateIssueAttachment - Upload an attachment to an issue
- EditIssueAttachment - Update issue attachment metadata
- DeleteIssueAttachment - Delete an issue attachment
- CreateIssueCommentAttachment - Upload an attachment to a comment

- RenameRepoBranch - Rename a branch
- UpdateRepoBranchRef - Update the commit a branch points to
- GetRepoFileContents - Batch fetch file metadata/contents (GET)
- PostRepoFileContents - Batch fetch file metadata/contents (POST)
- GetIssueConfig - Get parsed issue config for a repository
- GetRepoLicenses - Get detected licenses for a repository
- GetRepoSigningKeyGPG - Get repository GPG signing key
- GetRepoSigningKeySSH - Get repository SSH signing key
- ListRepoSubscribers - List repository watchers
- ApplyRepoDiffPatch - Apply a diff/patch to repository contents
- TriggerPushMirrorsSync - Trigger push-mirror sync
- ChangeFiles - Batch create/update/delete files
- CheckPinAllowed - Check if new issue/PR pins are allowed
- ListRepoPinnedPullRequests - List pinned pull requests
- TestWebhook - Test a push webhook
- MergeUpstream - Merge upstream into a fork
- UpdateBranchProtectionPriorities - Update branch protection rule priorities

- GetTeamRepository - Check if a repository belongs to a team

- ListPackageVersions - List all versions of a package

- MergePullRequest now treats HTTP 201 as success
- Branch names with slashes are now correctly escaped in GetRepoBranch/DeleteRepoBranch
- SetGiteaVersion/loadServerVersion now correctly return parse errors

**Full Changelog**: [gitea/v0.23.2...gitea/v0.24.0](https://gitea.com/gitea/go-sdk/compare/gitea/v0.23.2...gitea/v0.24.0)