{"id":2726,"url":"https://github.com/LemmyNet/activitypub-federation-rust","last_synced_at":"2026-05-13T06:30:36.031Z","repository":{"id":41252673,"uuid":"499104392","full_name":"LemmyNet/activitypub-federation-rust","owner":"LemmyNet","description":"High-level Rust library for the Activitypub protocol","archived":false,"fork":false,"pushed_at":"2026-04-24T09:31:31.000Z","size":613,"stargazers_count":487,"open_issues_count":4,"forks_count":58,"subscribers_count":12,"default_branch":"main","last_synced_at":"2026-05-02T12:57:44.891Z","etag":null,"topics":["activitypub","federation","lemmy","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LemmyNet.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":".github/CODEOWNERS","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}},"created_at":"2022-06-02T11:17:04.000Z","updated_at":"2026-04-25T01:33:43.000Z","dependencies_parsed_at":"2023-12-21T16:44:14.804Z","dependency_job_id":"e0b46f1d-e392-426f-868f-cc8fde0a8ebd","html_url":"https://github.com/LemmyNet/activitypub-federation-rust","commit_stats":{"total_commits":163,"total_committers":20,"mean_commits":8.15,"dds":"0.19631901840490795","last_synced_commit":"6dfd30a8ab6ca25233f0fe34d129eb54ec27becd"},"previous_names":[],"tags_count":60,"template":false,"template_full_name":null,"purl":"pkg:github/LemmyNet/activitypub-federation-rust","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LemmyNet","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32590266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":{"login":"LemmyNet","name":"LemmyNet","uuid":"63424117","kind":"organization","description":"Lemmy and related projects","email":null,"website":"https://join-lemmy.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/63424117?v=4","repositories_count":19,"last_synced_at":"2026-03-29T13:53:33.987Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/LemmyNet","funding_links":[],"total_stars":15981,"followers":1086,"following":0,"created_at":"2022-11-15T05:28:47.635Z","updated_at":"2026-03-29T13:53:33.988Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LemmyNet","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LemmyNet/repositories"},"packages":[{"id":4458672,"name":"activitypub_federation_derive","ecosystem":"cargo","description":"High-level Activitypub framework","homepage":null,"licenses":"AGPL-3.0","normalized_licenses":["AGPL-3.0"],"repository_url":"https://github.com/LemmyNet/activitypub-federation-rust","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2022-06-02T11:22:52.738Z","latest_release_published_at":"2022-06-07T13:04:41.224Z","latest_release_number":"0.2.0","last_synced_at":"2026-04-13T16:02:21.882Z","created_at":"2022-06-02T11:31:02.435Z","updated_at":"2026-04-13T16:02:21.882Z","registry_url":"https://crates.io/crates/activitypub_federation_derive/","install_command":"cargo install activitypub_federation_derive","documentation_url":"https://docs.rs/activitypub_federation_derive/","metadata":{"categories":[]},"repo_metadata":{"id":41252673,"uuid":"499104392","full_name":"LemmyNet/activitypub-federation-rust","owner":"LemmyNet","description":"High-level Rust library for the Activitypub protocol","archived":false,"fork":false,"pushed_at":"2024-07-30T16:28:47.000Z","size":420,"stargazers_count":409,"open_issues_count":7,"forks_count":46,"subscribers_count":15,"default_branch":"main","last_synced_at":"2024-09-03T20:01:30.166Z","etag":null,"topics":["activitypub","federation","lemmy","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LemmyNet.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-02T11:17:04.000Z","updated_at":"2024-09-03T17:30:10.000Z","dependencies_parsed_at":"2023-12-21T16:44:14.804Z","dependency_job_id":"e0b46f1d-e392-426f-868f-cc8fde0a8ebd","html_url":"https://github.com/LemmyNet/activitypub-federation-rust","commit_stats":{"total_commits":156,"total_committers":18,"mean_commits":8.666666666666666,"dds":0.1923076923076923,"last_synced_commit":"83a156394eb841dfb11452755d4a423ae5a05f06"},"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LemmyNet","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":217595411,"owners_count":16201710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"LemmyNet","name":"LemmyNet","uuid":"63424117","kind":"organization","description":"Lemmy and related projects","email":null,"website":"https://join-lemmy.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/63424117?v=4","repositories_count":19,"last_synced_at":"2024-04-15T02:09:44.434Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/LemmyNet","funding_links":[],"total_stars":15981,"followers":794,"following":0,"created_at":"2022-11-15T05:28:47.635Z","updated_at":"2024-04-15T02:09:55.111Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LemmyNet","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LemmyNet/repositories"},"tags":[{"name":"0.5.8","sha":"a0e0c54b571a8c9f11e5646c4117fb7ff2cf1d70","kind":"commit","published_at":"2024-07-16T10:29:56.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.8","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.8/manifests"},{"name":"0.5.7","sha":"a25114095271d1e22657adbc63c4dd77bcf8cf46","kind":"commit","published_at":"2024-06-05T21:09:53.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.7","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.7/manifests"},{"name":"0.5.6","sha":"16844f048afeeeb5d7d0df3a559505cbcd684a61","kind":"commit","published_at":"2024-05-06T09:09:47.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.6","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.6/manifests"},{"name":"0.5.5","sha":"24afad7abc8361bbc45f794e5d2e8010404501d6","kind":"commit","published_at":"2024-05-02T11:06:22.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.5","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.5/manifests"},{"name":"0.5.4","sha":"ee268405f71a74051fbb0b5bd10426b0f5f1a2ac","kind":"commit","published_at":"2024-04-10T09:32:14.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.4","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.4/manifests"},{"name":"0.5.3","sha":"779313ac22b804777a569738b1828cc4ebaa1032","kind":"commit","published_at":"2024-04-09T09:30:43.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.3","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"1b46dd6f80fddb9e153cd8e660122dfc49058845","kind":"commit","published_at":"2024-03-08T14:43:43.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.2","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"147f1447695099a87da253b4251d26d75e3d5a95","kind":"commit","published_at":"2024-03-04T15:27:44.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.1/manifests"},{"name":"0.5.1-beta.1","sha":"f907b6efa78481237dde6d8d76133bfa7fe3d371","kind":"commit","published_at":"2024-01-05T15:21:20.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.1-beta.1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.1-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.1-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.1-beta.1/manifests"},{"name":"0.5.0","sha":"3efa99514c019ecf0a796c1a243e3cc81d83e10b","kind":"commit","published_at":"2024-01-02T10:40:55.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0/manifests"},{"name":"0.5.0-beta.7","sha":"9c3c7568905bc08a9848c157ecbfcca1c1ff0963","kind":"commit","published_at":"2023-12-20T11:28:43.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.7","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.7/manifests"},{"name":"0.5.0-beta.6","sha":"fec0af240652fb9ce8d2d5dd2b61a1f37ced5912","kind":"commit","published_at":"2023-12-12T10:42:52.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.6","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.6/manifests"},{"name":"0.5.0-beta.5","sha":"33649b43b7c8099e20629ca0f1ed483f01a5ec15","kind":"commit","published_at":"2023-11-20T13:35:51.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.5","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.5/manifests"},{"name":"0.5.0-beta.4","sha":"171d32720e5c5e3d275905faadd8de582d6eaeda","kind":"commit","published_at":"2023-10-24T09:34:42.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.4","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.4/manifests"},{"name":"0.5.0-beta.3","sha":"99e2226993a87fb7340285d69a93de3c55b43191","kind":"commit","published_at":"2023-09-01T09:20:07.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.3","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.3/manifests"},{"name":"0.5.0-beta.2","sha":"e0275180751539ba5b7162de7864637ebcd0963e","kind":"commit","published_at":"2023-08-31T11:53:35.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.2","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.2/manifests"},{"name":"0.4.7","sha":"dcccd14c8276354ec201c19f50d323795071b374","kind":"commit","published_at":"2023-08-31T11:46:47.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.7","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.7/manifests"},{"name":"0.5.0-beta.1","sha":"7bb17f21d59b0aed6126d8a8a0cd60897cb02e6d","kind":"commit","published_at":"2023-07-26T14:27:33.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.1/manifests"},{"name":"0.4.6","sha":"b63445afcac9533db947ff86db07470001c79d32","kind":"commit","published_at":"2023-07-20T14:27:51.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.6","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.6/manifests"},{"name":"0.4.5","sha":"93b7aa7979b4490a9ee2c69d8852048b7a4d6823","kind":"commit","published_at":"2023-06-27T13:42:50.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.5","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.5/manifests"},{"name":"0.4.4","sha":"7300940e1055dce31bdf07028b8f73b464f619cd","kind":"commit","published_at":"2023-06-22T07:42:27.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.4","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.4/manifests"},{"name":"0.4.3","sha":"607aca773956ebf43b2a7757300f258da8322784","kind":"commit","published_at":"2023-06-22T07:21:27.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.3","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.3/manifests"},{"name":"0.4.2","sha":"1aa081713e5bf299ef729013e35550a8eb342b61","kind":"commit","published_at":"2023-06-20T10:01:38.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.2","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.2/manifests"},{"name":"0.4.1","sha":"6ac6e2d90efa818d9644f7f09346d3657e65f32d","kind":"commit","published_at":"2023-06-12T14:25:09.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.1/manifests"},{"name":"0.4.0","sha":"1669a72620c0caef365da054476cdf7f3139e97e","kind":"commit","published_at":"2023-03-16T20:48:17.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.0","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0/manifests"},{"name":"0.4.0-rc3","sha":"bd3f17a4dfb2b0192473355939811ef6df3f5891","kind":"commit","published_at":"2023-03-16T01:11:12.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.0-rc3","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.0-rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc3/manifests"},{"name":"0.4.0-rc2","sha":"6b3a4f8942dff378a4c7fa4a9d7af24fdbc1f310","kind":"commit","published_at":"2023-03-09T21:09:44.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.0-rc2","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.0-rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc2/manifests"},{"name":"0.4.0-rc1","sha":"8697c3fb1c3fae0472ace24ddb882c502a670374","kind":"commit","published_at":"2023-03-08T21:22:58.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.0-rc1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc1/manifests"},{"name":"0.3.5","sha":"35bf29ae73e33a537a9fdb2d2bb8bb1ba4842991","kind":"commit","published_at":"2023-02-04T16:02:16.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.5","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.5/manifests"},{"name":"0.3.4","sha":"5b8ad33c60975889565bc91ea46d653325cd470f","kind":"commit","published_at":"2022-11-23T11:25:32.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.4","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.4/manifests"},{"name":"0.3.3","sha":"f59c817cc15c843c89d74864ebb65ed5db0e1379","kind":"commit","published_at":"2022-11-22T10:10:38.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.3","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.3/manifests"},{"name":"0.3.2","sha":"c57ee400927ba7030683fbb084a6d9acfb762322","kind":"commit","published_at":"2022-11-16T09:30:29.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.2","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"8ee52826a121eebced19d0dba2bfcac6f148b228","kind":"commit","published_at":"2022-11-14T15:11:58.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"aeba7f38bb9e7f6fdcffd0a174c89062c7c5806e","kind":"commit","published_at":"2022-11-14T14:26:38.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.0","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.0/manifests"},{"name":"0.2.3","sha":"dab34bc9194670279c5b90e5fd98f5c855bd2bfe","kind":"commit","published_at":"2022-10-28T10:39:28.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.2.3","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.3/manifests"},{"name":"0.2.2","sha":"bb23204661cf987c4bab472eb12238e3a8672b28","kind":"commit","published_at":"2022-10-03T14:23:34.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.2.2","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"356b98bb97c9e2170dec4f73da9df99318a44918","kind":"commit","published_at":"2022-09-29T21:37:25.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.2.1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"8d5ef9ce97bb6c45ae2de494817f1342d131cf96","kind":"commit","published_at":"2022-06-07T13:04:24.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.2.0","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.0/manifests"},{"name":"0.1.0","sha":"5e4bd751aa17b3568f77362e9e3978881390af39","kind":"commit","published_at":"2022-06-02T11:26:05.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.1.0","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2024-09-07T06:44:50.666Z","dependent_packages_count":1,"downloads":9776,"downloads_period":"total","dependent_repos_count":2,"rankings":{"downloads":16.395384651835005,"dependent_repos_count":13.748784709871712,"dependent_packages_count":15.669130888067482,"stargazers_count":9.389437770985856,"forks_count":10.015407103069569,"docker_downloads_count":null,"average":13.043629024765925},"purl":"pkg:cargo/activitypub_federation_derive","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/cargo/activitypub_federation_derive","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/cargo/activitypub_federation_derive","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/cargo/activitypub_federation_derive/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-09-07T06:31:43.744Z","issues_count":30,"pull_requests_count":92,"avg_time_to_close_issue":5970502.875,"avg_time_to_close_pull_request":536869.1208791209,"issues_closed_count":24,"pull_requests_closed_count":91,"pull_request_authors_count":23,"issue_authors_count":18,"avg_comments_per_issue":2.533333333333333,"avg_comments_per_pull_request":1.3478260869565217,"merged_pull_requests_count":75,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":8,"past_year_pull_requests_count":40,"past_year_avg_time_to_close_issue":2986224.0,"past_year_avg_time_to_close_pull_request":380428.358974359,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":39,"past_year_pull_request_authors_count":9,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":3.375,"past_year_avg_comments_per_pull_request":0.575,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":32,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/issues","maintainers":[{"login":"Nutomic","count":60,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Nutomic"},{"login":"Grafcube","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Grafcube"},{"login":"dessalines","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dessalines"}],"active_maintainers":[{"login":"Nutomic","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Nutomic"},{"login":"dessalines","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dessalines"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/activitypub_federation_derive/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/activitypub_federation_derive/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/activitypub_federation_derive/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/activitypub_federation_derive/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/activitypub_federation_derive/codemeta","maintainers":[{"uuid":"127774","login":"Nutomic","name":null,"email":null,"url":"https://github.com/Nutomic","packages_count":23,"html_url":"https://crates.io/users/Nutomic","role":null,"created_at":"2022-11-08T04:34:08.110Z","updated_at":"2022-11-08T04:34:08.110Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/maintainers/Nutomic/packages"}],"registry":{"name":"crates.io","url":"https://crates.io","ecosystem":"cargo","default":true,"packages_count":264176,"maintainers_count":61738,"namespaces_count":0,"keywords_count":59668,"github":"rust-lang","metadata":{"funded_packages_count":21630},"icon_url":"https://github.com/rust-lang.png","created_at":"2022-04-04T15:19:22.689Z","updated_at":"2026-04-08T05:04:51.397Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/namespaces"}},{"id":4458671,"name":"activitypub_federation","ecosystem":"cargo","description":"High-level Activitypub framework","homepage":null,"licenses":"AGPL-3.0","normalized_licenses":["AGPL-3.0"],"repository_url":"https://github.com/LemmyNet/activitypub-federation-rust","keywords_array":["activitypub","activitystreams","federation","fediverse"],"namespace":null,"versions_count":61,"first_release_published_at":"2022-06-02T11:26:45.330Z","latest_release_published_at":"2025-03-28T10:24:35.194Z","latest_release_number":"0.6.5","last_synced_at":"2026-04-17T11:55:05.746Z","created_at":"2022-06-02T11:31:02.326Z","updated_at":"2026-04-17T11:55:05.746Z","registry_url":"https://crates.io/crates/activitypub_federation/","install_command":"cargo install activitypub_federation","documentation_url":"https://docs.rs/activitypub_federation/","metadata":{"categories":[]},"repo_metadata":{"uuid":"499104392","full_name":"LemmyNet/activitypub-federation-rust","owner":"LemmyNet","description":"High-level Rust library for the Activitypub protocol","archived":false,"fork":false,"pushed_at":"2024-01-05T15:29:37.000Z","size":293,"stargazers_count":360,"open_issues_count":8,"forks_count":39,"subscribers_count":15,"default_branch":"main","last_synced_at":"2024-01-06T08:33:19.292Z","etag":null,"topics":["activitypub","federation","lemmy","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LemmyNet.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}},"created_at":"2022-06-02T11:17:04.000Z","updated_at":"2024-01-05T14:25:18.000Z","dependencies_parsed_at":"2023-12-21T16:44:14.804Z","dependency_job_id":"e0b46f1d-e392-426f-868f-cc8fde0a8ebd","html_url":"https://github.com/LemmyNet/activitypub-federation-rust","commit_stats":{"total_commits":121,"total_committers":17,"mean_commits":7.117647058823529,"dds":"0.20661157024793386","last_synced_commit":"9c3c7568905bc08a9848c157ecbfcca1c1ff0963"},"previous_names":[],"tags_count":30,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LemmyNet","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":179612648,"owners_count":10838673,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"LemmyNet","name":"LemmyNet","uuid":"63424117","kind":"organization","description":"Lemmy and related projects","email":null,"website":"https://join-lemmy.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/63424117?v=4","repositories_count":11,"last_synced_at":"2023-03-05T03:48:44.592Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/LemmyNet","created_at":"2022-11-15T05:28:47.635Z","updated_at":"2023-03-05T03:48:44.645Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LemmyNet","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LemmyNet/repositories"},"tags":[{"name":"0.5.0","sha":"3efa99514c019ecf0a796c1a243e3cc81d83e10b","kind":"commit","published_at":"2024-01-02T10:40:55.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0/manifests"},{"name":"0.5.0-beta.7","sha":"9c3c7568905bc08a9848c157ecbfcca1c1ff0963","kind":"commit","published_at":"2023-12-20T11:28:43.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.7","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.7/manifests"},{"name":"0.5.0-beta.6","sha":"fec0af240652fb9ce8d2d5dd2b61a1f37ced5912","kind":"commit","published_at":"2023-12-12T10:42:52.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.6","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.6/manifests"},{"name":"0.5.0-beta.5","sha":"33649b43b7c8099e20629ca0f1ed483f01a5ec15","kind":"commit","published_at":"2023-11-20T13:35:51.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.5","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.5/manifests"},{"name":"0.5.0-beta.4","sha":"171d32720e5c5e3d275905faadd8de582d6eaeda","kind":"commit","published_at":"2023-10-24T09:34:42.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.4","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.4/manifests"},{"name":"0.5.0-beta.3","sha":"99e2226993a87fb7340285d69a93de3c55b43191","kind":"commit","published_at":"2023-09-01T09:20:07.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.3","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.3/manifests"},{"name":"0.5.0-beta.2","sha":"e0275180751539ba5b7162de7864637ebcd0963e","kind":"commit","published_at":"2023-08-31T11:53:35.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.2","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.2/manifests"},{"name":"0.4.7","sha":"dcccd14c8276354ec201c19f50d323795071b374","kind":"commit","published_at":"2023-08-31T11:46:47.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.7","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.7/manifests"},{"name":"0.5.0-beta.1","sha":"7bb17f21d59b0aed6126d8a8a0cd60897cb02e6d","kind":"commit","published_at":"2023-07-26T14:27:33.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.5.0-beta.1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.5.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.5.0-beta.1/manifests"},{"name":"0.4.6","sha":"b63445afcac9533db947ff86db07470001c79d32","kind":"commit","published_at":"2023-07-20T14:27:51.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.6","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.6/manifests"},{"name":"0.4.5","sha":"93b7aa7979b4490a9ee2c69d8852048b7a4d6823","kind":"commit","published_at":"2023-06-27T13:42:50.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.5","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.5/manifests"},{"name":"0.4.4","sha":"7300940e1055dce31bdf07028b8f73b464f619cd","kind":"commit","published_at":"2023-06-22T07:42:27.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.4","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.4/manifests"},{"name":"0.4.3","sha":"607aca773956ebf43b2a7757300f258da8322784","kind":"commit","published_at":"2023-06-22T07:21:27.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.3","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.3/manifests"},{"name":"0.4.2","sha":"1aa081713e5bf299ef729013e35550a8eb342b61","kind":"commit","published_at":"2023-06-20T10:01:38.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.2","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.2/manifests"},{"name":"0.4.1","sha":"6ac6e2d90efa818d9644f7f09346d3657e65f32d","kind":"commit","published_at":"2023-06-12T14:25:09.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.1/manifests"},{"name":"0.4.0","sha":"1669a72620c0caef365da054476cdf7f3139e97e","kind":"commit","published_at":"2023-03-16T20:48:17.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.0","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0/manifests"},{"name":"0.4.0-rc3","sha":"bd3f17a4dfb2b0192473355939811ef6df3f5891","kind":"commit","published_at":"2023-03-16T01:11:12.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.0-rc3","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.0-rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc3/manifests"},{"name":"0.4.0-rc2","sha":"6b3a4f8942dff378a4c7fa4a9d7af24fdbc1f310","kind":"commit","published_at":"2023-03-09T21:09:44.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.0-rc2","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.0-rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc2/manifests"},{"name":"0.4.0-rc1","sha":"8697c3fb1c3fae0472ace24ddb882c502a670374","kind":"commit","published_at":"2023-03-08T21:22:58.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.4.0-rc1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.4.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.4.0-rc1/manifests"},{"name":"0.3.5","sha":"35bf29ae73e33a537a9fdb2d2bb8bb1ba4842991","kind":"commit","published_at":"2023-02-04T16:02:16.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.5","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.5/manifests"},{"name":"0.3.4","sha":"5b8ad33c60975889565bc91ea46d653325cd470f","kind":"commit","published_at":"2022-11-23T11:25:32.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.4","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.4/manifests"},{"name":"0.3.3","sha":"f59c817cc15c843c89d74864ebb65ed5db0e1379","kind":"commit","published_at":"2022-11-22T10:10:38.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.3","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.3/manifests"},{"name":"0.3.2","sha":"c57ee400927ba7030683fbb084a6d9acfb762322","kind":"commit","published_at":"2022-11-16T09:30:29.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.2","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"8ee52826a121eebced19d0dba2bfcac6f148b228","kind":"commit","published_at":"2022-11-14T15:11:58.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"aeba7f38bb9e7f6fdcffd0a174c89062c7c5806e","kind":"commit","published_at":"2022-11-14T14:26:38.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.3.0","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.3.0/manifests"},{"name":"0.2.3","sha":"dab34bc9194670279c5b90e5fd98f5c855bd2bfe","kind":"commit","published_at":"2022-10-28T10:39:28.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.2.3","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.3/manifests"},{"name":"0.2.2","sha":"bb23204661cf987c4bab472eb12238e3a8672b28","kind":"commit","published_at":"2022-10-03T14:23:34.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.2.2","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"356b98bb97c9e2170dec4f73da9df99318a44918","kind":"commit","published_at":"2022-09-29T21:37:25.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.2.1","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"8d5ef9ce97bb6c45ae2de494817f1342d131cf96","kind":"commit","published_at":"2022-06-07T13:04:24.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.2.0","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.2.0/manifests"},{"name":"0.1.0","sha":"5e4bd751aa17b3568f77362e9e3978881390af39","kind":"commit","published_at":"2022-06-02T11:26:05.000Z","download_url":"https://codeload.github.com/LemmyNet/activitypub-federation-rust/tar.gz/0.1.0","html_url":"https://github.com/LemmyNet/activitypub-federation-rust/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2024-01-07T10:37:35.054Z","dependent_packages_count":7,"downloads":157912,"downloads_period":"total","dependent_repos_count":49,"rankings":{"downloads":9.675330316456195,"dependent_repos_count":4.318968378134926,"dependent_packages_count":6.423004568664338,"stargazers_count":9.389437770985856,"forks_count":10.015407103069569,"docker_downloads_count":null,"average":7.964429627462176},"purl":"pkg:cargo/activitypub_federation","advisories":[{"uuid":"GSA_kwCzR0hTQS1xNTM3LThmcjUtY3czNc4ABURS","url":"https://github.com/advisories/GHSA-q537-8fr5-cw35","title":"Activitypub-Federation has SSRF via 0.0.0.0 bypass in activitypub-federation-rust v4_is_invalid()","description":"### Summary\n\nThe `v4_is_invalid()` function in `activitypub-federation-rust` (`src/utils.rs`) does not check for `Ipv4Addr::UNSPECIFIED` (0.0.0.0). An unauthenticated attacker controlling a remote domain can point it to 0.0.0.0, bypass the SSRF protection introduced by the fix for CVE-2025-25194 (GHSA-7723-35v7-qcxw), and reach localhost services on the target server.\n\n### Details\n\n**File:** `src/utils.rs` in `activitypub-federation-rust`\n**Function:** `v4_is_invalid(v4: Ipv4Addr) -\u003e bool`\n\nThe function checks `is_private()`, `is_loopback()`, `is_link_local()`, `is_multicast()`, and `is_documentation()` — but omits `is_unspecified()`. On Linux, macOS, and Windows, TCP connections to 0.0.0.0 are routed to localhost (127.0.0.1).\n\nAdditionally, `::ffff:0.0.0.0` (IPv4-mapped IPv6) also bypasses because `v6_is_invalid()` calls `to_ipv4_mapped().is_some_and(v4_is_invalid)`, inheriting the same gap. Notably, `v6_is_invalid()` already includes `is_unspecified()` for native IPv6, making this an asymmetric oversight.\n\n**Independent secondary finding — DNS Rebinding TOCTOU:**\n`is_invalid_ip()` resolves DNS via `lookup_host()` for validation, but `reqwest` resolves DNS again for the actual connection. With TTL=0 DNS responses, an attacker can return a legitimate IP for the first resolution (passes check) and 127.0.0.1 for the second (reqwest connects to localhost). CVSS for rebinding alone: 4.8 (AC:H).\n\n### PoC\n\n**1. Logic Proof (reproduced from source):**\n\n```rust\nfn v4_is_invalid(v4: Ipv4Addr) -\u003e bool {\n    v4.is_private()\n        || v4.is_loopback()\n        || v4.is_link_local()\n        || v4.is_multicast()\n        || v4.is_documentation()\n    // BUG: Missing || v4.is_unspecified()\n}\n\nassert_eq!(v4_is_invalid(Ipv4Addr::UNSPECIFIED), false);  // 0.0.0.0 PASSES validation\nassert_eq!(v4_is_invalid(Ipv4Addr::LOCALHOST), true);     // 127.0.0.1 correctly blocked\n```\n\n**2. OS Routing Verification:**\n\n```\n$ connect(0.0.0.0:80) → ConnectionRefused\n```\n\nConnectionRefused proves the OS routed to localhost (port 80 not listening). Any service on 0.0.0.0:PORT is reachable.\n\n**3. Attack Chain:**\n\n1. Attacker configures DNS: `evil.com A → 0.0.0.0`\n2. 2. Attacker sends ActivityPub activity referencing `https://evil.com/actor`\n3. 3. Library calls `verify_url_valid()` → `is_invalid_ip()` → resolves to 0.0.0.0\n4. 4. `v4_is_invalid(0.0.0.0)` returns `false` (BYPASS)\n5. 5. `reqwest` connects to 0.0.0.0 → reaches localhost services\n### Impact\n\n- **Direct:** Bypasses the SSRF protection layer for all ActivityPub federation traffic\n- - **Downstream:** 6+ dependent projects affected including Lemmy (13.7k stars), hatsu, gill, ties, fediscus, fediverse-axum\n- - **Attacker can:** Access cloud instance metadata (169.254.169.254 via rebinding), reach internal services on localhost, port scan internal infrastructure\n### Suggested Fix\n\n```rust\nfn v4_is_invalid(v4: Ipv4Addr) -\u003e bool {\n    v4.is_private()\n        || v4.is_loopback()\n        || v4.is_link_local()\n        || v4.is_multicast()\n        || v4.is_documentation()\n        || v4.is_unspecified()    // ADD: blocks 0.0.0.0\n        || v4.is_broadcast()      // ADD: blocks 255.255.255.255\n}\n```\n\nFor DNS rebinding TOCTOU, pin the resolved IP:\n\n```rust\nlet resolved_ip = lookup_host((domain, 80)).await?;\n// validate resolved_ip...\nlet client = reqwest::Client::builder()\n    .resolve(domain, resolved_ip)  // pin resolution\n    .build()?;\n```","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-03-25T20:23:38.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","references":["https://github.com/LemmyNet/lemmy/security/advisories/GHSA-q537-8fr5-cw35","https://github.com/LemmyNet/activitypub-federation-rust/commit/4ae8532b17bc35755240b7f55d4a5b7665351599","https://github.com/advisories/GHSA-7723-35v7-qcxw","https://nvd.nist.gov/vuln/detail/CVE-2026-33693","https://github.com/advisories/GHSA-q537-8fr5-cw35"],"source_kind":"github","identifiers":["GHSA-q537-8fr5-cw35","CVE-2026-33693"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-03-25T21:00:08.884Z","updated_at":"2026-04-05T20:00:25.146Z","epss_percentage":0.00058,"epss_percentile":0.18187999999999999,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xNTM3LThmcjUtY3czNc4ABURS","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1xNTM3LThmcjUtY3czNc4ABURS","packages":[{"ecosystem":"cargo","package_name":"activitypub_federation","versions":[{"first_patched_version":"0.7.0-beta.9","vulnerable_version_range":"\u003c 0.7.0-beta.9"}],"purl":"pkg:cargo/activitypub_federation"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xNTM3LThmcjUtY3czNc4ABURS/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS03NzIzLTM1djctcWN4d84ABEQx","url":"https://github.com/advisories/GHSA-7723-35v7-qcxw","title":"Server-Side Request Forgery (SSRF) in activitypub_federation","description":"### Summary\nThis vulnerability allows a user to bypass any predefined hardcoded URL path or security anti-Localhost mechanism and perform an arbitrary GET request to any Host, Port and URL using a Webfinger Request.\n\n### Details\nThe Webfinger endpoint takes a remote domain for checking accounts as a feature, however, as per the ActivityPub spec (https://www.w3.org/TR/activitypub/#security-considerations), on the security considerations section at B.3, access to Localhost services should be prevented while running in production.\nThe library attempts to prevent Localhost access using the following mechanism (/src/config.rs):\n```rust\npub(crate) async fn verify_url_valid(\u0026self, url: \u0026Url) -\u003e Result\u003c(), Error\u003e {\n        match url.scheme() {\n            \"https\" =\u003e {}\n            \"http\" =\u003e {\n                if !self.allow_http_urls {\n                    return Err(Error::UrlVerificationError(\n                        \"Http urls are only allowed in debug mode\",\n                    ));\n                }\n            }\n            _ =\u003e return Err(Error::UrlVerificationError(\"Invalid url scheme\")),\n        };\n\n        // Urls which use our local domain are not a security risk, no further verification needed\n        if self.is_local_url(url) {\n            return Ok(());\n        }\n\n        if url.domain().is_none() {\n            return Err(Error::UrlVerificationError(\"Url must have a domain\"));\n        }\n\n        if url.domain() == Some(\"localhost\") \u0026\u0026 !self.debug {\n            return Err(Error::UrlVerificationError(\n                \"Localhost is only allowed in debug mode\",\n            ));\n        }\n\n        self.url_verifier.verify(url).await?;\n\n        Ok(())\n    }\n```\nThere are multiple issues with the current anti-Localhost implementation: \n\n1. It does not resolve the domain address supplied by the user.\n2. The Localhost check is using only a simple comparison method while ignoring more complex malicious tampering attempts.\n3. It filters only localhost domains, without any regard for alternative local IP domains or other sensitive domains, such internal network or cloud metadata domains.\n\nWe can reach the verify_url_valid function while sending a Webfinger request to lookup a user’s account (/src/fetch/webfinger.rs):\n\n```rust\npub async fn webfinger_resolve_actor\u003cT: Clone, Kind\u003e(\n    identifier: \u0026str,\n    data: \u0026Data\u003cT\u003e,\n) -\u003e Result\u003cKind, \u003cKind as Object\u003e::Error\u003e\nwhere\n    Kind: Object + Actor + Send + 'static + Object\u003cDataType = T\u003e,\n    for\u003c'de2\u003e \u003cKind as Object\u003e::Kind: serde::Deserialize\u003c'de2\u003e,\n    \u003cKind as Object\u003e::Error: From\u003ccrate::error::Error\u003e + Send + Sync + Display,\n{\n    let (_, domain) = identifier\n        .splitn(2, '@')\n        .collect_tuple()\n        .ok_or(WebFingerError::WrongFormat.into_crate_error())?;\n    let protocol = if data.config.debug { \"http\" } else { \"https\" };\n    let fetch_url =\n        format!(\"{protocol}://{domain}/.well-known/webfinger?resource=acct:{identifier}\");\n    debug!(\"Fetching webfinger url: {}\", \u0026fetch_url);\n\n    let res: Webfinger = fetch_object_http_with_accept(\n        \u0026Url::parse(\u0026fetch_url).map_err(Error::UrlParse)?,\n        data,\n        \u0026WEBFINGER_CONTENT_TYPE,\n    )\n    .await?\n    .object;\n\n    debug_assert_eq!(res.subject, format!(\"acct:{identifier}\"));\n    let links: Vec\u003cUrl\u003e = res\n        .links\n        .iter()\n        .filter(|link| {\n            if let Some(type_) = \u0026link.kind {\n                type_.starts_with(\"application/\")\n            } else {\n                false\n            }\n        })\n        .filter_map(|l| l.href.clone())\n        .collect();\n\n    for l in links {\n        let object = ObjectId::\u003cKind\u003e::from(l).dereference(data).await;\n        match object {\n            Ok(obj) =\u003e return Ok(obj),\n            Err(error) =\u003e debug!(%error, \"Failed to dereference link\"),\n        }\n    }\n    Err(WebFingerError::NoValidLink.into_crate_error().into())\n}\n```\n\nThe Webfinger logic takes the user account from the GET parameter “resource” and sinks the domain directly into the hardcoded Webfinger URL (“{protocol}://{domain}/.well-known/webfinger?resource=acct:{identifier}”) without any additional checks.\nAfterwards the user domain input will pass into the “fetch_object_http_with_accept” function and finally into the security check on “verify_url_valid” function, again, without any form of sanitizing or input validation.\nAn adversary can cause unwanted behaviours using multiple techniques:\n\n1. **_Gaining control over the query’s path:_**\nAn adversary can manipulate the Webfinger hard-coded URL, gaining full control over the GET request domain, path and port by submitting malicious input like: hacker@hacker_host:1337/hacker_path?hacker_param#, which in turn will result in the following string:\nhttp[s]://hacker_host:1337/hacker_path?hacker_param#/.well-known/webfinger?resource=acct:{identifier}, directing the URL into another domain and path without any issues as the hash character renders the rest of the URL path unrecognized by the webserver.\n\n2. **_Bypassing the domain’s restriction using DNS resolving mechanism:_**\nAn adversary can manipulate the security check and force it to look for internal services regardless the Localhost check by using a domain name that resolves into a local IP (such as: localh.st, for example), as the security check does not verify the resolved IP at all - any service under the Localhost domain can be reached.\n\n3. _**Bypassing the domain’s restriction using official Fully Qualified Domain Names (FQDNs):**_\nIn the official DNS specifications, a fully qualified domain name actually should end with a dot.\nWhile most of the time a domain name is presented without any trailing dot, the resolver will assume it exists, however - it is still possible to use a domain name with a trailing dot which will resolve correctly.\nAs the Localhost check is mainly a simple comparison check - if we register a “hacker@localhost.” domain it will pass the test as “localhost” is not equal to “localhost.”, however the domain will be valid (Using this mechanism it is also possible to bypass any domain blocklist mechanism).\n\n\n### PoC\n\n1. Activate a local HTTP server listening to port 1234 with a “secret.txt” file:\n`python3 -m http.server 1234`\n2. Open the “main.rs” file inside the “example” folder on the activitypub-federated-rust project, and modify the “beta@localhost” string into “hacker@localh.st:1234/secret.txt?something=1#”.\n3. Run the example using the following command:\n`cargo run --example local_federation axum`\n4. View the console of the Python’s HTTP server and see that a request for a “secret.txt” file was performed.\n\nThis proves that we can redirect the URL to any domain and path we choose.\nNow on the next steps we will prove that the security checks of Localhost and blocked domains can be easily bypassed (both checks use the same comparison mechanism).\n\n1. Now open the “instance.rs” file inside the “example” folder and view that the domain “malicious.com” is blocked (you can switch it to any desired domain address).\n2. Change the same “beta@localhost” string into “hacker@malicious.com” and run the example command to see that the malicious domain blocking mechanism is working as expected.\n3. Now change the “hacker@malicious.com” string into  “hacker@malicious.com.” string and re-initiate the example, view now that the check passed successfully.\n4. You can combine both methods on “localhost.” domain (or any other domain) to verify that the FQDNs resolving is indeed successful.\n\n\n### Impact\nDue to this issue, any user can cause the server to send GET requests with controlled path and port in an attempt to query services running on the instance’s host, and attempt to execute a Blind-SSRF gadget in hope of targeting a known vulnerable local service running on the victim’s machine.\n\n### Fix Suggestion\nModify the domain validation mechanism and implement the following checks:\n\n1. Resolve the domain and validate it is not using any invalid IP address (internal, or cloud metadata IPs) using regexes of both IPv4 and IPv6 addresses.\nFor Implementation example of a good SSRF prevention practice you can review a similiar project such as “Fedify” (https://github.com/dahlia/fedify/blob/main/src/runtime/url.ts) which handles external URL resource correctly.\nNote that it is still needed to remove unwanted characters from the URL. \n2. Filter the user’s input for any unwanted characters that should not be present on a domain name, such as #,?,/, etc.\n3. Perform checks that make sure the desired request path is the executed path with the same port.\n4. Disable automatic HTTP redirect follows on the implemented client, as redirects can be used for security mechanisms circumvention.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2025-02-10T20:25:37.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":4.0,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N","references":["https://github.com/LemmyNet/lemmy/security/advisories/GHSA-7723-35v7-qcxw","https://nvd.nist.gov/vuln/detail/CVE-2025-25194","https://github.com/advisories/GHSA-7723-35v7-qcxw"],"source_kind":"github","identifiers":["GHSA-7723-35v7-qcxw","CVE-2025-25194"],"repository_url":"https://github.com/LemmyNet/lemmy","blast_radius":0.0,"created_at":"2025-02-10T21:07:19.049Z","updated_at":"2026-04-05T20:03:33.826Z","epss_percentage":0.00035,"epss_percentile":0.10048,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03NzIzLTM1djctcWN4d84ABEQx","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS03NzIzLTM1djctcWN4d84ABEQx","packages":[{"ecosystem":"cargo","package_name":"activitypub_federation","versions":[{"first_patched_version":null,"vulnerable_version_range":"\u003c= 0.6.2"}],"purl":"pkg:cargo/activitypub_federation"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03NzIzLTM1djctcWN4d84ABEQx/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/cargo/activitypub_federation","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/cargo/activitypub_federation","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/cargo/activitypub_federation/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-01-07T10:37:06.026Z","issues_count":27,"pull_requests_count":65,"avg_time_to_close_issue":4990077.368421053,"avg_time_to_close_pull_request":596557.7538461538,"issues_closed_count":19,"pull_requests_closed_count":65,"pull_request_authors_count":19,"issue_authors_count":15,"avg_comments_per_issue":2.185185185185185,"avg_comments_per_pull_request":1.5846153846153845,"merged_pull_requests_count":55,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":21,"past_year_pull_requests_count":52,"past_year_avg_time_to_close_issue":3436047.8571428573,"past_year_avg_time_to_close_pull_request":694056.5769230769,"past_year_issues_closed_count":14,"past_year_pull_requests_closed_count":52,"past_year_pull_request_authors_count":15,"past_year_issue_authors_count":14,"past_year_avg_comments_per_issue":2.3333333333333335,"past_year_avg_comments_per_pull_request":1.5384615384615385,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":43,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/issues"},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/activitypub_federation/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/activitypub_federation/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/activitypub_federation/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/activitypub_federation/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/activitypub_federation/codemeta","maintainers":[{"uuid":"127774","login":"Nutomic","name":null,"email":null,"url":"https://github.com/Nutomic","packages_count":23,"html_url":"https://crates.io/users/Nutomic","role":null,"created_at":"2022-11-08T04:34:07.713Z","updated_at":"2022-11-08T04:34:07.713Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/maintainers/Nutomic/packages"}],"registry":{"name":"crates.io","url":"https://crates.io","ecosystem":"cargo","default":true,"packages_count":264176,"maintainers_count":61738,"namespaces_count":0,"keywords_count":59668,"github":"rust-lang","metadata":{"funded_packages_count":21630},"icon_url":"https://github.com/rust-lang.png","created_at":"2022-04-04T15:19:22.689Z","updated_at":"2026-04-08T05:04:51.397Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/namespaces"}}],"commits":{"id":1244528,"full_name":"LemmyNet/activitypub-federation-rust","default_branch":"main","total_commits":215,"total_committers":24,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":8.958333333333334,"dds":0.1813953488372093,"past_year_total_commits":30,"past_year_total_committers":5,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":6.0,"past_year_dds":0.19999999999999996,"last_synced_at":"2026-04-13T16:03:16.722Z","last_synced_commit":"5e8e9180038895ad793b7bbe9fd095fa41d48459","created_at":"2023-03-10T16:27:22.461Z","updated_at":"2026-04-13T16:02:58.096Z","committers":[{"name":"Felix Ableitner","email":"me@nutomic.com","login":"Nutomic","count":176},{"name":"phiresky","email":"phireskyde+git@gmail.com","login":"phiresky","count":5},{"name":"Grafcube","email":"grafcube@disroot.org","login":"Grafcube","count":4},{"name":"Brad Dunbar","email":"dunbarb2@gmail.com","login":"braddunbar","count":3},{"name":"Dessalines","email":"dessalines","login":"dessalines","count":3},{"name":"cetra3","email":"cetra3@hotmail.com","login":"cetra3","count":3},{"name":"藍+85CD","email":"50108258+kwaa","login":"kwaa","count":3},{"name":"Paul Delafosse","email":"paul.delafosse@protonmail.com","login":"oknozor","count":2},{"name":"Alex Auvolat","email":"alex@adnab.me","login":"Alexis211","count":1},{"name":"Colin Atkinson","email":"colatkinson","login":"colatkinson","count":1},{"name":"Erin Power","email":"xampprocky@gmail.com","login":"XAMPPRocky","count":1},{"name":"IFcoltransG","email":"47414286+IFcoltransG","login":"IFcoltransG","count":1},{"name":"Kangwook Lee (이강욱)","email":"pbzweihander@protonmail.com","login":"pbzweihander","count":1},{"name":"Kevin Kuriakose","email":"technohacker1995@gmail.com","login":"Technohacker","count":1},{"name":"Marcel","email":"MTRNord","login":"MTRNord","count":1},{"name":"MrKaplan","email":"169855803+MrKaplan-lw","login":"MrKaplan-lw","count":1},{"name":"Peter de Witte","email":"peter@whitewebinnovations.com","login":"peterdew","count":1},{"name":"Samuel Tardieu","email":"sam@rfc1149.net","login":"samueltardieu","count":1},{"name":"Soso","email":"51865119+sgued","login":"sgued","count":1},{"name":"Udo","email":"379915+optikfluffel","login":"optikfluffel","count":1},{"name":"Zami","email":"szgie@proton.me","login":"kibirisu","count":1},{"name":"aumetra","email":"aumetra@cryptolab.net","login":"aumetra","count":1},{"name":"dullbananas","email":"dull.bananas0@gmail.com","login":"dullbananas","count":1},{"name":"naught101","email":"naught101@gmail.com","login":"naught101","count":1}],"past_year_committers":[{"name":"Nutomic","email":"me@nutomic.com","login":"Nutomic","count":24},{"name":"Brad Dunbar","email":"dunbarb2@gmail.com","login":"braddunbar","count":3},{"name":"dullbananas","email":"dull.bananas0@gmail.com","login":"dullbananas","count":1},{"name":"Zami","email":"szgie@proton.me","login":"kibirisu","count":1},{"name":"Kevin Kuriakose","email":"technohacker1995@gmail.com","login":"Technohacker","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-17T00:00:13.716Z","repositories_count":6214341,"commits_count":900629408,"contributors_count":34925280,"owners_count":1144667,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues":{"table":{"full_name":"LemmyNet/activitypub-federation-rust","html_url":"https://github.com/LemmyNet/activitypub-federation-rust","last_synced_at":"2026-03-24T06:03:30.846Z","status":"active","issues_count":29,"pull_requests_count":168,"avg_time_to_close_issue":11351719.916666666,"avg_time_to_close_pull_request":464523.28220858896,"issues_closed_count":24,"pull_requests_closed_count":163,"pull_request_authors_count":28,"issue_authors_count":16,"avg_comments_per_issue":2.689655172413793,"avg_comments_per_pull_request":0.9047619047619048,"merged_pull_requests_count":138,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":22,"past_year_avg_time_to_close_issue":7245277.0,"past_year_avg_time_to_close_pull_request":346201.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":21,"past_year_pull_request_authors_count":6,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":9.0,"past_year_avg_comments_per_pull_request":0.2727272727272727,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":17,"created_at":"2023-05-09T10:39:29.032Z","updated_at":"2026-03-24T06:03:30.846Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2Factivitypub-federation-rust/issues","issue_labels_count":{"table":{"enhancement":12,"help wanted":2,"bug":2,"good first issue":1,"question":1}},"pull_request_labels_count":{"table":{}},"issue_author_associations_count":{"table":{"MEMBER":12,"NONE":12,"CONTRIBUTOR":5}},"pull_request_author_associations_count":{"table":{"MEMBER":110,"CONTRIBUTOR":38,"NONE":16,"COLLABORATOR":4}},"issue_authors":{"table":{"Nutomic":12,"CutestNekoAqua":2,"MTRNord":2,"maksalees":1,"Asudox":1,"Tealk":1,"anderspitman":1,"zachtyll":1,"sgued":1,"cetra3":1,"Houkime":1,"ghost":1,"darrinsmart":1,"ninjadev64":1,"phiresky":1,"RocketDerp":1}},"pull_request_authors":{"table":{"Nutomic":100,"kwaa":8,"dessalines":7,"cetra3":7,"phiresky":6,"Tangel":5,"Grafcube":4,"oknozor":2,"Technohacker":2,"pbzweihander":2,"Laiiev":2,"MTRNord":2,"dullbananas":2,"SleeplessOne1917":2,"kibirisu":2,"MrKaplan-lw":2,"naught101":2,"colatkinson":1,"anildash":1,"XAMPPRocky":1,"samueltardieu":1,"IFcoltransG":1,"Alexis211":1,"golfinq":1,"sanjoyment":1,"optikfluffel":1,"peterdew":1,"aumetra":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-17T00:00:09.649Z","repositories_count":14298281,"issues_count":34553774,"pull_requests_count":113107169,"authors_count":11236888,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"}},"past_year_issue_labels_count":{"table":{}},"past_year_pull_request_labels_count":{"table":{}},"past_year_issue_author_associations_count":{"table":{"NONE":1}},"past_year_pull_request_author_associations_count":{"table":{"MEMBER":13,"CONTRIBUTOR":2,"NONE":2}},"past_year_issue_authors":{"table":{"Tealk":1}},"past_year_pull_request_authors":{"table":{"Nutomic":11,"dullbananas":2,"kibirisu":2,"SleeplessOne1917":2}},"maintainers":[{"table":{"login":"Nutomic","count":112,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Nutomic"}},{"table":{"login":"dessalines","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dessalines"}},{"table":{"login":"Grafcube","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Grafcube"}},{"table":{"login":"SleeplessOne1917","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SleeplessOne1917"}},{"table":{"login":"sanjoyment","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sanjoyment"}}],"active_maintainers":[{"table":{"login":"Nutomic","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Nutomic"}},{"table":{"login":"SleeplessOne1917","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/SleeplessOne1917"}}]}},"events":{"total":{"ReleaseEvent":16,"DeleteEvent":2,"PullRequestEvent":34,"ForkEvent":9,"IssuesEvent":2,"WatchEvent":58,"IssueCommentEvent":12,"PushEvent":104,"PullRequestReviewCommentEvent":3,"PullRequestReviewEvent":11,"CreateEvent":31},"last_year":{"ReleaseEvent":8,"DeleteEvent":1,"PullRequestEvent":10,"ForkEvent":1,"IssuesEvent":1,"WatchEvent":19,"IssueCommentEvent":4,"PushEvent":38,"PullRequestReviewEvent":4,"PullRequestReviewCommentEvent":1,"CreateEvent":12}},"keywords":["activitypub","federation","lemmy","rust"],"dependencies":[{"ecosystem":"cargo","filepath":"Cargo.toml","sha":null,"kind":"manifest","created_at":"2023-02-18T17:46:05.621Z","updated_at":"2023-02-18T17:46:05.621Z","repository_link":"https://github.com/LemmyNet/activitypub-federation-rust/blob/main/Cargo.toml","dependencies":[{"id":7766779776,"package_name":"chrono","ecosystem":"cargo","requirements":"0.4.23","direct":true,"kind":"runtime","optional":false},{"id":7766779777,"package_name":"serde","ecosystem":"cargo","requirements":"1.0.147","direct":true,"kind":"runtime","optional":false},{"id":7766779778,"package_name":"async-trait","ecosystem":"cargo","requirements":"0.1.58","direct":true,"kind":"runtime","optional":false},{"id":7766779779,"package_name":"url","ecosystem":"cargo","requirements":"2.3.1","direct":true,"kind":"runtime","optional":false},{"id":7766779780,"package_name":"serde_json","ecosystem":"cargo","requirements":"1.0.87","direct":true,"kind":"runtime","optional":false},{"id":7766779781,"package_name":"anyhow","ecosystem":"cargo","requirements":"1.0.66","direct":true,"kind":"runtime","optional":false},{"id":7766779782,"package_name":"reqwest","ecosystem":"cargo","requirements":"0.11.12","direct":true,"kind":"runtime","optional":false},{"id":7766779783,"package_name":"reqwest-middleware","ecosystem":"cargo","requirements":"0.2.0","direct":true,"kind":"runtime","optional":false},{"id":7766779784,"package_name":"tracing","ecosystem":"cargo","requirements":"0.1.37","direct":true,"kind":"runtime","optional":false},{"id":7766779785,"package_name":"base64","ecosystem":"cargo","requirements":"0.13.1","direct":true,"kind":"runtime","optional":false},{"id":7766779786,"package_name":"openssl","ecosystem":"cargo","requirements":"0.10.42","direct":true,"kind":"runtime","optional":false},{"id":7766779787,"package_name":"once_cell","ecosystem":"cargo","requirements":"1.16.0","direct":true,"kind":"runtime","optional":false},{"id":7766779788,"package_name":"http","ecosystem":"cargo","requirements":"0.2.8","direct":true,"kind":"runtime","optional":false},{"id":7766779789,"package_name":"sha2","ecosystem":"cargo","requirements":"0.10.6","direct":true,"kind":"runtime","optional":false},{"id":7766779790,"package_name":"background-jobs","ecosystem":"cargo","requirements":"0.13.0","direct":true,"kind":"runtime","optional":false},{"id":7766779791,"package_name":"thiserror","ecosystem":"cargo","requirements":"1.0.37","direct":true,"kind":"runtime","optional":false},{"id":7766779792,"package_name":"derive_builder","ecosystem":"cargo","requirements":"0.11.2","direct":true,"kind":"runtime","optional":false},{"id":7766779793,"package_name":"itertools","ecosystem":"cargo","requirements":"0.10.5","direct":true,"kind":"runtime","optional":false},{"id":7766779794,"package_name":"dyn-clone","ecosystem":"cargo","requirements":"1.0.9","direct":true,"kind":"runtime","optional":false},{"id":7766779796,"package_name":"enum_delegate","ecosystem":"cargo","requirements":"0.2.0","direct":true,"kind":"runtime","optional":false},{"id":7766779797,"package_name":"httpdate","ecosystem":"cargo","requirements":"1.0.2","direct":true,"kind":"runtime","optional":false},{"id":7766779799,"package_name":"http-signature-normalization-reqwest","ecosystem":"cargo","requirements":"0.7.1","direct":true,"kind":"runtime","optional":false},{"id":7766779800,"package_name":"http-signature-normalization","ecosystem":"cargo","requirements":"0.6.0","direct":true,"kind":"runtime","optional":false},{"id":7766779801,"package_name":"actix-rt","ecosystem":"cargo","requirements":"2.7.0","direct":true,"kind":"runtime","optional":false},{"id":7766779802,"package_name":"bytes","ecosystem":"cargo","requirements":"1.3.0","direct":true,"kind":"runtime","optional":false},{"id":7766779803,"package_name":"futures-core","ecosystem":"cargo","requirements":"0.3.25","direct":true,"kind":"runtime","optional":false},{"id":7766779804,"package_name":"pin-project-lite","ecosystem":"cargo","requirements":"0.2.9","direct":true,"kind":"runtime","optional":false},{"id":7766779805,"package_name":"actix-web","ecosystem":"cargo","requirements":"4.2.1","direct":true,"kind":"runtime","optional":false},{"id":7766779806,"package_name":"axum","ecosystem":"cargo","requirements":"0.6.0","direct":true,"kind":"runtime","optional":false},{"id":7766779807,"package_name":"tower","ecosystem":"cargo","requirements":"0.4.13","direct":true,"kind":"runtime","optional":false},{"id":7766779808,"package_name":"hyper","ecosystem":"cargo","requirements":"0.14","direct":true,"kind":"runtime","optional":false},{"id":7766779809,"package_name":"activitystreams-kinds","ecosystem":"cargo","requirements":"0.2.1","direct":true,"kind":"development","optional":false},{"id":7766779810,"package_name":"rand","ecosystem":"cargo","requirements":"0.8.5","direct":true,"kind":"development","optional":false},{"id":7766779811,"package_name":"actix-rt","ecosystem":"cargo","requirements":"2.7.0","direct":true,"kind":"development","optional":false},{"id":7766779812,"package_name":"tokio","ecosystem":"cargo","requirements":"1.21.2","direct":true,"kind":"development","optional":false},{"id":7766779813,"package_name":"env_logger","ecosystem":"cargo","requirements":"0.9.3","direct":true,"kind":"development","optional":false},{"id":7766779814,"package_name":"tracing-subscriber","ecosystem":"cargo","requirements":"0.3","direct":true,"kind":"development","optional":false},{"id":7766779815,"package_name":"tower-http","ecosystem":"cargo","requirements":"0.3","direct":true,"kind":"development","optional":false}]}],"score":21.404716090401596,"created_at":"2023-04-05T15:47:51.199Z","updated_at":"2026-05-13T06:30:36.031Z","avatar_url":"https://github.com/LemmyNet.png","language":"Rust","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/2726","html_url":"https://summary.ecosyste.ms/projects/2726"}