wxiaoguang 
							
						 
					 
					
						
						
							
						
						f0da1de7e3 
					 
					
						
						
							
							Improve package API log handling ( #35100 )  
						
						... 
						
						
						
						Simplify code and fix log processing logic 
						
						
					 
					
						2025-07-16 12:25:49 -04:00 
						 
				 
			
				
					
						
							
							
								Risu 
							
						 
					 
					
						
						
							
						
						e1e4815a1c 
					 
					
						
						
							
							Redirect to a presigned URL of HEAD for HEAD requests ( #35088 )  
						
						... 
						
						
						
						Resolves https://github.com/go-gitea/gitea/issues/35086 .
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com > 
						
						
					 
					
						2025-07-16 11:22:45 +00:00 
						 
				 
			
				
					
						
							
							
								wxiaoguang 
							
						 
					 
					
						
						
							
						
						8efc4ca334 
					 
					
						
						
							
							Refactor packages (func name & UI) ( #34773 )  
						
						... 
						
						
						
						1. Use `OpenXxx` instead of `GetXxx` because the returned readers should
be correctly closed, and clarify the behaviors of the functions: they
increase the download counter
2. Use `packages-content` styles instead of `issue-content` 
						
						
					 
					
						2025-06-18 19:04:24 +00:00 
						 
				 
			
				
					
						
							
							
								wxiaoguang 
							
						 
					 
					
						
						
							
						
						34dfc25b83 
					 
					
						
						
							
							Make git clone URL could use current signed-in user ( #33091 )  
						
						... 
						
						
						
						close  #33086 
* Add a special value for "SSH_USER" setting: `(DOER_USERNAME)`
* Improve parseRepositoryURL and add tests (now it doesn't have hard
dependency on some setting values)
Many changes are just adding "ctx" and "doer" argument to functions.
By the way, improve app.example.ini, remove all `%(key)s` syntax, it
only makes messy and no user really cares about it.
Document: https://gitea.com/gitea/docs/pulls/138  
					
						2025-01-07 13:17:44 +08:00 
						 
				 
			
				
					
						
							
							
								wxiaoguang 
							
						 
					 
					
						
						
							
						
						80e4f4c4eb 
					 
					
						
						
							
							Refactor package (routes and error handling, npm peer dependency) ( #33111 )  
						
						
						
						
					 
					
						2025-01-06 22:45:20 +08:00 
						 
				 
			
				
					
						
							
							
								wxiaoguang 
							
						 
					 
					
						
						
							
						
						43c7a2e7b1 
					 
					
						
						
							
							Refactor names ( #31405 )  
						
						... 
						
						
						
						This PR only does "renaming":
* `Route` should be `Router` (and chi router is also called "router")
* `Params` should be `PathParam` (to distingush it from URL query param, and to match `FormString`)
* Use lower case for private functions to avoid exposing or abusing 
						
						
					 
					
						2024-06-19 06:32:45 +08:00 
						 
				 
			
				
					
						
							
							
								Micash 
							
						 
					 
					
						
						
							
						
						ad4e902d5a 
					 
					
						
						
							
							Add support for npm bundleDependencies ( #30751 )  
						
						
						
						
					 
					
						2024-04-29 16:19:06 +08:00 
						 
				 
			
				
					
						
							
							
								wxiaoguang 
							
						 
					 
					
						
						
							
						
						bf6502a8f7 
					 
					
						
						
							
							Fix incorrect relative/absolute URL usages ( #29531 )  
						
						... 
						
						
						
						Add two "HTMLURL" methods for PackageDescriptor. 
And rename "FullWebLink" to "VersionWebLink" 
						
						
					 
					
						2024-03-02 17:38:38 +00:00 
						 
				 
			
				
					
						
							
							
								6543 
							
						 
					 
					
						
						
							
						
						a3f05d0d98 
					 
					
						
						
							
							remove util.OptionalBool and related functions ( #29513 )  
						
						... 
						
						
						
						and migrate affected code
_last refactoring bits to replace **util.OptionalBool** with
**optional.Option[bool]**_ 
						
						
					 
					
						2024-03-02 16:42:31 +01:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
						
						29f149bd9f 
					 
					
						
						
							
							Move context from modules to services ( #29440 )  
						
						... 
						
						
						
						Since `modules/context` has to depend on `models` and many other
packages, it should be moved from `modules/context` to
`services/context` according to design principles. There is no logic
code change on this PR, only move packages.
- Move `code.gitea.io/gitea/modules/context` to
`code.gitea.io/gitea/services/context`
- Move `code.gitea.io/gitea/modules/contexttest` to
`code.gitea.io/gitea/services/contexttest` because of depending on
context
- Move `code.gitea.io/gitea/modules/upload` to
`code.gitea.io/gitea/services/context/upload` because of depending on
context 
						
						
					 
					
						2024-02-27 08:12:22 +01:00 
						 
				 
			
				
					
						
							
							
								Nanguan Lin 
							
						 
					 
					
						
						
							
						
						5b6258a0b9 
					 
					
						
						
							
							Fix the wrong HTTP response status code for duplicate packages ( #27480 )  
						
						... 
						
						
						
						fix  #27470  
(hope there is nothing missing 😢  )
---------
Co-authored-by: KN4CK3R <admin@oldschoolhack.me > 
					
						2023-10-10 15:39:58 +02:00 
						 
				 
			
				
					
						
							
							
								JakobDev 
							
						 
					 
					
						
						
							
						
						7047df36d4 
					 
					
						
						
							
							Another round of db.DefaultContext refactor ( #27103 )  
						
						... 
						
						
						
						Part of #27065 
---------
Co-authored-by: KN4CK3R <admin@oldschoolhack.me > 
						
						
					 
					
						2023-09-25 13:17:37 +00:00 
						 
				 
			
				
					
						
							
							
								delvh 
							
						 
					 
					
						
						
							
						
						f3d41c61eb 
					 
					
						
						
							
							Remove db.DefaultContext in routers/ and cmd/ ( #26076 )  
						
						... 
						
						
						
						Now, the only remaining usages of `models.db.DefaultContext` are in
  - `modules`
  - `models`
  - `services` 
						
						
					 
					
						2023-07-23 23:47:27 -04:00 
						 
				 
			
				
					
						
							
							
								silverwind 
							
						 
					 
					
						
						
							
						
						88f835192d 
					 
					
						
						
							
							Replace interface{} with any ( #25686 )  
						
						... 
						
						
						
						Result of running `perl -p -i -e 's#interface\{\}#any#g' **/*` and `make fmt`.
Basically the same [as golang did](2580d0e08d 
						
						
					 
					
						2023-07-04 18:36:08 +00:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						c890454769 
					 
					
						
						
							
							Add direct serving of package content ( #25543 )  
						
						... 
						
						
						
						Fixes  #24723 
Direct serving of content aka HTTP redirect is not mentioned in any of
the package registry specs but lots of official registries do that so it
should be supported by the usual clients. 
					
						2023-07-03 15:33:28 +02:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						bf999e4069 
					 
					
						
						
							
							Add Debian package registry ( #24426 )  
						
						... 
						
						
						
						Co-authored-by: @awkwardbunny
This PR adds a Debian package registry.
You can follow [this
tutorial](https://www.baeldung.com/linux/create-debian-package ) to build
a *.deb package for testing.
Source packages are not supported at the moment and I did not find
documentation of the architecture "all" and how these packages should be
treated.

Part of #20751 .
Revised copy of #22854 .
---------
Co-authored-by: Brian Hong <brian@hongs.me >
Co-authored-by: techknowlogick <techknowlogick@gitea.io >
Co-authored-by: Giteabot <teabot@gitea.io > 
						
						
					 
					
						2023-05-02 12:31:35 -04:00 
						 
				 
			
				
					
						
							
							
								Yarden Shoham 
							
						 
					 
					
						
						
							
						
						c0ddec8a2a 
					 
					
						
						
							
							Revert "Add Debian package registry" ( #24412 )  
						
						... 
						
						
						
						Reverts go-gitea/gitea#22854  
						
						
					 
					
						2023-04-28 18:06:41 -04:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						bf77e2163b 
					 
					
						
						
							
							Add Debian package registry ( #22854 )  
						
						... 
						
						
						
						Co-authored-by: @awkwardbunny
This PR adds a Debian package registry. You can follow [this
tutorial](https://www.baeldung.com/linux/create-debian-package ) to build
a *.deb package for testing. Source packages are not supported at the
moment and I did not find documentation of the architecture "all" and
how these packages should be treated.
---------
Co-authored-by: Brian Hong <brian@hongs.me >
Co-authored-by: techknowlogick <techknowlogick@gitea.io > 
						
						
					 
					
						2023-04-28 17:51:36 -04:00 
						 
				 
			
				
					
						
							
							
								Mai-Lapyst 
							
						 
					 
					
						
						
							
						
						5cd1d6c93b 
					 
					
						
						
							
							Set repository link based on the url in package.json for npm packages ( #20379 )  
						
						... 
						
						
						
						automatically set repository link for package based on the repository
url present inside package.json
closes  #20146  
						
						
					 
					
						2023-03-28 13:55:03 -04:00 
						 
				 
			
				
					
						
							
							
								Zettat123 
							
						 
					 
					
						
						
							
						
						46addc1f93 
					 
					
						
						
							
							Return repository in npm package metadata endpoint ( #23539 )  
						
						... 
						
						
						
						Close  #23444  
Add `Repository` to npm package `Metadata` struct so the `repository` in
`package.json` can be stored and be returned in the endpoint.
Co-authored-by: KN4CK3R <admin@oldschoolhack.me > 
					
						2023-03-17 14:39:19 -04:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						3fef47b41c 
					 
					
						
						
							
							Use ErrInvalidArgument in packages ( #22268 )  
						
						... 
						
						
						
						Related to
https://github.com/go-gitea/gitea/pull/22262#discussion_r1059010774 
Signed-off-by: Andrew Thornton <art27@cantab.net >
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: zeripath <art27@cantab.net >
Co-authored-by: Lauris BH <lauris@nix.lv > 
						
						
					 
					
						2022-12-31 12:49:37 +01:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						07461e18d3 
					 
					
						
						
							
							Fix condition for is_internal ( #22095 )  
						
						... 
						
						
						
						depends on #22094 
Fixes https://codeberg.org/forgejo/forgejo/issues/77 
The old logic did not consider `is_internal`.
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: techknowlogick <techknowlogick@gitea.io > 
						
						
					 
					
						2022-12-14 17:16:01 +08:00 
						 
				 
			
				
					
						
							
							
								flynnnnnnnnnn 
							
						 
					 
					
						
						
							
						
						e81ccc406b 
					 
					
						
						
							
							Implement FSFE REUSE for golang files ( #21840 )  
						
						... 
						
						
						
						Change all license headers to comply with REUSE specification.
Fix  #16132 
Co-authored-by: flynnnnnnnnnn <flynnnnnnnnnn@github>
Co-authored-by: John Olheiser <john.olheiser@gmail.com > 
						
						
					 
					
						2022-11-27 18:20:29 +00:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						fc7a2d5a95 
					 
					
						
						
							
							Add support for HEAD requests in Maven registry ( #21834 )  
						
						... 
						
						
						
						Related #18543 
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com > 
						
						
					 
					
						2022-11-24 16:25:13 +02:00 
						 
				 
			
				
					
						
							
							
								Lunny Xiao 
							
						 
					 
					
						
						
							
						
						34283a74e8 
					 
					
						
						
							
							Allow detect whether it's in a database transaction for a context.Context ( #21756 )  
						
						... 
						
						
						
						Fix  #19513 
This PR introduce a new db method `InTransaction(context.Context)`,
and also builtin check on `db.TxContext` and `db.WithTx`.
There is also a new method `db.AutoTx` has been introduced but could be used by other PRs.
`WithTx` will always open a new transaction, if a transaction exist in context, return an error.
`AutoTx` will try to open a new transaction if no transaction exist in context.
That means it will always enter a transaction if there is no error.
Co-authored-by: delvh <dev.lh@web.de >
Co-authored-by: 6543 <6543@obermui.de > 
					
						2022-11-12 21:18:50 +01:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						20674dd05d 
					 
					
						
						
							
							Add package registry quota limits ( #21584 )  
						
						... 
						
						
						
						Related #20471 
This PR adds global quota limits for the package registry. Settings for
individual users/orgs can be added in a seperate PR using the settings
table.
Co-authored-by: Lauris BH <lauris@nix.lv >
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com > 
						
						
					 
					
						2022-11-09 14:34:27 +08:00 
						 
				 
			
				
					
						
							
							
								Wayne Starr 
							
						 
					 
					
						
						
							
						
						49a4464160 
					 
					
						
						
							
							Allow for resolution of NPM registry paths that match upstream ( #21568 )  
						
						... 
						
						
						
						This PR fixes issue #21567  allowing for package tarball URLs to match
the upstream registry (and GitLab/JFrog Artifactory URLs). It uses a
regex to parse the filename (which contains the NPM version) and does a
fuzzy search to pull it out. The regex was built/expanded from
http://json.schemastore.org/package ,
https://github.com/Masterminds/semver , and
https://docs.npmjs.com/cli/v6/using-npm/semver  and is testable here:
https://regex101.com/r/OydBJq/5 
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com > 
						
						
					 
					
						2022-10-24 21:50:22 +08:00 
						 
				 
			
				
					
						
							
							
								eleith 
							
						 
					 
					
						
						
							
						
						bbbf9a4b93 
					 
					
						
						
							
							npm package registry support for bin ( #21372 )  
						
						... 
						
						
						
						Fix  #21303 
npm package.json supports binary packaging:
https://docs.npmjs.com/cli/v8/configuring-npm/package-json#bin 
the npm registry documents that the binary references will be attached
to the abbreviated version object:
https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-version-object 
unfortunately their api documentation leaves this out:
https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-version-objectdoc 
which is likely to be the reason this was left out in gitea's initial
implementation
this response is critical for npm to install the binary in the `.bin`
folder so as to be included on the users default bin path, resulting in
immediate access to any binaries provided by the package 
					
						2022-10-08 13:24:44 +08:00 
						 
				 
			
				
					
						
							
							
								Jack Vine 
							
						 
					 
					
						
						
							
						
						83680c97a7 
					 
					
						
						
							
							NPM Package Registry search API endpoint ( #20280 )  
						
						... 
						
						
						
						Close  #20098 , in the NPM registry API, implemented to match what's described by https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#get-v1search 
Currently have only implemented the bare minimum to work with the [Unity Package Manager](https://docs.unity3d.com/Manual/upm-ui.html ).
Co-authored-by: Jack Vine <jackv@jack-lemur-suse.cat-prometheus.ts.net >
Co-authored-by: KN4CK3R <admin@oldschoolhack.me >
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com > 
					
						2022-09-24 19:24:33 +08:00 
						 
				 
			
				
					
						
							
							
								José Carlos 
							
						 
					 
					
						
						
							
						
						b8818a1c68 
					 
					
						
						
							
							fix: PackageMetadataVersion deps ( #21017 )  
						
						... 
						
						
						
						Set DevDependencies, PeerDependencies & OptionalDependencies in npm package metadatas
Fix  #21013  
						
						
					 
					
						2022-09-02 23:00:18 +01:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						dc0253b063 
					 
					
						
						
							
							Replace ServeStream with ServeContent ( #20903 )  
						
						... 
						
						
						
						* Replace ServeStream with ServeContent.
* Update modules/timeutil/timestamp.go
Co-authored-by: delvh <dev.lh@web.de >
Co-authored-by: delvh <dev.lh@web.de >
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: techknowlogick <techknowlogick@gitea.io > 
						
						
					 
					
						2022-08-25 12:05:21 -04:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						fba20550f9 
					 
					
						
						
							
							Add support for npm unpublish ( #20688 )  
						
						
						
						
					 
					
						2022-08-09 15:23:43 +08:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						86e5268c39 
					 
					
						
						
							
							Add Docker /v2/_catalog endpoint ( #20469 )  
						
						... 
						
						
						
						* Added properties for packages.
* Fixed authenticate header format.
* Added _catalog endpoint.
* Check owner visibility.
* Extracted condition.
* Added test for _catalog.
Co-authored-by: 6543 <6543@obermui.de >
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: Lauris BH <lauris@nix.lv >
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com > 
						
						
					 
					
						2022-07-28 11:59:39 +08:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						a3d55ac523 
					 
					
						
						
							
							Hide internal package versions ( #20492 )  
						
						... 
						
						
						
						* Hide internal versions from most searches.
* Added test. 
						
						
					 
					
						2022-07-27 09:59:10 +08:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						5e242e021b 
					 
					
						
						
							
							Package registry changes ( #19305 )  
						
						... 
						
						
						
						* removed debug logs
* fixed SELECT
* removed unneeded error type
* use common SearchVersions method
* remove empty container upload versions
* return err 
						
						
					 
					
						2022-04-06 03:32:09 +02:00 
						 
				 
			
				
					
						
							
							
								KN4CK3R 
							
						 
					 
					
						
						
							
						
						1d332342db 
					 
					
						
						
							
							Add Package Registry ( #16510 )  
						
						... 
						
						
						
						* Added package store settings.
* Added models.
* Added generic package registry.
* Added tests.
* Added NuGet package registry.
* Moved service index to api file.
* Added NPM package registry.
* Added Maven package registry.
* Added PyPI package registry.
* Summary is deprecated.
* Changed npm name.
* Sanitize project url.
* Allow only scoped packages.
* Added user interface.
* Changed method name.
* Added missing migration file.
* Set page info.
* Added documentation.
* Added documentation links.
* Fixed wrong error message.
* Lint template files.
* Fixed merge errors.
* Fixed unit test storage path.
* Switch to json module.
* Added suggestions.
* Added package webhook.
* Add package api.
* Fixed swagger file.
* Fixed enum and comments.
* Fixed NuGet pagination.
* Print test names.
* Added api tests.
* Fixed access level.
* Fix User unmarshal.
* Added RubyGems package registry.
* Fix lint.
* Implemented io.Writer.
* Added support for sha256/sha512 checksum files.
* Improved maven-metadata.xml support.
* Added support for symbol package uploads.
* Added tests.
* Added overview docs.
* Added npm dependencies and keywords.
* Added no-packages information.
* Display file size.
* Display asset count.
* Fixed filter alignment.
* Added package icons.
* Formatted instructions.
* Allow anonymous package downloads.
* Fixed comments.
* Fixed postgres test.
* Moved file.
* Moved models to models/packages.
* Use correct error response format per client.
* Use simpler search form.
* Fixed IsProd.
* Restructured data model.
* Prevent empty filename.
* Fix swagger.
* Implemented user/org registry.
* Implemented UI.
* Use GetUserByIDCtx.
* Use table for dependencies.
* make svg
* Added support for unscoped npm packages.
* Add support for npm dist tags.
* Added tests for npm tags.
* Unlink packages if repository gets deleted.
* Prevent user/org delete if a packages exist.
* Use package unlink in repository service.
* Added support for composer packages.
* Restructured package docs.
* Added missing tests.
* Fixed generic content page.
* Fixed docs.
* Fixed swagger.
* Added missing type.
* Fixed ambiguous column.
* Organize content store by sha256 hash.
* Added admin package management.
* Added support for sorting.
* Add support for multiple identical versions/files.
* Added missing repository unlink.
* Added file properties.
* make fmt
* lint
* Added Conan package registry.
* Updated docs.
* Unify package names.
* Added swagger enum.
* Use longer TEXT column type.
* Removed version composite key.
* Merged package and container registry.
* Removed index.
* Use dedicated package router.
* Moved files to new location.
* Updated docs.
* Fixed JOIN order.
* Fixed GROUP BY statement.
* Fixed GROUP BY #2 .
* Added symbol server support.
* Added more tests.
* Set NOT NULL.
* Added setting to disable package registries.
* Moved auth into service.
* refactor
* Use ctx everywhere.
* Added package cleanup task.
* Changed packages path.
* Added container registry.
* Refactoring
* Updated comparison.
* Fix swagger.
* Fixed table order.
* Use token auth for npm routes.
* Enabled ReverseProxy auth.
* Added packages link for orgs.
* Fixed anonymous org access.
* Enable copy button for setup instructions.
* Merge error
* Added suggestions.
* Fixed merge.
* Handle "generic".
* Added link for TODO.
* Added suggestions.
* Changed temporary buffer filename.
* Added suggestions.
* Apply suggestions from code review
Co-authored-by: Thomas Boerger <thomas@webhippie.de >
* Update docs/content/doc/packages/nuget.en-us.md
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
Co-authored-by: Thomas Boerger <thomas@webhippie.de > 
						
						
					 
					
						2022-03-30 16:42:47 +08:00