{"id":34252048,"url":"https://github.com/evenfurther/deprecate-until","last_synced_at":"2025-12-16T10:59:25.725Z","repository":{"id":181423762,"uuid":"666770576","full_name":"evenfurther/deprecate-until","owner":"evenfurther","description":"Rust attribute to force deprecated item removal at a specified version","archived":false,"fork":false,"pushed_at":"2025-11-23T05:58:08.000Z","size":86,"stargazers_count":2,"open_issues_count":10,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-23T07:17:19.435Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evenfurther.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-15T14:18:17.000Z","updated_at":"2025-07-09T04:03:14.000Z","dependencies_parsed_at":"2023-07-15T15:27:02.394Z","dependency_job_id":"b337ca35-b57f-44a6-9728-1fb04a1c0c97","html_url":"https://github.com/evenfurther/deprecate-until","commit_stats":null,"previous_names":["samueltardieu/deprecate-until"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/evenfurther/deprecate-until","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evenfurther%2Fdeprecate-until","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evenfurther%2Fdeprecate-until/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evenfurther%2Fdeprecate-until/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evenfurther%2Fdeprecate-until/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evenfurther","download_url":"https://codeload.github.com/evenfurther/deprecate-until/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evenfurther%2Fdeprecate-until/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27763369,"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","status":"online","status_checked_at":"2025-12-16T02:00:10.477Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-16T10:59:24.940Z","updated_at":"2025-12-16T10:59:25.719Z","avatar_url":"https://github.com/evenfurther.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# deprecate-until\n\n[![Current Version](https://img.shields.io/crates/v/deprecate_until.svg)](https://crates.io/crates/deprecate_until)\n[![Documentation](https://docs.rs/deprecate_until/badge.svg)](https://docs.rs/deprecate_until)\n[![License: Apache-2.0/MIT](https://img.shields.io/crates/l/deprecate_until.svg)](#license)\n\nThis crate introduces a new `deprecate_until` attribute which helps\ncrate authors not to remove to delete obsolete items when some version\nis reached. When the specified semver condition is verified, the crate\nwill not compile anymore and hopefully this will be caught by the CI\nor by `cargo install` before the release actually happens.\n\n## Usage\n\nThe `deprecate_until` attribute supports the same arguments as\n`deprecate`, *i.e.*, `note` and `since`. It also requires a `remove`\nargument, which is a [semver](https://semver.org/) requirement\nexpression in a string.\n\n## Example\n\nThe following code\n\n```rust\nuse deprecate_until::deprecate_until;\n\n#[deprecate_until(remove = \"\u003e= 4.x\", note = \"use `some_new_function` instead\")]\nfn old_function() {\n    todo!()\n}\n```\n\nwill give a warning when version 3.8 of the crate is used in a project:\n\n```txt\nwarning: use of deprecated function `old_function`: use `some_new_function` instead (removal scheduled for version \u003e= 4.x)\n  |\n4 | fn old_function() {\n  |    ^^^^^^^^^^^^\n```\n\nIt will also cause a compilation error in version 4.0.0 of the crate if you forgot to remove it:\n\n```txt\nerror: version `4.0.0` matches `\u003e= 4.x`, item should be removed\n  |\n3 | #[deprecate_until(remove = \"\u003e= 4.x\", note = \"use `some_new_function` instead\")]\n  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevenfurther%2Fdeprecate-until","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevenfurther%2Fdeprecate-until","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevenfurther%2Fdeprecate-until/lists"}