# @verdaccio/server-fastify ## 7.0.0-next-7.11 ### Patch Changes - Updated dependencies [c9962fe] - @verdaccio/config@7.0.0-next-7.11 - @verdaccio/auth@7.0.0-next-7.11 - @verdaccio/store@7.0.0-next-7.11 - @verdaccio/core@7.0.0-next-7.11 - @verdaccio/tarball@12.0.0-next-7.11 - @verdaccio/utils@7.0.0-next-7.11 - @verdaccio/logger@7.0.0-next-7.11 ## 7.0.0-next-7.10 ### Patch Changes - @verdaccio/core@7.0.0-next-7.10 - @verdaccio/config@7.0.0-next-7.10 - @verdaccio/auth@7.0.0-next-7.10 - @verdaccio/tarball@12.0.0-next-7.10 - @verdaccio/store@7.0.0-next-7.10 - @verdaccio/utils@7.0.0-next-7.10 - @verdaccio/logger@7.0.0-next-7.10 ## 7.0.0-next-7.9 ### Patch Changes - Updated dependencies [c807f0c] - @verdaccio/store@7.0.0-next-7.9 - @verdaccio/core@7.0.0-next-7.9 - @verdaccio/config@7.0.0-next-7.9 - @verdaccio/auth@7.0.0-next-7.9 - @verdaccio/tarball@12.0.0-next-7.9 - @verdaccio/utils@7.0.0-next-7.9 - @verdaccio/logger@7.0.0-next-7.9 ## 7.0.0-next-7.8 ### Patch Changes - @verdaccio/core@7.0.0-next-7.8 - @verdaccio/config@7.0.0-next-7.8 - @verdaccio/auth@7.0.0-next-7.8 - @verdaccio/tarball@12.0.0-next-7.8 - @verdaccio/store@7.0.0-next-7.8 - @verdaccio/utils@7.0.0-next-7.8 - @verdaccio/logger@7.0.0-next-7.8 ## 7.0.0-next-7.7 ### Patch Changes - @verdaccio/core@7.0.0-next-7.7 - @verdaccio/config@7.0.0-next-7.7 - @verdaccio/auth@7.0.0-next-7.7 - @verdaccio/tarball@12.0.0-next-7.7 - @verdaccio/store@7.0.0-next-7.7 - @verdaccio/utils@7.0.0-next-7.7 - @verdaccio/logger@7.0.0-next-7.7 ## 7.0.0-next.6 ### Patch Changes - Updated dependencies [e14b064] - Updated dependencies [4d96324] - @verdaccio/store@7.0.0-next.6 - @verdaccio/tarball@12.0.0-next.6 - @verdaccio/config@7.0.0-next.6 - @verdaccio/auth@7.0.0-next.6 - @verdaccio/core@7.0.0-next.6 - @verdaccio/utils@7.0.0-next.6 - @verdaccio/logger@7.0.0-next.6 ## 7.0.0-next.5 ### Patch Changes - Updated dependencies [f047cc8] - @verdaccio/core@7.0.0-next.5 - @verdaccio/config@7.0.0-next.5 - @verdaccio/auth@7.0.0-next.5 - @verdaccio/store@7.0.0-next.5 - @verdaccio/tarball@12.0.0-next.5 - @verdaccio/logger@7.0.0-next.5 - @verdaccio/utils@7.0.0-next.5 ## 7.0.0-next.4 ### Patch Changes - @verdaccio/auth@7.0.0-next.4 - @verdaccio/core@7.0.0-next.4 - @verdaccio/config@7.0.0-next.4 - @verdaccio/tarball@12.0.0-next.4 - @verdaccio/store@7.0.0-next.4 - @verdaccio/utils@7.0.0-next.4 - @verdaccio/logger@7.0.0-next.4 ## 7.0.0-next.3 ### Major Changes - e7ebccb61: update major dependencies, remove old nodejs support ### Patch Changes - Updated dependencies [daceb6d87] - Updated dependencies [e7ebccb61] - @verdaccio/config@7.0.0-next.3 - @verdaccio/core@7.0.0-next.3 - @verdaccio/tarball@12.0.0-next.3 - @verdaccio/utils@7.0.0-next.3 - @verdaccio/auth@7.0.0-next.3 - @verdaccio/logger@7.0.0-next.3 - @verdaccio/store@7.0.0-next.3 ## 7.0.0-next.2 ### Patch Changes - @verdaccio/core@7.0.0-next.2 - @verdaccio/config@7.0.0-next.2 - @verdaccio/auth@7.0.0-next.2 - @verdaccio/tarball@12.0.0-next.2 - @verdaccio/store@7.0.0-next.2 - @verdaccio/utils@7.0.0-next.2 - @verdaccio/logger@7.0.0-next.2 ## 7.0.0-next.1 ### Patch Changes - @verdaccio/core@7.0.0-next.1 - @verdaccio/config@7.0.0-next.1 - @verdaccio/auth@7.0.0-next.1 - @verdaccio/tarball@12.0.0-next.1 - @verdaccio/store@7.0.0-next.1 - @verdaccio/utils@7.0.0-next.1 - @verdaccio/logger@7.0.0-next.1 ## 7.0.0-next.0 ### Major Changes - feat!: bump to v7 ### Patch Changes - Updated dependencies - @verdaccio/auth@7.0.0-next.0 - @verdaccio/config@7.0.0-next.0 - @verdaccio/core@7.0.0-next.0 - @verdaccio/tarball@12.0.0-next.0 - @verdaccio/logger@7.0.0-next.0 - @verdaccio/store@7.0.0-next.0 - @verdaccio/utils@7.0.0-next.0 ## 6.0.0 ### Major Changes - a828271d6: refactor: download manifest endpoint and integrate fastify Much simpler API for fetching a package ``` const manifest = await storage.getPackageNext({ name, uplinksLook: true, req, version: queryVersion, requestOptions, }); ``` > not perfect, the `req` still is being passed to the proxy (this has to be refactored at proxy package) and then removed from here, in proxy we pass the request instance to the `request` library. ### Details - `async/await` sugar for getPackage() - Improve and reuse code between current implementation and new fastify endpoint (add scaffolding for request manifest) - Improve performance - Add new tests ### Breaking changes All storage plugins will stop to work since the storage uses `getPackageNext` method which is Promise based, I won't replace this now because will force me to update all plugins, I'll follow up in another PR. Currently will throw http 500 - 459b6fa72: refactor: search v1 endpoint and local-database - refactor search `api v1` endpoint, improve performance - remove usage of `async` dependency https://github.com/verdaccio/verdaccio/issues/1225 - refactor method storage class - create new module `core` to reduce the ammount of modules with utilities - use `undici` instead `node-fetch` - use `fastify` instead `express` for functional test ### Breaking changes - plugin storage API changes - remove old search endpoint (return 404) - filter local private packages at plugin level The storage api changes for methods `get`, `add`, `remove` as promise base. The `search` methods also changes and recieves a `query` object that contains all query params from the client. ```ts export interface IPluginStorage extends IPlugin { add(name: string): Promise; remove(name: string): Promise; get(): Promise; init(): Promise; getSecret(): Promise; setSecret(secret: string): Promise; getPackageStorage(packageInfo: string): IPackageStorage; search(query: searchUtils.SearchQuery): Promise; saveToken(token: Token): Promise; deleteToken(user: string, tokenKey: string): Promise; readTokens(filter: TokenFilter): Promise; } ``` - 9fc2e7961: feat(plugins): improve plugin loader ### Changes - Add scope plugin support to 6.x https://github.com/verdaccio/verdaccio/pull/3227 - Avoid config collisions https://github.com/verdaccio/verdaccio/issues/928 - https://github.com/verdaccio/verdaccio/issues/1394 - `config.plugins` plugin path validations - Updated algorithm for plugin loader. - improved documentation (included dev) ## Features - Add scope plugin support to 6.x https://github.com/verdaccio/verdaccio/pull/3227 - Custom prefix: ``` // config.yaml server: pluginPrefix: mycompany middleware: audit: foo: 1 ``` This configuration will look up for `mycompany-audit` instead `Verdaccio-audit`. ## Breaking Changes ### sinopia plugins - `sinopia` fallback support is removed, but can be restored using `pluginPrefix` ### plugin filter - method rename `filter_metadata`->`filterMetadata` ### Plugin constructor does not merge configs anymore https://github.com/verdaccio/verdaccio/issues/928 The plugin receives as first argument `config`, which represents the config of the plugin. Example: ``` // config.yaml auth: plugin: foo: 1 bar: 2 export class Plugin { public constructor(config: T, options: PluginOptions) { console.log(config); // {foo:1, bar: 2} } } ``` - 794af76c5: Remove Node 12 support - We need move to the new `undici` and does not support Node.js 12 ### Minor Changes - 631abe1ac: feat: refactor logger - b702ea363: abort search request support for proxy - 00d1d2a17: chore: env variable for launch fastify - Update fastify to major release `v4.3.0` - Update CLI launcher via CLI ``` VERDACCIO_SERVER=fastify verdaccio ``` with docker ``` docker run -it --rm --name verdaccio \ -e "VERDACCIO_SERVER=8080" -p 8080:8080 \ -e "VERDACCIO_SERVER=fastify" \ verdaccio/verdaccio ``` - 55ee3fdd9: [Fastify] Add ping endpoint - a23628be9: feat: parse and sanitize on ui - 154b2ecd3: refactor: remove @verdaccio/commons-api in favor @verdaccio/core and remove duplications - 62c24b632: feat: add passwordValidationRegex property - f86c31ed0: feat: migrate web sidebar endpoint to fastify reuse utils methods between packages - 20c9e43ed: dist tags Implementation on Fastify - 37274e4c8: feat: implement abbreviated manifest Enable abbreviated manifest data by adding the header: ``` curl -H "Accept: application/vnd.npm.install-v1+json" https://registry.npmjs.org/verdaccio ``` It returns a filtered manifest, additionally includes the [time](https://github.com/pnpm/rfcs/pull/2) field by request. Current support for packages managers: - npm: yes - pnpm: yes - yarn classic: yes - yarn modern (+2.x): [no](https://github.com/yarnpkg/berry/pull/3981#issuecomment-1076566096) https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-metadata-format ### Patch Changes - 43f32687c: fix: abbreviated headers handle quality values - 702d5c497: Fix the password validation logic for the `/reset_password` route to ensure that the password is only reset if it is valid. - 351aeeaa8: fix(deps): @verdaccio/utils should be a prod dep of local-storage - df0da3d69: Added core-js missing from dependencies though referenced in .js sources - Updated dependencies [292c0a37f] - Updated dependencies [dc05edfe6] - Updated dependencies [a1986e098] - Updated dependencies [974cd8c19] - Updated dependencies [a828271d6] - Updated dependencies [ef88da3b4] - Updated dependencies [43f32687c] - Updated dependencies [679c19c1b] - Updated dependencies [a3a209b5e] - Updated dependencies [459b6fa72] - Updated dependencies [9fc2e7961] - Updated dependencies [24b9be020] - Updated dependencies [794af76c5] - Updated dependencies [e75c0a3b9] - Updated dependencies [351aeeaa8] - Updated dependencies [10aeb4f13] - Updated dependencies [631abe1ac] - Updated dependencies [9718e0330] - Updated dependencies [b702ea363] - Updated dependencies [1b217fd34] - Updated dependencies [e367c3f1e] - Updated dependencies [a1da11308] - Updated dependencies [d167f92e1] - Updated dependencies [d2c65da9c] - Updated dependencies [00d1d2a17] - Updated dependencies [1810ed0d8] - Updated dependencies [a610ef26b] - Updated dependencies [ddb6a2239] - Updated dependencies [648575aa4] - Updated dependencies [b61f762d6] - Updated dependencies [d43894e8f] - Updated dependencies [154b2ecd3] - Updated dependencies [061bfcc8d] - Updated dependencies [aa763baec] - Updated dependencies [378e907d5] - Updated dependencies [16e38df8a] - Updated dependencies [34f0f1101] - Updated dependencies [82cb0f2bf] - Updated dependencies [dc571aabd] - Updated dependencies [5ddfa5264] - Updated dependencies [b78f35257] - Updated dependencies [ce013d2fc] - Updated dependencies [f859d2b1a] - Updated dependencies [2c594910d] - Updated dependencies [6c1eb021b] - Updated dependencies [62c24b632] - Updated dependencies [0a6412ca9] - Updated dependencies [0a6412ca9] - Updated dependencies [d08fe29d9] - Updated dependencies [5167bb528] - Updated dependencies [f86c31ed0] - Updated dependencies [65f88b826] - Updated dependencies [aeff267d9] - Updated dependencies [20c9e43ed] - Updated dependencies [b3e8438f6] - Updated dependencies [c9d1af0e5] - Updated dependencies [730b5d8cc] - Updated dependencies [4b29d715b] - Updated dependencies [b13a3fefd] - Updated dependencies [68ea21214] - Updated dependencies [37274e4c8] - Updated dependencies [8f43bf17d] - Updated dependencies [45c03819e] - Updated dependencies [b849128de] - @verdaccio/auth@6.0.0 - @verdaccio/config@6.0.0 - @verdaccio/core@6.0.0 - @verdaccio/tarball@11.0.0 - @verdaccio/logger@6.0.0 - @verdaccio/store@6.0.0 - @verdaccio/utils@6.0.0 ## 6.0.0-6-next.57 ### Patch Changes - @verdaccio/store@6.0.0-6-next.56 - @verdaccio/core@6.0.0-6-next.76 - @verdaccio/config@6.0.0-6-next.76 - @verdaccio/auth@6.0.0-6-next.55 - @verdaccio/tarball@11.0.0-6-next.45 - @verdaccio/utils@6.0.0-6-next.44 - @verdaccio/logger@6.0.0-6-next.44 ## 6.0.0-6-next.56 ### Patch Changes - Updated dependencies [0a6412ca9] - Updated dependencies [0a6412ca9] - @verdaccio/core@6.0.0-6-next.75 - @verdaccio/store@6.0.0-6-next.55 - @verdaccio/auth@6.0.0-6-next.54 - @verdaccio/config@6.0.0-6-next.75 - @verdaccio/tarball@11.0.0-6-next.44 - @verdaccio/utils@6.0.0-6-next.43 - @verdaccio/logger@6.0.0-6-next.43 ## 6.0.0-6-next.55 ### Patch Changes - @verdaccio/core@6.0.0-6-next.74 - @verdaccio/config@6.0.0-6-next.74 - @verdaccio/auth@6.0.0-6-next.53 - @verdaccio/tarball@11.0.0-6-next.43 - @verdaccio/store@6.0.0-6-next.54 - @verdaccio/utils@6.0.0-6-next.42 - @verdaccio/logger@6.0.0-6-next.42 ## 6.0.0-6-next.54 ### Patch Changes - Updated dependencies [f859d2b1a] - @verdaccio/core@6.0.0-6-next.73 - @verdaccio/auth@6.0.0-6-next.52 - @verdaccio/config@6.0.0-6-next.73 - @verdaccio/tarball@11.0.0-6-next.42 - @verdaccio/store@6.0.0-6-next.53 - @verdaccio/utils@6.0.0-6-next.41 - @verdaccio/logger@6.0.0-6-next.41 ## 6.0.0-6-next.53 ### Patch Changes - 702d5c497: Fix the password validation logic for the `/reset_password` route to ensure that the password is only reset if it is valid. - @verdaccio/core@6.0.0-6-next.72 - @verdaccio/config@6.0.0-6-next.72 - @verdaccio/auth@6.0.0-6-next.51 - @verdaccio/tarball@11.0.0-6-next.41 - @verdaccio/store@6.0.0-6-next.52 - @verdaccio/utils@6.0.0-6-next.40 - @verdaccio/logger@6.0.0-6-next.40 ## 6.0.0-6-next.52 ### Patch Changes - Updated dependencies [679c19c1b] - @verdaccio/config@6.0.0-6-next.71 - @verdaccio/auth@6.0.0-6-next.50 - @verdaccio/store@6.0.0-6-next.51 - @verdaccio/logger@6.0.0-6-next.39 - @verdaccio/core@6.0.0-6-next.71 - @verdaccio/tarball@11.0.0-6-next.40 - @verdaccio/utils@6.0.0-6-next.39 ## 6.0.0-6-next.51 ### Patch Changes - @verdaccio/logger@6.0.0-6-next.38 - @verdaccio/auth@6.0.0-6-next.49 - @verdaccio/store@6.0.0-6-next.50 - @verdaccio/core@6.0.0-6-next.70 - @verdaccio/config@6.0.0-6-next.70 - @verdaccio/tarball@11.0.0-6-next.39 - @verdaccio/utils@6.0.0-6-next.38 ## 6.0.0-6-next.50 ### Patch Changes - Updated dependencies [c9d1af0e] - @verdaccio/auth@6.0.0-6-next.48 - @verdaccio/core@6.0.0-6-next.69 - @verdaccio/config@6.0.0-6-next.69 - @verdaccio/tarball@11.0.0-6-next.38 - @verdaccio/store@6.0.0-6-next.49 - @verdaccio/utils@6.0.0-6-next.37 - @verdaccio/logger@6.0.0-6-next.37 ## 6.0.0-6-next.49 ### Patch Changes - @verdaccio/auth@6.0.0-6-next.47 - @verdaccio/core@6.0.0-6-next.68 - @verdaccio/config@6.0.0-6-next.68 - @verdaccio/tarball@11.0.0-6-next.37 - @verdaccio/store@6.0.0-6-next.48 - @verdaccio/utils@6.0.0-6-next.36 - @verdaccio/logger@6.0.0-6-next.36 ## 6.0.0-6-next.48 ### Patch Changes - Updated dependencies [16e38df8] - @verdaccio/config@6.0.0-6-next.67 - @verdaccio/core@6.0.0-6-next.67 - @verdaccio/store@6.0.0-6-next.47 - @verdaccio/auth@6.0.0-6-next.46 - @verdaccio/tarball@11.0.0-6-next.36 - @verdaccio/utils@6.0.0-6-next.35 - @verdaccio/logger@6.0.0-6-next.35 ## 6.0.0-6-next.47 ### Patch Changes - @verdaccio/auth@6.0.0-6-next.45 - @verdaccio/core@6.0.0-6-next.66 - @verdaccio/tarball@11.0.0-6-next.35 - @verdaccio/logger@6.0.0-6-next.34 - @verdaccio/store@6.0.0-6-next.46 - @verdaccio/config@6.0.0-6-next.66 - @verdaccio/utils@6.0.0-6-next.34 ## 6.0.0-6-next.46 ### Patch Changes - Updated dependencies [a1da1130] - @verdaccio/core@6.0.0-6-next.65 - @verdaccio/auth@6.0.0-6-next.44 - @verdaccio/config@6.0.0-6-next.65 - @verdaccio/tarball@11.0.0-6-next.34 - @verdaccio/store@6.0.0-6-next.45 - @verdaccio/utils@6.0.0-6-next.33 - @verdaccio/logger@6.0.0-6-next.33 ## 6.0.0-6-next.45 ### Patch Changes - Updated dependencies [974cd8c1] - @verdaccio/core@6.0.0-6-next.64 - @verdaccio/auth@6.0.0-6-next.43 - @verdaccio/config@6.0.0-6-next.64 - @verdaccio/tarball@11.0.0-6-next.33 - @verdaccio/store@6.0.0-6-next.44 - @verdaccio/utils@6.0.0-6-next.32 - @verdaccio/logger@6.0.0-6-next.32 ## 6.0.0-6-next.44 ### Patch Changes - Updated dependencies [ddb6a223] - Updated dependencies [dc571aab] - @verdaccio/auth@6.0.0-6-next.42 - @verdaccio/config@6.0.0-6-next.63 - @verdaccio/core@6.0.0-6-next.63 - @verdaccio/store@6.0.0-6-next.43 - @verdaccio/tarball@11.0.0-6-next.32 - @verdaccio/utils@6.0.0-6-next.31 - @verdaccio/logger@6.0.0-6-next.31 ## 6.0.0-6-next.43 ### Patch Changes - Updated dependencies [378e907d] - @verdaccio/core@6.0.0-6-next.62 - @verdaccio/auth@6.0.0-6-next.41 - @verdaccio/tarball@11.0.0-6-next.31 - @verdaccio/logger@6.0.0-6-next.30 - @verdaccio/store@6.0.0-6-next.42 - @verdaccio/config@6.0.0-6-next.62 - @verdaccio/utils@6.0.0-6-next.30 ## 6.0.0-6-next.42 ### Patch Changes - Updated dependencies [d167f92e] - @verdaccio/config@6.0.0-6-next.61 - @verdaccio/auth@6.0.0-6-next.40 - @verdaccio/store@6.0.0-6-next.41 - @verdaccio/core@6.0.0-6-next.61 - @verdaccio/tarball@11.0.0-6-next.30 - @verdaccio/utils@6.0.0-6-next.29 - @verdaccio/logger@6.0.0-6-next.29 ## 6.0.0-6-next.41 ### Patch Changes - Updated dependencies [45c03819] - @verdaccio/config@6.0.0-6-next.60 - @verdaccio/store@6.0.0-6-next.40 - @verdaccio/auth@6.0.0-6-next.39 - @verdaccio/core@6.0.0-6-next.60 - @verdaccio/tarball@11.0.0-6-next.29 - @verdaccio/logger@6.0.0-6-next.28 - @verdaccio/utils@6.0.0-6-next.28 ## 6.0.0-6-next.40 ### Patch Changes - Updated dependencies [65f88b82] - @verdaccio/logger@6.0.0-6-next.27 - @verdaccio/auth@6.0.0-6-next.38 - @verdaccio/store@6.0.0-6-next.39 - @verdaccio/core@6.0.0-6-next.59 - @verdaccio/config@6.0.0-6-next.59 - @verdaccio/tarball@11.0.0-6-next.28 - @verdaccio/utils@6.0.0-6-next.27 ## 6.0.0-6-next.39 ### Patch Changes - @verdaccio/core@6.0.0-6-next.58 - @verdaccio/config@6.0.0-6-next.58 - @verdaccio/auth@6.0.0-6-next.37 - @verdaccio/tarball@11.0.0-6-next.27 - @verdaccio/store@6.0.0-6-next.38 - @verdaccio/utils@6.0.0-6-next.26 - @verdaccio/logger@6.0.0-6-next.26 ## 6.0.0-6-next.38 ### Patch Changes - @verdaccio/store@6.0.0-6-next.37 - @verdaccio/core@6.0.0-6-next.57 - @verdaccio/config@6.0.0-6-next.57 - @verdaccio/auth@6.0.0-6-next.36 - @verdaccio/tarball@11.0.0-6-next.26 - @verdaccio/logger@6.0.0-6-next.25 - @verdaccio/utils@6.0.0-6-next.25 ## 6.0.0-6-next.37 ### Patch Changes - Updated dependencies [a1986e09] - @verdaccio/utils@6.0.0-6-next.24 - @verdaccio/auth@6.0.0-6-next.35 - @verdaccio/config@6.0.0-6-next.56 - @verdaccio/tarball@11.0.0-6-next.25 - @verdaccio/store@6.0.0-6-next.36 - @verdaccio/core@6.0.0-6-next.56 - @verdaccio/logger@6.0.0-6-next.24 ## 6.0.0-6-next.36 ### Patch Changes - Updated dependencies [9718e033] - @verdaccio/config@6.0.0-6-next.55 - @verdaccio/core@6.0.0-6-next.55 - @verdaccio/tarball@11.0.0-6-next.24 - @verdaccio/store@6.0.0-6-next.35 - @verdaccio/utils@6.0.0-6-next.23 - @verdaccio/auth@6.0.0-6-next.34 - @verdaccio/logger@6.0.0-6-next.23 ## 6.0.0-6-next.35 ### Patch Changes - Updated dependencies [ef88da3b] - @verdaccio/config@6.0.0-6-next.54 - @verdaccio/core@6.0.0-6-next.54 - @verdaccio/tarball@11.0.0-6-next.23 - @verdaccio/logger@6.0.0-6-next.22 - @verdaccio/utils@6.0.0-6-next.22 - @verdaccio/auth@6.0.0-6-next.33 - @verdaccio/store@6.0.0-6-next.34 ## 6.0.0-6-next.34 ### Patch Changes - @verdaccio/auth@6.0.0-6-next.32 - @verdaccio/core@6.0.0-6-next.53 - @verdaccio/tarball@11.0.0-6-next.22 - @verdaccio/logger@6.0.0-6-next.21 - @verdaccio/store@6.0.0-6-next.33 - @verdaccio/config@6.0.0-6-next.53 - @verdaccio/utils@6.0.0-6-next.21 ## 6.0.0-6-next.33 ### Patch Changes - @verdaccio/core@6.0.0-6-next.52 - @verdaccio/config@6.0.0-6-next.52 - @verdaccio/auth@6.0.0-6-next.31 - @verdaccio/tarball@11.0.0-6-next.21 - @verdaccio/logger@6.0.0-6-next.20 - @verdaccio/store@6.0.0-6-next.32 - @verdaccio/utils@6.0.0-6-next.20 ## 6.0.0-6-next.32 ### Minor Changes - a23628be: feat: parse and sanitize on ui ### Patch Changes - Updated dependencies [4b29d715] - @verdaccio/auth@6.0.0-6-next.30 - @verdaccio/config@6.0.0-6-next.51 - @verdaccio/core@6.0.0-6-next.51 - @verdaccio/store@6.0.0-6-next.31 - @verdaccio/tarball@11.0.0-6-next.20 - @verdaccio/logger@6.0.0-6-next.19 - @verdaccio/utils@6.0.0-6-next.19 ## 6.0.0-6-next.31 ### Patch Changes - @verdaccio/core@6.0.0-6-next.50 - @verdaccio/config@6.0.0-6-next.50 - @verdaccio/auth@6.0.0-6-next.29 - @verdaccio/tarball@11.0.0-6-next.19 - @verdaccio/logger@6.0.0-6-next.18 - @verdaccio/store@6.0.0-6-next.30 - @verdaccio/utils@6.0.0-6-next.18 ## 6.0.0-6-next.30 ### Patch Changes - Updated dependencies [ce013d2f] - @verdaccio/store@6.0.0-6-next.29 - @verdaccio/tarball@11.0.0-6-next.18 - @verdaccio/core@6.0.0-6-next.49 - @verdaccio/config@6.0.0-6-next.49 - @verdaccio/auth@6.0.0-6-next.28 - @verdaccio/logger@6.0.0-6-next.17 - @verdaccio/utils@6.0.0-6-next.17 ## 6.0.0-6-next.29 ### Major Changes - 9fc2e796: feat(plugins): improve plugin loader ### Changes - Add scope plugin support to 6.x https://github.com/verdaccio/verdaccio/pull/3227 - Avoid config collisions https://github.com/verdaccio/verdaccio/issues/928 - https://github.com/verdaccio/verdaccio/issues/1394 - `config.plugins` plugin path validations - Updated algorithm for plugin loader. - improved documentation (included dev) ## Features - Add scope plugin support to 6.x https://github.com/verdaccio/verdaccio/pull/3227 - Custom prefix: ``` // config.yaml server: pluginPrefix: mycompany middleware: audit: foo: 1 ``` This configuration will look up for `mycompany-audit` instead `Verdaccio-audit`. ## Breaking Changes ### sinopia plugins - `sinopia` fallback support is removed, but can be restored using `pluginPrefix` ### plugin filter - method rename `filter_metadata`->`filterMetadata` ### Plugin constructor does not merge configs anymore https://github.com/verdaccio/verdaccio/issues/928 The plugin receives as first argument `config`, which represents the config of the plugin. Example: ``` // config.yaml auth: plugin: foo: 1 bar: 2 export class Plugin { public constructor(config: T, options: PluginOptions) { console.log(config); // {foo:1, bar: 2} } } ``` ### Minor Changes - 62c24b63: feat: add passwordValidationRegex property ### Patch Changes - 43f32687: fix: abbreviated headers handle quality values - Updated dependencies [43f32687] - Updated dependencies [9fc2e796] - Updated dependencies [62c24b63] - @verdaccio/core@6.0.0-6-next.48 - @verdaccio/store@6.0.0-6-next.28 - @verdaccio/auth@6.0.0-6-next.27 - @verdaccio/config@6.0.0-6-next.48 - @verdaccio/utils@6.0.0-6-next.16 - @verdaccio/tarball@11.0.0-6-next.17 - @verdaccio/logger@6.0.0-6-next.16 - @verdaccio/readme@11.0.0-6-next.6 ## 6.0.0-6-next.28 ### Patch Changes - @verdaccio/core@6.0.0-6-next.47 - @verdaccio/config@6.0.0-6-next.47 - @verdaccio/auth@6.0.0-6-next.26 - @verdaccio/tarball@11.0.0-6-next.16 - @verdaccio/logger@6.0.0-6-next.15 - @verdaccio/store@6.0.0-6-next.27 - @verdaccio/utils@6.0.0-6-next.15 ## 6.0.0-6-next.27 ### Patch Changes - Updated dependencies [b849128d] - @verdaccio/core@6.0.0-6-next.8 - @verdaccio/store@6.0.0-6-next.26 - @verdaccio/auth@6.0.0-6-next.25 - @verdaccio/config@6.0.0-6-next.17 - @verdaccio/tarball@11.0.0-6-next.15 - @verdaccio/logger@6.0.0-6-next.14 - @verdaccio/utils@6.0.0-6-next.14 - @verdaccio/readme@11.0.0-6-next.6 ## 6.0.0-6-next.26 ### Patch Changes - 351aeeaa: fix(deps): @verdaccio/utils should be a prod dep of local-storage - Updated dependencies [351aeeaa] - @verdaccio/auth@6.0.0-6-next.24 - @verdaccio/core@6.0.0-6-next.7 - @verdaccio/readme@11.0.0-6-next.6 - @verdaccio/tarball@11.0.0-6-next.14 - @verdaccio/logger@6.0.0-6-next.13 - @verdaccio/store@6.0.0-6-next.25 - @verdaccio/config@6.0.0-6-next.16 - @verdaccio/utils@6.0.0-6-next.13 ## 6.0.0-6-next.25 ### Minor Changes - 37274e4c: feat: implement abbreviated manifest Enable abbreviated manifest data by adding the header: ``` curl -H "Accept: application/vnd.npm.install-v1+json" https://registry.npmjs.org/verdaccio ``` It returns a filtered manifest, additionally includes the [time](https://github.com/pnpm/rfcs/pull/2) field by request. Current support for packages managers: - npm: yes - pnpm: yes - yarn classic: yes - yarn modern (+2.x): [no](https://github.com/yarnpkg/berry/pull/3981#issuecomment-1076566096) https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md#abbreviated-metadata-format ### Patch Changes - Updated dependencies [37274e4c] - @verdaccio/store@6.0.0-6-next.24 - @verdaccio/auth@6.0.0-6-next.23 - @verdaccio/core@6.0.0-6-next.6 - @verdaccio/readme@11.0.0-6-next.5 - @verdaccio/tarball@11.0.0-6-next.13 - @verdaccio/logger@6.0.0-6-next.12 ## 6.0.0-6-next.24 ### Minor Changes - 00d1d2a1: chore: env variable for launch fastify - Update fastify to major release `v4.3.0` - Update CLI launcher via CLI ``` VERDACCIO_SERVER=fastify verdaccio ``` with docker ``` docker run -it --rm --name verdaccio \ -e "VERDACCIO_SERVER=8080" -p 8080:8080 \ -e "VERDACCIO_SERVER=fastify" \ verdaccio/verdaccio ``` ### Patch Changes - Updated dependencies [292c0a37] - Updated dependencies [a3a209b5] - Updated dependencies [00d1d2a1] - @verdaccio/auth@6.0.0-6-next.23 - @verdaccio/config@6.0.0-6-next.15 - @verdaccio/core@6.0.0-6-next.6 - @verdaccio/readme@11.0.0-6-next.5 - @verdaccio/tarball@11.0.0-6-next.13 - @verdaccio/logger@6.0.0-6-next.12 - @verdaccio/store@6.0.0-6-next.23 - @verdaccio/utils@6.0.0-6-next.12 ## 6.0.0-6-next.23 ### Patch Changes - Updated dependencies [d43894e8] - Updated dependencies [d08fe29d] - @verdaccio/config@6.0.0-6-next.14 - @verdaccio/auth@6.0.0-6-next.22 - @verdaccio/store@6.0.0-6-next.22 - @verdaccio/core@6.0.0-6-next.5 - @verdaccio/readme@11.0.0-6-next.4 - @verdaccio/tarball@11.0.0-6-next.12 - @verdaccio/logger@6.0.0-6-next.11 ## 6.0.0-6-next.22 ### Patch Changes - Updated dependencies [82cb0f2b] - Updated dependencies [5167bb52] - @verdaccio/config@6.0.0-6-next.13 - @verdaccio/core@6.0.0-6-next.5 - @verdaccio/logger@6.0.0-6-next.11 - @verdaccio/store@6.0.0-6-next.21 - @verdaccio/auth@6.0.0-6-next.21 - @verdaccio/tarball@11.0.0-6-next.12 - @verdaccio/utils@6.0.0-6-next.11 - @verdaccio/readme@11.0.0-6-next.4 ## 6.0.0-6-next.21 ### Patch Changes - @verdaccio/auth@6.0.0-6-next.20 - @verdaccio/store@6.0.0-6-next.20 ## 6.0.0-6-next.20 ### Patch Changes - Updated dependencies [aeff267d] - @verdaccio/auth@6.0.0-6-next.19 ## 6.0.0-6-next.19 ### Patch Changes - Updated dependencies [b78f3525] - @verdaccio/logger@6.0.0-6-next.10 - @verdaccio/auth@6.0.0-6-next.18 - @verdaccio/store@6.0.0-6-next.19 ## 6.0.0-6-next.18 ### Patch Changes - Updated dependencies [730b5d8c] - @verdaccio/logger@6.0.0-6-next.9 - @verdaccio/auth@6.0.0-6-next.17 - @verdaccio/store@6.0.0-6-next.18 ## 6.0.0-6-next.17 ### Major Changes - a828271d: refactor: download manifest endpoint and integrate fastify Much simpler API for fetching a package ``` const manifest = await storage.getPackageNext({ name, uplinksLook: true, req, version: queryVersion, requestOptions, }); ``` > not perfect, the `req` still is being passed to the proxy (this has to be refactored at proxy package) and then removed from here, in proxy we pass the request instance to the `request` library. ### Details - `async/await` sugar for getPackage() - Improve and reuse code between current implementation and new fastify endpoint (add scaffolding for request manifest) - Improve performance - Add new tests ### Breaking changes All storage plugins will stop to work since the storage uses `getPackageNext` method which is Promise based, I won't replace this now because will force me to update all plugins, I'll follow up in another PR. Currently will throw http 500 ### Patch Changes - Updated dependencies [a828271d] - Updated dependencies [24b9be02] - Updated dependencies [e75c0a3b] - Updated dependencies [b13a3fef] - @verdaccio/tarball@11.0.0-6-next.11 - @verdaccio/store@6.0.0-6-next.17 - @verdaccio/utils@6.0.0-6-next.10 - @verdaccio/core@6.0.0-6-next.4 - @verdaccio/logger@6.0.0-6-next.8 - @verdaccio/auth@6.0.0-6-next.16 - @verdaccio/config@6.0.0-6-next.12 - @verdaccio/readme@11.0.0-6-next.4 ## 6.0.0-6-next.16 ### Minor Changes - f86c31ed: feat: migrate web sidebar endpoint to fastify reuse utils methods between packages - 20c9e43e: dist tags Implementation on Fastify ### Patch Changes - Updated dependencies [f86c31ed] - Updated dependencies [20c9e43e] - @verdaccio/store@6.0.0-6-next.16 - @verdaccio/utils@6.0.0-6-next.9 - @verdaccio/auth@6.0.0-6-next.15 - @verdaccio/config@6.0.0-6-next.11 - @verdaccio/tarball@11.0.0-6-next.10 ## 6.0.0-6-next.15 ### Patch Changes - Updated dependencies [6c1eb021] - @verdaccio/core@6.0.0-6-next.3 - @verdaccio/logger@6.0.0-6-next.7 - @verdaccio/auth@6.0.0-6-next.14 - @verdaccio/config@6.0.0-6-next.10 - @verdaccio/tarball@11.0.0-6-next.9 - @verdaccio/store@6.0.0-6-next.15 - @verdaccio/utils@6.0.0-6-next.8 ## 6.0.0-6-next.14 ### Major Changes - 794af76c: Remove Node 12 support - We need move to the new `undici` and does not support Node.js 12 ### Minor Changes - b702ea36: abort search request support for proxy - 154b2ecd: refactor: remove @verdaccio/commons-api in favor @verdaccio/core and remove duplications ### Patch Changes - Updated dependencies [794af76c] - Updated dependencies [b702ea36] - Updated dependencies [154b2ecd] - @verdaccio/auth@6.0.0-6-next.13 - @verdaccio/config@6.0.0-6-next.9 - @verdaccio/logger@6.0.0-6-next.6 - @verdaccio/store@6.0.0-6-next.14 ## 6.0.0-6-next.13 ### Patch Changes - Updated dependencies [2c594910] - @verdaccio/logger@6.0.0-6-next.5 - @verdaccio/auth@6.0.0-6-next.12 - @verdaccio/store@6.0.0-6-next.13 ## 6.0.0-6-next.12 ### Major Changes - 459b6fa7: refactor: search v1 endpoint and local-database - refactor search `api v1` endpoint, improve performance - remove usage of `async` dependency https://github.com/verdaccio/verdaccio/issues/1225 - refactor method storage class - create new module `core` to reduce the ammount of modules with utilities - use `undici` instead `node-fetch` - use `fastify` instead `express` for functional test ### Breaking changes - plugin storage API changes - remove old search endpoint (return 404) - filter local private packages at plugin level The storage api changes for methods `get`, `add`, `remove` as promise base. The `search` methods also changes and recieves a `query` object that contains all query params from the client. ```ts export interface IPluginStorage extends IPlugin { add(name: string): Promise; remove(name: string): Promise; get(): Promise; init(): Promise; getSecret(): Promise; setSecret(secret: string): Promise; getPackageStorage(packageInfo: string): IPackageStorage; search(query: searchUtils.SearchQuery): Promise; saveToken(token: Token): Promise; deleteToken(user: string, tokenKey: string): Promise; readTokens(filter: TokenFilter): Promise; } ``` ### Patch Changes - Updated dependencies [459b6fa7] - @verdaccio/auth@6.0.0-6-next.11 - @verdaccio/config@6.0.0-6-next.8 - @verdaccio/store@6.0.0-6-next.12 - @verdaccio/logger@6.0.0-6-next.4 ## 6.0.0-6-next.11 ### Patch Changes - df0da3d6: Added core-js missing from dependencies though referenced in .js sources - @verdaccio/auth@6.0.0-6-next.10 - @verdaccio/store@6.0.0-6-next.11 ## 6.0.0-6-next.10 ### Minor Changes - 55ee3fdd: [Fastify] Add ping endpoint