{"id":4504340,"name":"@fastify/middie","ecosystem":"npm","description":"Middleware engine for Fastify","homepage":"https://github.com/fastify/middie#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/fastify/middie","keywords_array":["fastify","middleware","webframework","performances"],"namespace":"fastify","versions_count":14,"first_release_published_at":"2022-06-06T04:19:30.252Z","latest_release_published_at":"2026-01-03T13:39:06.257Z","latest_release_number":"9.1.0","last_synced_at":"2026-04-01T12:03:57.373Z","created_at":"2022-07-07T08:19:00.158Z","updated_at":"2026-06-29T06:12:50.879Z","registry_url":"https://www.npmjs.com/package/@fastify/middie","install_command":"npm install @fastify/middie","documentation_url":null,"metadata":{"funding":[{"type":"github","url":"https://github.com/sponsors/fastify"},{"type":"opencollective","url":"https://opencollective.com/fastify"}],"dist-tags":{"next":"9.0.1","latest":"9.1.0"}},"repo_metadata":{"id":17282389,"uuid":"81619380","full_name":"fastify/middie","owner":"fastify","description":"Middleware engine for Fastify","archived":false,"fork":false,"pushed_at":"2026-06-16T14:54:48.000Z","size":256,"stargazers_count":275,"open_issues_count":1,"forks_count":43,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-06-21T01:00:15.547Z","etag":null,"topics":["fastify","fastify-plugin","middlewares","performances"],"latest_commit_sha":null,"homepage":"https://npmjs.com/package/@fastify/middie","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fastify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"fastify","open_collective":"fastify"}},"created_at":"2017-02-11T00:33:51.000Z","updated_at":"2026-06-16T14:59:05.000Z","dependencies_parsed_at":"2024-01-23T20:11:26.358Z","dependency_job_id":"ce9433ad-d9ac-4938-a1e1-02d568c660d6","html_url":"https://github.com/fastify/middie","commit_stats":{"total_commits":258,"total_committers":36,"mean_commits":7.166666666666667,"dds":0.7093023255813953,"last_synced_commit":"f45120a56e0738ee11d0bbdcf322cb80ec1a031f"},"previous_names":["fastify/middleman"],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/fastify/middie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fastify","download_url":"https://codeload.github.com/fastify/middie/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34590214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"fastify","name":"Fastify","uuid":"24939410","kind":"organization","description":"Fast and low overhead web framework, for Node.js","email":"hello@fastify.dev","website":"https://fastify.dev","location":"United States of America","twitter":"fastifyjs","company":null,"icon_url":"https://avatars.githubusercontent.com/u/24939410?v=4","repositories_count":138,"last_synced_at":"2025-12-12T23:39:47.782Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"fastify","open_collective":"fastify"}},"html_url":"https://github.com/fastify","funding_links":["https://github.com/sponsors/fastify","https://opencollective.com/fastify"],"total_stars":61062,"followers":1117,"following":0,"created_at":"2022-11-02T16:30:46.974Z","updated_at":"2025-12-12T23:39:47.782Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fastify","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fastify/repositories"},"tags":[{"name":"v9.3.1","sha":"fb129379ce05dc0f5400f43c22f178a8b9b09214","kind":"commit","published_at":"2026-03-05T13:18:09.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v9.3.1","html_url":"https://github.com/fastify/middie/releases/tag/v9.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v9.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.3.1/manifests"},{"name":"v9.3.0","sha":"f57b37f05b193e504574449a74335aef8f319237","kind":"commit","published_at":"2026-03-05T10:11:38.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v9.3.0","html_url":"https://github.com/fastify/middie/releases/tag/v9.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v9.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.3.0/manifests"},{"name":"v9.2.0","sha":"f9b3e79c2c045c9af8e5860d96629943ceeb61b0","kind":"commit","published_at":"2026-02-27T10:19:36.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v9.2.0","html_url":"https://github.com/fastify/middie/releases/tag/v9.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v9.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.2.0/manifests"},{"name":"v9.1.0","sha":"8de54e35035cefa5ca13fd9f06c7b38185038a0e","kind":"commit","published_at":"2026-01-03T13:38:37.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v9.1.0","html_url":"https://github.com/fastify/middie/releases/tag/v9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v9.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.1.0/manifests"},{"name":"v9.0.3","sha":"0fd04d1f9cf1d44b3f0ab1836cb0a1876d3cb73d","kind":"tag","published_at":"2025-01-11T11:51:30.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v9.0.3","html_url":"https://github.com/fastify/middie/releases/tag/v9.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v9.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.0.3/manifests"},{"name":"v9.0.2","sha":"f45120a56e0738ee11d0bbdcf322cb80ec1a031f","kind":"commit","published_at":"2024-09-21T08:40:40.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v9.0.2","html_url":"https://github.com/fastify/middie/releases/tag/v9.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v9.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.0.2/manifests"},{"name":"v8.3.3","sha":"a601a122b9a2b982b5d3f961693e375c26b9ff11","kind":"tag","published_at":"2024-09-13T04:02:20.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v8.3.3","html_url":"https://github.com/fastify/middie/releases/tag/v8.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v8.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.3.3/manifests"},{"name":"v9.0.1","sha":"790bd3e8782366f612c52b82f244e94d37e0bc0d","kind":"tag","published_at":"2024-09-11T07:44:48.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v9.0.1","html_url":"https://github.com/fastify/middie/releases/tag/v9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.0.1/manifests"},{"name":"v8.3.2","sha":"6dcf910ef8da963809ca496762a5b665fa48a517","kind":"tag","published_at":"2024-09-11T07:44:15.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v8.3.2","html_url":"https://github.com/fastify/middie/releases/tag/v8.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v8.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.3.2/manifests"},{"name":"v9.0.0","sha":"d733838f145ebd88f5512aeab90784b957d8820a","kind":"commit","published_at":"2024-09-04T07:43:40.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v9.0.0","html_url":"https://github.com/fastify/middie/releases/tag/v9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v9.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v9.0.0/manifests"},{"name":"v8.3.1","sha":"5fb0eb920a06a458bb9e3b7291121466b03de20c","kind":"commit","published_at":"2024-05-01T22:07:52.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v8.3.1","html_url":"https://github.com/fastify/middie/releases/tag/v8.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v8.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.3.1/manifests"},{"name":"v8.3.0","sha":"1dc76890e51f00887c42c9ba3dfe4ef7271aed6b","kind":"commit","published_at":"2023-05-14T14:18:02.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v8.3.0","html_url":"https://github.com/fastify/middie/releases/tag/v8.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v8.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.3.0/manifests"},{"name":"v8.2.0","sha":"b362947add07420412797d04f2607666165b5f5c","kind":"commit","published_at":"2023-05-03T14:20:06.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v8.2.0","html_url":"https://github.com/fastify/middie/releases/tag/v8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v8.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.2.0/manifests"},{"name":"v8.1.0","sha":"a010b7e0b99d3a58eef43c127eccdb920deb08e2","kind":"commit","published_at":"2022-12-05T00:22:27.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v8.1.0","html_url":"https://github.com/fastify/middie/releases/tag/v8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v8.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.1.0/manifests"},{"name":"v8.0.0","sha":"c1f37220009365d2b764778f8698aa7c86447e18","kind":"commit","published_at":"2022-06-07T17:33:59.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v8.0.0","html_url":"https://github.com/fastify/middie/releases/tag/v8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v8.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v8.0.0/manifests"},{"name":"v7.0.0","sha":"0fec59048b3a8d6581e74071b3915f71c662ac64","kind":"commit","published_at":"2022-05-11T10:25:19.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v7.0.0","html_url":"https://github.com/fastify/middie/releases/tag/v7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v7.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v7.0.0/manifests"},{"name":"v6.1.0","sha":"5df9beaf656836a3a506ec7b4959a9efeacd5830","kind":"commit","published_at":"2022-05-11T10:22:06.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v6.1.0","html_url":"https://github.com/fastify/middie/releases/tag/v6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v6.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v6.1.0/manifests"},{"name":"v6.0.0","sha":"ffdc505a4fdd2230121433a4d7ce36c5196e77f0","kind":"commit","published_at":"2022-01-19T17:23:54.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v6.0.0","html_url":"https://github.com/fastify/middie/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v6.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v6.0.0/manifests"},{"name":"v5.4.0","sha":"02db3932f8ea97aa4845ed61818d9e61cae428a4","kind":"commit","published_at":"2021-12-23T13:53:51.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v5.4.0","html_url":"https://github.com/fastify/middie/releases/tag/v5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v5.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v5.4.0/manifests"},{"name":"v5.3.0","sha":"74226d67bacc7daf4057dea6f734bb4e497a5dfa","kind":"commit","published_at":"2021-06-27T20:55:49.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v5.3.0","html_url":"https://github.com/fastify/middie/releases/tag/v5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v5.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v5.3.0/manifests"},{"name":"v5.2.0","sha":"92152b38a5c1efd847053671ada93dd715032792","kind":"commit","published_at":"2020-10-21T15:14:28.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v5.2.0","html_url":"https://github.com/fastify/middie/releases/tag/v5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v5.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v5.2.0/manifests"},{"name":"v5.1.0","sha":"476d2d9d6e2c9b4e9dc3d54853ab0ed6b2791c50","kind":"commit","published_at":"2020-05-22T10:54:29.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v5.1.0","html_url":"https://github.com/fastify/middie/releases/tag/v5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v5.1.0/manifests"},{"name":"v5.0.0","sha":"82988a4e42673e8ee83ad939ed7a3701c143a38b","kind":"commit","published_at":"2020-04-28T08:09:52.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v5.0.0","html_url":"https://github.com/fastify/middie/releases/tag/v5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v5.0.0/manifests"},{"name":"v4.1.0","sha":"b23f0bc125ad8ad499c572a7e86d3ae6c993d65f","kind":"commit","published_at":"2019-11-12T14:43:30.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v4.1.0","html_url":"https://github.com/fastify/middie/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v4.1.0/manifests"},{"name":"v4.0.1","sha":"684618452516db75089a17c51ef68d2e20b9efc8","kind":"commit","published_at":"2019-01-21T09:31:54.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v4.0.1","html_url":"https://github.com/fastify/middie/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v4.0.1/manifests"},{"name":"v3.2.1","sha":"684618452516db75089a17c51ef68d2e20b9efc8","kind":"commit","published_at":"2019-01-21T09:31:54.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v3.2.1","html_url":"https://github.com/fastify/middie/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v3.2.1/manifests"},{"name":"v4.0.0","sha":"4def9ce536d9d05acf777847defd38a7258d7905","kind":"commit","published_at":"2019-01-14T14:14:34.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v4.0.0","html_url":"https://github.com/fastify/middie/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v4.0.0/manifests"},{"name":"v3.2.0","sha":"3d41b4e50baabba1ba5ab2fe6382bee1efeb6a97","kind":"commit","published_at":"2018-10-10T15:10:39.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v3.2.0","html_url":"https://github.com/fastify/middie/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v3.2.0/manifests"},{"name":"v3.1.0","sha":"03a25797e39bfd134dbfb75025139d7747cd2d76","kind":"commit","published_at":"2018-01-20T16:50:09.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v3.1.0","html_url":"https://github.com/fastify/middie/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v3.1.0/manifests"},{"name":"v3.0.0","sha":"a3ba62d010750eaea32542fb61c2f94ca552fec8","kind":"commit","published_at":"2017-12-20T12:07:16.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v3.0.0","html_url":"https://github.com/fastify/middie/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v3.0.0/manifests"},{"name":"v2.1.1","sha":"2ac769a0a64e396de5d2d08990e82863a154f3cd","kind":"commit","published_at":"2017-10-09T07:21:44.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v2.1.1","html_url":"https://github.com/fastify/middie/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"18d9974b85fbfa50247230f47ffe8d2c6d582f31","kind":"commit","published_at":"2017-10-06T23:42:55.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v2.1.0","html_url":"https://github.com/fastify/middie/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"62ceb377936546e8d3a006b9f495e1c5f5902c96","kind":"commit","published_at":"2017-09-07T07:46:08.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v2.0.0","html_url":"https://github.com/fastify/middie/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v2.0.0/manifests"},{"name":"v1.1.0","sha":"a9737975a45858f46698cb4a912b15db39bd8c5e","kind":"commit","published_at":"2017-08-24T08:24:57.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v1.1.0","html_url":"https://github.com/fastify/middie/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"3fb810db95952bf7b7d05f2f7e68f445f707a740","kind":"commit","published_at":"2017-07-03T12:04:20.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v1.0.0","html_url":"https://github.com/fastify/middie/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v1.0.0/manifests"},{"name":"v0.3.0","sha":"094b1e6a587532379e536feea2830f3ee83e993e","kind":"commit","published_at":"2017-05-17T09:32:59.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v0.3.0","html_url":"https://github.com/fastify/middie/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"6d8a3312eed7c09a1f9a4adcd3de8f8e626932a1","kind":"commit","published_at":"2017-03-26T10:11:25.000Z","download_url":"https://codeload.github.com/fastify/middie/tar.gz/v0.2.0","html_url":"https://github.com/fastify/middie/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/fastify/middie@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/tags/v0.2.0/manifests"}]},"repo_metadata_updated_at":"2026-06-21T01:00:30.880Z","dependent_packages_count":40,"downloads":2017358,"downloads_period":"last-month","dependent_repos_count":586,"rankings":{"downloads":0.2815741012769867,"dependent_repos_count":0.7495925252855629,"dependent_packages_count":0.947869886686163,"stargazers_count":4.079086709438246,"forks_count":4.906486254233805,"docker_downloads_count":0.15129397601028902,"average":1.8526505754885088},"purl":"pkg:npm/%40fastify/middie","advisories":[{"uuid":"GSA_kwCzR0hTQS03MmM2LWZ4NnEtZnI1d84ABVZm","url":"https://github.com/advisories/GHSA-72c6-fx6q-fr5w","title":"@fastify/middie vulnerable to middleware authentication bypass in child plugin scopes","description":"### Impact\n\n`@fastify/middie` v9.3.1 and earlier incorrectly re-prefixes middleware paths when propagating them to child plugin scopes. When a child plugin is registered with a prefix that overlaps with a parent-scoped middleware path, the middleware path is modified during inheritance and silently fails to match incoming requests.\n\nThis results in complete bypass of middleware security controls for all routes defined within affected child plugin scopes, including nested (grandchild) scopes. Authentication, authorization, rate limiting, and any other middleware-based security mechanisms are skipped. No special request crafting or configuration is required.\n\nThis is the same vulnerability class as [GHSA-hrwm-hgmj-7p9c](https://github.com/fastify/fastify-express/security/advisories/GHSA-hrwm-hgmj-7p9c) (CVE-2026-33807) in `@fastify/express`.\n\n### Patches\n\nUpgrade to `@fastify/middie` v9.3.2 or later.\n\n### Workarounds\n\nNone. Upgrade to the patched version.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2026-04-16T22:29:04.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.1,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","references":["https://github.com/fastify/fastify-express/security/advisories/GHSA-hrwm-hgmj-7p9c","https://github.com/fastify/middie/security/advisories/GHSA-72c6-fx6q-fr5w","https://nvd.nist.gov/vuln/detail/CVE-2026-6270","https://cna.openjsf.org/security-advisories.html","https://github.com/advisories/GHSA-72c6-fx6q-fr5w"],"source_kind":"github","identifiers":["GHSA-72c6-fx6q-fr5w","CVE-2026-6270"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-04-16T23:00:09.230Z","updated_at":"2026-06-22T18:01:28.970Z","epss_percentage":0.00498,"epss_percentile":0.38693,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03MmM2LWZ4NnEtZnI1d84ABVZm","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS03MmM2LWZ4NnEtZnI1d84ABVZm","packages":[{"ecosystem":"npm","package_name":"@fastify/middie","versions":[{"first_patched_version":"9.3.2","vulnerable_version_range":"\u003c= 9.3.1"}],"purl":"pkg:npm/%40fastify%2Fmiddie"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03MmM2LWZ4NnEtZnI1d84ABVZm/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS12OXd3LTJqNnItOThxNs4ABVZl","url":"https://github.com/advisories/GHSA-v9ww-2j6r-98q6","title":"@fastify/middie vulnerable to middleware bypass via deprecated ignoreDuplicateSlashes option","description":"### Impact\n\n`@fastify/middie` v9.3.1 and earlier does not read the deprecated (but still functional) top-level `ignoreDuplicateSlashes` option, only reading from `routerOptions`. This creates a normalization gap: Fastify's router normalizes duplicate slashes but middie does not, allowing middleware bypass via URLs with duplicate leading slashes (e.g., `//admin/secret`).\n\nThis only affects applications using the deprecated top-level configuration style (`fastify({ ignoreDuplicateSlashes: true })`). Applications using `routerOptions: { ignoreDuplicateSlashes: true }` are not affected.\n\nThis is distinct from [GHSA-8p85-9qpw-fwgw](https://github.com/fastify/middie/security/advisories/GHSA-8p85-9qpw-fwgw) (CVE-2026-2880), which was patched in v9.2.0.\n\n### Patches\n\nUpgrade to `@fastify/middie` \u003e= 9.3.2.\n\n### Workarounds\n\nMigrate from deprecated top-level `ignoreDuplicateSlashes: true` to `routerOptions: { ignoreDuplicateSlashes: true }`.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-04-16T22:28:54.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.4,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","references":["https://github.com/fastify/middie/security/advisories/GHSA-v9ww-2j6r-98q6","https://nvd.nist.gov/vuln/detail/CVE-2026-33804","https://cna.openjsf.org/security-advisories.html","https://github.com/advisories/GHSA-v9ww-2j6r-98q6"],"source_kind":"github","identifiers":["GHSA-v9ww-2j6r-98q6","CVE-2026-33804"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-04-16T23:00:09.233Z","updated_at":"2026-06-29T05:01:24.646Z","epss_percentage":0.00278,"epss_percentile":0.195,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12OXd3LTJqNnItOThxNs4ABVZl","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS12OXd3LTJqNnItOThxNs4ABVZl","packages":[{"ecosystem":"npm","package_name":"@fastify/middie","versions":[{"first_patched_version":"9.3.2","vulnerable_version_range":"\u003c= 9.3.1"}],"purl":"pkg:npm/%40fastify%2Fmiddie"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12OXd3LTJqNnItOThxNs4ABVZl/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS04cDg1LTlxcHctZndnd84ABS7C","url":"https://github.com/advisories/GHSA-8p85-9qpw-fwgw","title":"@fastify/middie has Improper Path Normalization when Using Path-Scoped Middleware","description":"## Summary\nA path normalization inconsistency in `@fastify/middie` can result in authentication/authorization bypass when using path-scoped middleware (for example, `app.use('/secret', auth)`).\n\nWhen Fastify router normalization options are enabled (such as `ignoreDuplicateSlashes`, `useSemicolonDelimiter`, and related trailing-slash behavior), crafted request paths may bypass middleware checks while still being routed to protected handlers.\n\n## Impact\nAn unauthenticated remote attacker can access endpoints intended to be protected by middleware-based auth/authorization controls by sending specially crafted URL paths (for example, `//secret` or `/secret;foo=bar`), depending on router option configuration.\n\nThis may lead to unauthorized access to protected functionality and data exposure.\n\n## Affected versions\n- Confirmed affected: `@fastify/middie@9.1.0`\n- All versions prior to the patch are affected.\n\n## Patched versions\n- Fixed in: *9.2.0*\n\n## Details\nThe issue is caused by canonicalization drift between:\n1. `@fastify/middie` path matching for `app.use('/prefix', ...)`, and\n2. Fastify/find-my-way route lookup normalization.\n\nBecause middleware and router did not always evaluate the same normalized path, auth middleware could be skipped while route resolution still succeeded.\n\n## Workarounds\nUntil patched version is deployed:\n- Avoid relying solely on path-scoped middie guards for auth/authorization.\n- Enforce auth at route-level handlers/hooks after router normalization.\n- Disable risky normalization combinations only if operationally feasible.\n\n## Resources\n- Fluid Attacks Disclosure Policy: https://fluidattacks.com/advisories/policy\n- Fluid Attacks advisory URL: https://fluidattacks.com/advisories/jimenez\n\n## Credits\n- **Cristian Vargas** (Fluid Attacks Research Team) — discovery and report.\n- **Oscar Uribe** (Fluid Attacks) — coordination and disclosure.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-02-28T02:47:17.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.2,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","references":["https://github.com/fastify/middie/security/advisories/GHSA-8p85-9qpw-fwgw","https://nvd.nist.gov/vuln/detail/CVE-2026-2880","https://github.com/fastify/middie/commit/140e0dd0359d890fec7e6ea1dcc5134d6bd554d4","https://fluidattacks.com/advisories/jimenez","https://fluidattacks.com/advisories/policy","https://github.com/fastify/middie/releases/tag/v9.2.0","https://github.com/advisories/GHSA-8p85-9qpw-fwgw"],"source_kind":"github","identifiers":["GHSA-8p85-9qpw-fwgw","CVE-2026-2880"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-02-28T03:00:07.214Z","updated_at":"2026-06-22T18:02:35.249Z","epss_percentage":0.0039,"epss_percentile":0.30608,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04cDg1LTlxcHctZndnd84ABS7C","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS04cDg1LTlxcHctZndnd84ABS7C","packages":[{"ecosystem":"npm","package_name":"@fastify/middie","versions":[{"first_patched_version":"9.2.0","vulnerable_version_range":"\u003c 9.2.0"}],"purl":"pkg:npm/%40fastify%2Fmiddie"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04cDg1LTlxcHctZndnd84ABS7C/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1jeHJnLWc3cjgtdzY5cM4ABRSA","url":"https://github.com/advisories/GHSA-cxrg-g7r8-w69p","title":"Fastify Middie Middleware Path Bypass","description":"### Summary\nA security vulnerability exists in `@fastify/middie` where middleware registered with a specific path prefix can be bypassed using URL-encoded characters (e.g., `/%61dmin` instead of `/admin`). While the middleware engine fails to match the encoded path and skips execution, the underlying Fastify router correctly decodes the path and matches the route handler, allowing attackers to access protected endpoints without the middleware constraints.\n\n### Details\nThe vulnerability is caused by how `middie` matches requests against registered middleware paths.\n\n1.  **Regex Generation**: When [fastify.use('/admin', ...)](cci:1://file:///Users/harshjaiswal/work/research/nest/packages/platform-fastify/adapters/fastify-adapter.ts:733:2-741:3) is called, `middie` uses `path-to-regexp` to generate a regular expression for the path `/admin`.\n2.  **Request Matching**: For every request, `middie` executes this regular expression against `req.url` (or `req.originalUrl`).\n3.  **The Flaw**: `req.url` in Fastify contains the **raw, undecoded** path string.\n    *   The generated regex expects a decoded path (e.g., `/admin`).\n    *   If a request is sent to `/%61dmin`, the regex comparison fails (`/^\\/admin/` does not match `/%61dmin`).\n    *   `middie` assumes the middleware does not apply and calls `next()`.\n4.  **Route Execution**: The request proceeds to Fastify's internal router, which performs URL decoding. It correctly identifies `/%61dmin` as `/admin` and executes the corresponding route handler.\n\n**Incriminated Source Code:**\nIn the provided `middie` source:\n```javascript\n// ... inside Holder function\nif (regexp) {\n  const result = regexp.exec(url) // \u003c--- 'url' is undecoded.\n  if (result) {\n    // ... executes middleware ...\n  } else {\n    that.done() // \u003c--- Middleware skipped on mismatch\n  }\n}\n```\n\n### PoC\n**Step 1:** Run the following Fastify application (save as `app.js`):\n```javascript\nconst fastify = require('fastify')({ logger: true });\n\nasync function start() {\n  // Register middie for Express-style middleware support\n  await fastify.register(require('@fastify/middie'));\n\n  // Middleware to block /admin route\n  fastify.use('/admin', (req, res, next) =\u003e {\n    res.statusCode = 403;\n    res.end('Forbidden: Access to /admin is blocked');\n  });\n\n  // Sample routes\n  fastify.get('/', async (request, reply) =\u003e {\n    return { message: 'Welcome to the homepage' };\n  });\n\n  fastify.get('/admin', async (request, reply) =\u003e {\n    return { message: 'Admin panel' };\n  });\n\n  // Start server\n  try {\n    await fastify.listen({ port: 3008 });\n  } catch (err) {\n    fastify.log.error(err);\n    process.exit(1);\n  }\n}\n\nstart();\n```\n\n**Step 2:** Execute the attack.\n1.  **Normal Request (Blocked):**\n    ```bash\n    curl http://localhost:3008/admin\n    # Output: Forbidden: Access to /admin is blocked\n    ```\n2.  **Bypass Request (Successful):**\n    ```bash\n    curl http://localhost:3008/%61dmin\n    # Output: {\"message\":\"Admin panel\"}\n    ```\n\n### Impact\n*   **Type:** Authentication/Authorization Bypass.\n*   **Affected Components:** Applications using `@fastify/middie` to apply security controls (auth, rate limiting, IP filtering) to specific route prefixes.\n*   **Severity:** High. Attackers can trivially bypass critical security middleware to access protected administrative or sensitive endpoints.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-01-20T16:34:50.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.4,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L","references":["https://github.com/fastify/middie/security/advisories/GHSA-cxrg-g7r8-w69p","https://nvd.nist.gov/vuln/detail/CVE-2026-22031","https://github.com/fastify/middie/pull/245","https://github.com/fastify/middie/commit/d44cd56eb724490babf7b452fdbbdd37ea2effba","https://github.com/fastify/middie/releases/tag/v9.1.0","https://github.com/advisories/GHSA-cxrg-g7r8-w69p"],"source_kind":"github","identifiers":["GHSA-cxrg-g7r8-w69p","CVE-2026-22031"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-01-20T17:00:07.978Z","updated_at":"2026-06-22T18:03:03.803Z","epss_percentage":0.00457,"epss_percentile":0.3619,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1jeHJnLWc3cjgtdzY5cM4ABRSA","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1jeHJnLWc3cjgtdzY5cM4ABRSA","packages":[{"ecosystem":"npm","package_name":"@fastify/middie","versions":[{"first_patched_version":"9.1.0","vulnerable_version_range":"\u003c= 9.0.3"}],"purl":"pkg:npm/%40fastify%2Fmiddie"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1jeHJnLWc3cjgtdzY5cM4ABRSA/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@fastify/middie","docker_dependents_count":107,"docker_downloads_count":160757695,"usage_url":"https://repos.ecosyste.ms/usage/npm/@fastify/middie","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@fastify/middie/dependencies","status":null,"funding_links":["https://github.com/sponsors/fastify","https://opencollective.com/fastify"],"critical":null,"issue_metadata":{"last_synced_at":"2026-05-01T03:01:19.778Z","issues_count":14,"pull_requests_count":174,"avg_time_to_close_issue":2923967.6923076925,"avg_time_to_close_pull_request":581247.0295857989,"issues_closed_count":13,"pull_requests_closed_count":169,"pull_request_authors_count":19,"issue_authors_count":14,"avg_comments_per_issue":2.5,"avg_comments_per_pull_request":0.3390804597701149,"merged_pull_requests_count":156,"bot_issues_count":0,"bot_pull_requests_count":86,"past_year_issues_count":0,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":3065.25,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastify%2Fmiddie/issues","maintainers":[{"login":"Fdawgs","count":54,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Fdawgs"},{"login":"climba03003","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/climba03003"},{"login":"mcollina","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mcollina"},{"login":"gurgunday","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gurgunday"},{"login":"Eomm","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Eomm"},{"login":"jsumners","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jsumners"},{"login":"RafaelGSS","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/RafaelGSS"}],"active_maintainers":[{"login":"Fdawgs","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Fdawgs"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@fastify%2Fmiddie/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@fastify%2Fmiddie/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@fastify%2Fmiddie/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@fastify%2Fmiddie/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@fastify%2Fmiddie/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@fastify%2Fmiddie/codemeta","maintainers":[{"uuid":"simenb","login":"simenb","name":null,"email":"sbekkhus91@gmail.com","url":null,"packages_count":264,"html_url":"https://www.npmjs.com/~simenb","role":null,"created_at":"2022-11-13T01:06:35.016Z","updated_at":"2022-11-13T01:06:35.016Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/simenb/packages"},{"uuid":"matteo.collina","login":"matteo.collina","name":null,"email":"hello@matteocollina.com","url":null,"packages_count":673,"html_url":"https://www.npmjs.com/~matteo.collina","role":null,"created_at":"2022-11-13T01:06:36.335Z","updated_at":"2022-11-13T01:06:36.335Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/matteo.collina/packages"},{"uuid":"airhorns","login":"airhorns","name":null,"email":"harry@harry.me","url":null,"packages_count":213,"html_url":"https://www.npmjs.com/~airhorns","role":null,"created_at":"2022-11-13T01:06:37.054Z","updated_at":"2022-11-13T01:06:37.054Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/airhorns/packages"},{"uuid":"galvez","login":"galvez","name":null,"email":"jonasgalvez@gmail.com","url":null,"packages_count":201,"html_url":"https://www.npmjs.com/~galvez","role":null,"created_at":"2022-11-13T01:06:34.939Z","updated_at":"2022-11-13T01:06:34.939Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/galvez/packages"},{"uuid":"delvedor","login":"delvedor","name":null,"email":"tommydelved@gmail.com","url":null,"packages_count":194,"html_url":"https://www.npmjs.com/~delvedor","role":null,"created_at":"2022-11-13T01:06:36.191Z","updated_at":"2022-11-13T01:06:36.191Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/delvedor/packages"},{"uuid":"kibertoad","login":"kibertoad","name":null,"email":"iselwin@gmail.com","url":null,"packages_count":357,"html_url":"https://www.npmjs.com/~kibertoad","role":null,"created_at":"2022-11-13T01:06:37.128Z","updated_at":"2022-11-13T01:06:37.128Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/kibertoad/packages"},{"uuid":"jsumners","login":"jsumners","name":null,"email":"james.sumners@gmail.com","url":null,"packages_count":270,"html_url":"https://www.npmjs.com/~jsumners","role":null,"created_at":"2022-11-13T01:06:36.686Z","updated_at":"2022-11-13T01:06:36.686Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/jsumners/packages"},{"uuid":"simoneb","login":"simoneb","name":null,"email":"simone.busoli@gmail.com","url":null,"packages_count":312,"html_url":"https://www.npmjs.com/~simoneb","role":null,"created_at":"2022-11-13T01:06:35.601Z","updated_at":"2022-11-13T01:06:35.601Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/simoneb/packages"},{"uuid":"zekth","login":"zekth","name":null,"email":"vince.legoff@gmail.com","url":null,"packages_count":156,"html_url":"https://www.npmjs.com/~zekth","role":null,"created_at":"2022-11-13T01:06:36.743Z","updated_at":"2022-11-13T01:06:36.743Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/zekth/packages"},{"uuid":"eomm","login":"eomm","name":null,"email":"behemoth89@gmail.com","url":null,"packages_count":198,"html_url":"https://www.npmjs.com/~eomm","role":null,"created_at":"2022-11-13T01:06:36.890Z","updated_at":"2022-11-13T01:06:36.890Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/eomm/packages"},{"uuid":"fox1t","login":"fox1t","name":null,"email":"maksim@sinik.it","url":null,"packages_count":169,"html_url":"https://www.npmjs.com/~fox1t","role":null,"created_at":"2022-11-13T01:06:36.921Z","updated_at":"2022-11-13T01:06:36.921Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/fox1t/packages"},{"uuid":"climba03003","login":"climba03003","name":null,"email":"kaka@kakawebsitedemo.com","url":null,"packages_count":195,"html_url":"https://www.npmjs.com/~climba03003","role":null,"created_at":"2022-11-13T01:06:37.204Z","updated_at":"2022-11-13T01:06:37.204Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/climba03003/packages"},{"uuid":"fdawgs","login":"fdawgs","name":null,"email":"frazer.dev@icloud.com","url":null,"packages_count":93,"html_url":"https://www.npmjs.com/~fdawgs","role":null,"created_at":"2022-11-13T01:06:37.258Z","updated_at":"2022-11-13T01:06:37.258Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/fdawgs/packages"},{"uuid":"metcoder95","login":"metcoder95","name":null,"email":"me@metcoder.dev","url":null,"packages_count":176,"html_url":"https://www.npmjs.com/~metcoder95","role":null,"created_at":"2023-04-13T02:16:13.964Z","updated_at":"2023-04-13T02:16:13.964Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/metcoder95/packages"},{"uuid":"ilteoood","login":"ilteoood","name":null,"email":"matteopietro.dazzi@gmail.com","url":null,"packages_count":73,"html_url":"https://www.npmjs.com/~ilteoood","role":null,"created_at":"2025-10-05T14:15:32.051Z","updated_at":"2025-10-05T14:15:32.051Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/ilteoood/packages"},{"uuid":"jean-michelet","login":"jean-michelet","name":null,"email":"jean.antoine.michelet@gmail.com","url":null,"packages_count":143,"html_url":"https://www.npmjs.com/~jean-michelet","role":null,"created_at":"2025-10-05T14:15:31.945Z","updated_at":"2025-10-05T14:15:31.945Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/jean-michelet/packages"},{"uuid":"gurgunday","login":"gurgunday","name":null,"email":"hey@gurgun.day","url":null,"packages_count":164,"html_url":"https://www.npmjs.com/~gurgunday","role":null,"created_at":"2023-09-06T22:09:13.808Z","updated_at":"2023-09-06T22:09:13.808Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/gurgunday/packages"}]}