1f0acf2825
fix(oci): remove /v2/ from internal route patterns and make upstream apiPrefix configurable
...
The OCI handler had /v2/ baked into all regex patterns and Location headers.
When basePath was set to /v2 (as in stack.gallery), stripping it removed the
prefix that patterns expected, causing all OCI endpoints to 404.
Now patterns match on bare paths after basePath stripping, working correctly
regardless of the basePath value.
Also adds configurable apiPrefix to OCI upstream class (default /v2) for
registries behind reverse proxies with custom path prefixes.
2026-03-21 16:17:52 +00:00
37e4c5be4a
fix(npm): decode URL-encoded package names after regex extraction
...
Scoped npm packages use %2f encoding for the slash in URLs (e.g. @scope%2fpackage).
Previously, the encoded name was used as-is for storage and packument metadata,
causing npm install to fail with EINVALIDPACKAGENAME. Now each regex extraction
point decodes the package name via decodeURIComponent while keeping the path
encoded for correct regex matching.
2026-03-21 11:59:52 +00:00
9bbc3da484
v2.7.0
Default (tags) / security (push) Successful in 43s
Default (tags) / test (push) Failing after 41s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.7.0
2025-12-03 22:16:40 +00:00
e9af3f8328
feat(upstream): Add dynamic per-request upstream provider and integrate into registries
2025-12-03 22:16:40 +00:00
351680159b
v2.6.0
Default (tags) / security (push) Successful in 44s
Default (tags) / test (push) Failing after 43s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.6.0
2025-11-27 22:12:52 +00:00
0cabf284ed
feat(core): Add core registry infrastructure: storage, auth, upstream cache, and protocol handlers
2025-11-27 22:12:52 +00:00
dbc8566aad
v2.5.0
Default (tags) / security (push) Successful in 43s
Default (tags) / test (push) Failing after 44s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.5.0
2025-11-27 21:11:04 +00:00
bd64a7b140
feat(pypi,rubygems): Add PyPI and RubyGems protocol implementations, upstream caching, and auth/storage improvements
2025-11-27 21:11:04 +00:00
ae8dec9142
v2.4.0
Default (tags) / security (push) Successful in 45s
Default (tags) / test (push) Failing after 45s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.4.0
2025-11-27 20:59:49 +00:00
19da87a9df
feat(core): Add pluggable auth providers, storage hooks, multi-upstream cache awareness, and PyPI/RubyGems protocol implementations
2025-11-27 20:59:49 +00:00
99b01733e7
v2.3.0
Default (tags) / security (push) Successful in 39s
Default (tags) / test (push) Failing after 45s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.3.0
2025-11-27 14:20:01 +00:00
0610077eec
feat(upstream): Add upstream proxy/cache subsystem and integrate per-protocol upstreams
2025-11-27 14:20:01 +00:00
cfadc89b5a
v2.2.3
Default (tags) / security (push) Successful in 45s
Default (tags) / test (push) Failing after 38s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.2.3
2025-11-27 12:41:38 +00:00
eb91a3f75b
fix(tests): Use unique test run IDs and add S3 cleanup in test helpers to avoid cross-run conflicts
2025-11-27 12:41:38 +00:00
58a21a6bbb
v2.2.2
Default (tags) / security (push) Successful in 38s
Default (tags) / test (push) Failing after 36s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.2.2
2025-11-25 23:25:26 +00:00
da1cf8ddeb
fix(npm): Replace console logging with structured Smartlog in NPM registry and silence RubyGems helper error logging
2025-11-25 23:25:26 +00:00
35ff286169
v2.2.1
Default (tags) / security (push) Successful in 39s
Default (tags) / test (push) Failing after 37s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.2.1
2025-11-25 22:35:31 +00:00
a78934836e
fix(core): Normalize binary data handling across registries and add buffer helpers
2025-11-25 22:35:31 +00:00
e81fa41b18
v2.2.0
Default (tags) / security (push) Successful in 39s
Default (tags) / test (push) Failing after 36s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.2.0
2025-11-25 22:10:06 +00:00
41405eb40a
feat(core/registrystorage): Persist OCI manifest content-type in sidecar and normalize manifest body handling
2025-11-25 22:10:06 +00:00
67188a4e9f
v2.1.2
Default (tags) / security (push) Successful in 39s
Default (tags) / test (push) Failing after 36s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.1.2
2025-11-25 17:15:47 +00:00
a2f7f43027
fix(oci): Prefer raw request body for content-addressable OCI operations and expose rawBody on request context
2025-11-25 17:15:47 +00:00
37a89239d9
v2.1.1
Default (tags) / security (push) Successful in 35s
Default (tags) / test (push) Failing after 36s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.1.1
2025-11-25 16:59:37 +00:00
93fee289e7
fix(oci): Preserve raw manifest bytes for digest calculation and handle string/JSON manifest bodies in OCI registry
2025-11-25 16:59:37 +00:00
30fd9a4238
v2.1.0
Default (tags) / security (push) Successful in 47s
Default (tags) / test (push) Failing after 48s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.1.0
2025-11-25 16:48:08 +00:00
3b5bf5e789
feat(oci): Support configurable OCI token realm/service and centralize unauthorized responses
2025-11-25 16:48:08 +00:00
9b92e1c0d2
v2.0.0
Default (tags) / security (push) Successful in 49s
Default (tags) / test (push) Failing after 50s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v2.0.0
2025-11-25 15:07:59 +00:00
6291ebf79b
BREAKING CHANGE(pypi,rubygems): Revise PyPI and RubyGems handling: normalize error payloads, fix .gem parsing/packing, adjust PyPI JSON API and tests, and export smartarchive plugin
2025-11-25 15:07:59 +00:00
fcd95677a0
v1.9.0
Default (tags) / security (push) Successful in 51s
Default (tags) / test (push) Failing after 52s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v1.9.0
2025-11-25 14:28:19 +00:00
547c262578
feat(auth): Implement HMAC-SHA256 OCI JWTs; enhance PyPI & RubyGems uploads and normalize responses
2025-11-25 14:28:19 +00:00
2d6059ba7f
v1.8.0
Default (tags) / security (push) Successful in 40s
Default (tags) / test (push) Failing after 37s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v1.8.0
2025-11-24 00:15:29 +00:00
284329c191
feat(smarts3): Add local smarts3 testing support and documentation
2025-11-24 00:15:29 +00:00
4f662ff611
v1.7.0
Default (tags) / security (push) Successful in 40s
Default (tags) / test (push) Failing after 36s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v1.7.0
2025-11-23 23:54:42 +00:00
b3da95e6c1
feat(core): Standardize S3 storage config using @tsclass/tsclass IS3Descriptor and wire it into RegistryStorage and plugins exports; update README and package dependencies.
2025-11-23 23:54:41 +00:00
b1bb6af312
v1.6.0
Default (tags) / security (push) Successful in 27s
Default (tags) / test (push) Failing after 36s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v1.6.0
2025-11-21 17:13:06 +00:00
0d73230d5a
feat(core): Add PyPI and RubyGems registries, integrate into SmartRegistry, extend storage and auth
2025-11-21 17:13:06 +00:00
ac51a94c8b
v1.5.0
Default (tags) / security (push) Successful in 40s
Default (tags) / test (push) Failing after 37s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v1.5.0
2025-11-21 14:23:18 +00:00
9ca1e670ef
feat(core): Add PyPI and RubyGems protocol support, Cargo token management, and storage helpers
2025-11-21 14:23:18 +00:00
fb8d6897e3
v1.4.1
Default (tags) / security (push) Successful in 35s
Default (tags) / test (push) Failing after 35s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v1.4.1
2025-11-21 09:36:02 +00:00
81ae4f2d59
fix(devcontainer): Simplify devcontainer configuration and rename container image
2025-11-21 09:36:02 +00:00
374469e37e
v1.4.0
Default (tags) / security (push) Successful in 39s
Default (tags) / test (push) Failing after 36s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v1.4.0
2025-11-21 09:25:19 +00:00
9039613f7a
feat(registrystorage): Add deleteMavenMetadata to RegistryStorage and update Maven DELETE test to expect 204 No Content
2025-11-21 09:25:19 +00:00
4d13fac9f1
v1.3.1
Default (tags) / security (push) Successful in 25s
Default (tags) / test (push) Failing after 44s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v1.3.1
2025-11-21 09:17:35 +00:00
42209d235d
fix(maven): Pass request path to Maven checksum handler so checksum files are resolved correctly
2025-11-21 09:17:35 +00:00
80005af576
v1.3.0
Default (tags) / security (push) Successful in 33s
Default (tags) / test (push) Failing after 36s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v1.3.0
2025-11-21 09:13:02 +00:00
8d48627301
feat(core): Add Cargo and Composer registries with storage, auth and helpers
2025-11-21 09:13:02 +00:00
92d27d8b15
v1.2.0
Default (tags) / security (push) Successful in 41s
Default (tags) / test (push) Failing after 37s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v1.2.0
2025-11-21 08:58:29 +00:00
0b31219b7d
feat(maven): Add Maven registry protocol support (storage, auth, routing, interfaces, and exports)
2025-11-21 08:58:29 +00:00
29dea2e0e8
v1.1.1
Default (tags) / security (push) Successful in 26s
Default (tags) / test (push) Failing after 36s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
v1.1.1
2025-11-20 19:48:32 +00:00
52dc1c0549
fix(oci): Improve OCI manifest permission response and tag handling: include WWW-Authenticate header on unauthorized manifest GETs, accept optional headers in manifest lookup, and persist tags as a unified tags.json mapping when pushing manifests.
2025-11-20 19:48:32 +00:00