Jerus Bot
8451013b23
chore: Release cull-gmail v{{version}}
2026-03-13 13:58:33 +00:00
Jerus Bot
3e2096457f
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 13:42:17 +00:00
Jeremiah Russell
b916098852
feat: add rules validate subcommand ( #177 )
...
## Summary
- New `cull-gmail rules [RULES] validate` subcommand validates a rules
file without executing any actions or requiring Gmail credentials
- `Rules::validate()` checks each rule for: non-empty label set, valid
retention period (parseable as `MessageAge`), valid action
(`Trash`/`Delete`)
- Cross-rule check for duplicate labels (same label in multiple rules)
- Returns all issues collected, not just the first
- Exits 0 if valid, non-zero (with issue list on stderr) if invalid
- Missing rules file fails with an error rather than creating defaults
New public API: `cull_gmail::ValidationIssue` enum with `Display` impl.
## Test plan
- [x] Unit tests: `Rules::validate()` — valid rules, empty labels,
invalid retention, empty retention, invalid action, duplicate labels,
multiple issues collected
- [x] CLI integration tests: valid file → exit 0; invalid file → exit
non-zero + "Rule #1 " in output; duplicate labels → exit non-zero + label
name in output; missing file → exit non-zero
- [x] `cargo fmt --check` clean
- [x] `cargo clippy -- -D warnings` clean
- [x] Full test suite: 130+ tests pass
- [x] `cargo audit` clean
## Usage in gmail-culler CI
The validation workflow can now run `cull-gmail rules validate` on the
committed rules file to verify it is syntactically and semantically
correct — without needing Gmail credentials or executing any rules.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
2026-03-13 13:41:01 +00:00
Jeremiah Russell
ad28fa5490
feat: add rules validate subcommand
...
Signed-off-by: Jeremiah Russell <jerry@jrussell.ie >
2026-03-13 13:37:52 +00:00
Jerus Bot
98523f3551
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 11:55:50 +00:00
Jerus Bot
27c5a7d152
chore: Release cull-gmail v{{version}}
2026-03-13 11:54:03 +00:00
Jerus Bot
7b0d4c345f
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 11:42:10 +00:00
Jeremiah Russell
ed62d24fff
fix: add crate-level README and fix release-hook path ( #176 )
...
## Summary
- `cargo release changes` failed because `readme = "README.md"` in
`Cargo.toml` resolves to `crates/cull-gmail/README.md` which did not
exist
- `release-hook.sh` was writing the generated README only to the
workspace root (`../../README.md`), not the crate directory
- `cargo release changes` runs before the pre-release hook, so no
hook-generated file was ever present
Fix:
1. Update `release-hook.sh` to write README to crate directory first,
then copy to workspace root for GitHub display
2. Commit initial `README.md` to crate directory so the file exists
before any hook runs
## Test plan
- [ ] CI validation passes
- [ ] `cargo release changes` succeeds (README.md present in crate dir)
- [ ] Release pipeline completes without "readme does not appear to
exist" error
🤖 Generated with [Claude Code](https://claude.com/claude-code )
2026-03-13 11:41:55 +00:00
Jeremiah Russell
9b7bdf34d0
Merge branch 'main' into fix/readme-path
2026-03-13 11:39:19 +00:00
Jeremiah Russell
5e4e4ef62d
chore: add initial README.md to crate directory
...
Signed-off-by: Jeremiah Russell <jerry@jrussell.ie >
2026-03-13 11:37:05 +00:00
Jerus Bot
de5b96c7fc
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 11:24:04 +00:00
Jeremiah Russell
a20ba1cd52
fix: write README to crate dir for cargo package ( #175 )
...
## Summary
- `release-hook.sh` was writing README only to `../../README.md`
(workspace root)
- `Cargo.toml` has `readme = "README.md"` which cargo-release resolves
relative to the crate directory (`crates/cull-gmail/README.md`)
- cargo-release failed with "readme does not appear to exist"
Fix: write README to `README.md` (crate directory) first, then copy to
`../../README.md` for GitHub display.
## Test plan
- [ ] CI validation passes
- [ ] Release pipeline succeeds (README found at crate level)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
2026-03-13 11:23:52 +00:00
Jeremiah Russell
135fb1abbc
Merge branch 'main' into fix/readme-path
2026-03-13 11:22:17 +00:00
Jeremiah Russell
a0ca55df71
fix: write README to crate dir for cargo package
...
Signed-off-by: Jeremiah Russell <jerry@jrussell.ie >
2026-03-13 11:19:30 +00:00
Jerus Bot
50d16434ee
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 11:01:35 +00:00
Jeremiah Russell
56782a905e
fix(deps): update rust crate tokio to 1.50.0 ( #174 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [tokio](https://tokio.rs )
([source](https://redirect.github.com/tokio-rs/tokio )) |
workspace.dependencies | minor | `1.49.0` → `1.50.0` |
---
### Release Notes
<details>
<summary>tokio-rs/tokio (tokio)</summary>
###
[`v1.50.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.50.0 ):
Tokio v1.50.0
[Compare
Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.49.0...tokio-1.50.0 )
### 1.50.0 (Mar 3rd, 2026)
##### Added
- net: add `TcpStream::set_zero_linger` ([#​7837])
- rt: add `is_rt_shutdown_err` ([#​7771])
##### Changed
- io: add optimizer hint that `memchr` returns in-bounds pointer
([#​7792])
- io: implement vectored writes for `write_buf` ([#​7871])
- runtime: panic when `event_interval` is set to 0 ([#​7838])
- runtime: shorten default thread name to fit in Linux limit
([#​7880])
- signal: remember the result of `SetConsoleCtrlHandler`
([#​7833])
- signal: specialize windows `Registry` ([#​7885])
##### Fixed
- io: always cleanup `AsyncFd` registration list on deregister
([#​7773])
- macros: remove (most) local `use` declarations in `tokio::select!`
([#​7929])
- net: fix `GET_BUF_SIZE` constant for `target_os = "android"`
([#​7889])
- runtime: avoid redundant unpark in current\_thread scheduler
([#​7834])
- runtime: don't park in `current_thread` if `before_park` defers waker
([#​7835])
- io: fix write readiness on ESP32 on short writes ([#​7872])
- runtime: wake deferred tasks before entering `block_in_place`
([#​7879])
- sync: drop rx waker when oneshot receiver is dropped ([#​7886])
- runtime: fix double increment of `num_idle_threads` on shutdown
([#​7910], [#​7918], [#​7922])
##### Unstable
- fs: check for io-uring opcode support ([#​7815])
- runtime: avoid lock acquisition after uring init ([#​7850])
##### Documented
- docs: update outdated unstable features section ([#​7839])
- io: clarify the behavior of `AsyncWriteExt::shutdown()`
([#​7908])
- io: explain how to flush stdout/stderr ([#​7904])
- io: fix incorrect and confusing `AsyncWrite` documentation
([#​7875])
- rt: clarify the documentation of `Runtime::spawn` ([#​7803])
- rt: fix missing quotation in docs ([#​7925])
- runtime: correct the default thread name in docs ([#​7896])
- runtime: fix `event_interval` doc ([#​7932])
- sync: clarify RwLock fairness documentation ([#​7919])
- sync: clarify that `recv` returns `None` once closed and no more
messages ([#​7920])
- task: clarify when to use `spawn_blocking` vs dedicated threads
([#​7923])
- task: doc that task drops before `JoinHandle` completion
([#​7825])
- signal: guarantee that listeners never return `None` ([#​7869])
- task: fix task module feature flags in docs ([#​7891])
- task: fix two typos ([#​7913])
- task: improve the docs of `Builder::spawn_local` ([#​7828])
- time: add docs about auto-advance and when to use sleep
([#​7858])
- util: fix typo in docs ([#​7926])
[#​7771]: https://redirect.github.com/tokio-rs/tokio/pull/7771
[#​7773]: https://redirect.github.com/tokio-rs/tokio/pull/7773
[#​7792]: https://redirect.github.com/tokio-rs/tokio/pull/7792
[#​7803]: https://redirect.github.com/tokio-rs/tokio/pull/7803
[#​7815]: https://redirect.github.com/tokio-rs/tokio/pull/7815
[#​7825]: https://redirect.github.com/tokio-rs/tokio/pull/7825
[#​7828]: https://redirect.github.com/tokio-rs/tokio/pull/7828
[#​7833]: https://redirect.github.com/tokio-rs/tokio/pull/7833
[#​7834]: https://redirect.github.com/tokio-rs/tokio/pull/7834
[#​7835]: https://redirect.github.com/tokio-rs/tokio/pull/7835
[#​7837]: https://redirect.github.com/tokio-rs/tokio/pull/7837
[#​7838]: https://redirect.github.com/tokio-rs/tokio/pull/7838
[#​7839]: https://redirect.github.com/tokio-rs/tokio/pull/7839
[#​7850]: https://redirect.github.com/tokio-rs/tokio/pull/7850
[#​7858]: https://redirect.github.com/tokio-rs/tokio/pull/7858
[#​7869]: https://redirect.github.com/tokio-rs/tokio/pull/7869
[#​7871]: https://redirect.github.com/tokio-rs/tokio/pull/7871
[#​7872]: https://redirect.github.com/tokio-rs/tokio/pull/7872
[#​7875]: https://redirect.github.com/tokio-rs/tokio/pull/7875
[#​7879]: https://redirect.github.com/tokio-rs/tokio/pull/7879
[#​7880]: https://redirect.github.com/tokio-rs/tokio/pull/7880
[#​7885]: https://redirect.github.com/tokio-rs/tokio/pull/7885
[#​7886]: https://redirect.github.com/tokio-rs/tokio/pull/7886
[#​7889]: https://redirect.github.com/tokio-rs/tokio/pull/7889
[#​7891]: https://redirect.github.com/tokio-rs/tokio/pull/7891
[#​7896]: https://redirect.github.com/tokio-rs/tokio/pull/7896
[#​7904]: https://redirect.github.com/tokio-rs/tokio/pull/7904
[#​7908]: https://redirect.github.com/tokio-rs/tokio/pull/7908
[#​7910]: https://redirect.github.com/tokio-rs/tokio/pull/7910
[#​7913]: https://redirect.github.com/tokio-rs/tokio/pull/7913
[#​7918]: https://redirect.github.com/tokio-rs/tokio/pull/7918
[#​7919]: https://redirect.github.com/tokio-rs/tokio/pull/7919
[#​7920]: https://redirect.github.com/tokio-rs/tokio/pull/7920
[#​7922]: https://redirect.github.com/tokio-rs/tokio/pull/7922
[#​7923]: https://redirect.github.com/tokio-rs/tokio/pull/7923
[#​7925]: https://redirect.github.com/tokio-rs/tokio/pull/7925
[#​7926]: https://redirect.github.com/tokio-rs/tokio/pull/7926
[#​7929]: https://redirect.github.com/tokio-rs/tokio/pull/7929
[#​7932]: https://redirect.github.com/tokio-rs/tokio/pull/7932
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 05:59 AM, on day
24 of the month ( * 0-5 24 * * ) (UTC), Automerge - At any time (no
schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/jerus-org/cull-gmail ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2026-03-13 11:01:17 +00:00
renovate[bot]
57050e4415
fix(deps): update rust crate tokio to 1.50.0
2026-03-13 10:58:07 +00:00
Jerus Bot
4abc767da4
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 10:57:07 +00:00
Jeremiah Russell
e59e111ae7
fix(deps): update rust crate tempfile to 3.27.0 ( #173 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [tempfile](https://stebalien.com/projects/tempfile-rs/ )
([source](https://redirect.github.com/Stebalien/tempfile )) |
workspace.dependencies | minor | `3.25.0` → `3.27.0` |
---
### Release Notes
<details>
<summary>Stebalien/tempfile (tempfile)</summary>
###
[`v3.27.0`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3270 )
[Compare
Source](https://redirect.github.com/Stebalien/tempfile/compare/v3.26.0...v3.27.0 )
This release adds `TempPath::try_from_path` and deprecates
`TempPath::from_path`.
Prior to this release, `TempPath::from_path` made no attempts to convert
relative paths into absolute paths. The following code would have
deleted the wrong file:
```rust
let tmp_path = TempPath::from_path("foo")
std::env::set_current_dir("/some/other/path").unwrap();
drop(tmp_path);
```
Now:
1. `TempPath::from_path` will attempt to convert relative paths into
absolute paths. However, this isn't always possible as we need to call
`std::env::current_dir`, which can fail. If we fail to convert the
relative path to an absolute path, we simply keep the relative path.
2. The `TempPath::try_from_path` behaves exactly like
`TempPath::from_path`, except that it returns an error if we fail to
convert a relative path into an absolute path (or if the passed path is
empty).
Neither function attempt to verify the existence of the file in
question.
Thanks to [@​meng-xu-cs](https://redirect.github.com/meng-xu-cs )
for reporting this issue.
###
[`v3.26.0`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3260 )
- Support `NamedTempFile::persist` on RedoxOS
([#​393](https://redirect.github.com/Stebalien/tempfile/issues/393 ))
(thanks to
[@​Andy-Python-Programmer](https://redirect.github.com/Andy-Python-Programmer )).
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 05:59 AM, on day
24 of the month ( * 0-5 24 * * ) (UTC), Automerge - At any time (no
schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/jerus-org/cull-gmail ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2026-03-13 10:56:50 +00:00
renovate[bot]
f37b5dea14
fix(deps): update rust crate tempfile to 3.27.0
2026-03-13 10:51:28 +00:00
Jerus Bot
77b4b0f759
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 10:50:26 +00:00
Jeremiah Russell
82a7d7efd5
fix(deps): update rust crate assert_cmd to 2.2.0 ( #172 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [assert_cmd](https://redirect.github.com/assert-rs/assert_cmd ) |
workspace.dependencies | minor | `2.1.2` → `2.2.0` |
---
### Release Notes
<details>
<summary>assert-rs/assert_cmd (assert_cmd)</summary>
###
[`v2.2.0`](https://redirect.github.com/assert-rs/assert_cmd/blob/HEAD/CHANGELOG.md#220---2026-03-10 )
[Compare
Source](https://redirect.github.com/assert-rs/assert_cmd/compare/v2.1.3...v2.2.0 )
##### Compatibility
- Change `cargo_bin` bad paths to panics
###
[`v2.1.3`](https://redirect.github.com/assert-rs/assert_cmd/blob/HEAD/CHANGELOG.md#213---2026-03-10 )
[Compare
Source](https://redirect.github.com/assert-rs/assert_cmd/compare/v2.1.2...v2.1.3 )
##### Fixes
- Un-deprecate `cargo_bin`
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 05:59 AM, on day
24 of the month ( * 0-5 24 * * ) (UTC), Automerge - At any time (no
schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/jerus-org/cull-gmail ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2026-03-13 10:49:35 +00:00
renovate[bot]
8b2cd42676
fix(deps): update rust crate assert_cmd to 2.2.0
2026-03-13 10:01:12 +00:00
Jerus Bot
cc835fa9e1
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 09:59:58 +00:00
Jeremiah Russell
a3acd27f51
fix(deps): update rust crate toml to 1.0.6 ( #169 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [toml](https://redirect.github.com/toml-rs/toml ) |
workspace.dependencies | patch | `1.0.0` → `1.0.6` |
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 05:59 AM, on day
24 of the month ( * 0-5 24 * * ) (UTC), Automerge - At any time (no
schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/jerus-org/cull-gmail ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNi41IiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2026-03-13 09:59:43 +00:00
renovate[bot]
ed76cb8777
fix(deps): update rust crate toml to 1.0.6
2026-03-13 09:58:15 +00:00
Jerus Bot
b1c1ac52e5
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 09:47:31 +00:00
Jeremiah Russell
d5386159fa
fix(deps): update rust crate indicatif to 0.18.4 ( #168 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [indicatif](https://redirect.github.com/console-rs/indicatif ) |
workspace.dependencies | patch | `0.18.3` → `0.18.4` |
---
### Release Notes
<details>
<summary>console-rs/indicatif (indicatif)</summary>
###
[`v0.18.4`](https://redirect.github.com/console-rs/indicatif/releases/tag/0.18.4 )
[Compare
Source](https://redirect.github.com/console-rs/indicatif/compare/0.18.3...0.18.4 )
#### What's Changed
- initial draft oft hold\_max with heuristic by
[@​djugei](https://redirect.github.com/djugei ) in
[#​657](https://redirect.github.com/console-rs/indicatif/pull/657 )
- Fix duration after finish by
[@​luolong](https://redirect.github.com/luolong ) in
[#​748](https://redirect.github.com/console-rs/indicatif/pull/748 )
- Add refresh rate warning for ProgressDrawTarget::term\_like() by
[@​djc](https://redirect.github.com/djc ) in
[#​750](https://redirect.github.com/console-rs/indicatif/pull/750 )
- Seeking heuristic tweaks by
[@​djc](https://redirect.github.com/djc ) in
[#​751](https://redirect.github.com/console-rs/indicatif/pull/751 )
- Expose the current tab width by
[@​alexisfontaine](https://redirect.github.com/alexisfontaine ) in
[#​754](https://redirect.github.com/console-rs/indicatif/pull/754 )
- Make WASM support optional via a feature flag by
[@​SvenFinn](https://redirect.github.com/SvenFinn ) in
[#​761](https://redirect.github.com/console-rs/indicatif/pull/761 )
- fix: respect NO\_COLOR and TERM=dumb environment variables by
[@​shaanmajid](https://redirect.github.com/shaanmajid ) in
[#​764](https://redirect.github.com/console-rs/indicatif/pull/764 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 05:59 AM, on day
24 of the month ( * 0-5 24 * * ) (UTC), Automerge - At any time (no
schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/jerus-org/cull-gmail ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNi41IiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2026-03-13 09:47:23 +00:00
renovate[bot]
99af85dbdf
fix(deps): update rust crate indicatif to 0.18.4
2026-03-13 09:45:49 +00:00
Jerus Bot
522b09f7df
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 09:44:49 +00:00
Jeremiah Russell
a812f70545
fix(deps): update rust crate futures to 0.3.32 ( #167 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [futures](https://rust-lang.github.io/futures-rs )
([source](https://redirect.github.com/rust-lang/futures-rs )) |
workspace.dependencies | patch | `0.3.31` → `0.3.32` |
---
### Release Notes
<details>
<summary>rust-lang/futures-rs (futures)</summary>
###
[`v0.3.32`](https://redirect.github.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0332---2026-02-15 )
[Compare
Source](https://redirect.github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
- Bump MSRV of utility crates to 1.71.
([#​2989](https://redirect.github.com/rust-lang/futures-rs/issues/2989 ))
- Soft-deprecate `ready!` macro in favor of `std::task::ready!` added in
Rust 1.64
([#​2925](https://redirect.github.com/rust-lang/futures-rs/issues/2925 ))
- Soft-deprecate `pin_mut!` macro in favor of `std::pin::pin!` added in
Rust 1.68
([#​2929](https://redirect.github.com/rust-lang/futures-rs/issues/2929 ))
- Add `FuturesOrdered::clear`
([#​2927](https://redirect.github.com/rust-lang/futures-rs/issues/2927 ))
- Add `mpsc::*Receiver::recv`
([#​2947](https://redirect.github.com/rust-lang/futures-rs/issues/2947 ))
- Add `mpsc::*Receiver::try_recv` and deprecate
`mpsc::*Receiver::::try_next`
([#​2944](https://redirect.github.com/rust-lang/futures-rs/issues/2944 ))
- Implement `FusedStream` for `sink::With`
([#​2948](https://redirect.github.com/rust-lang/futures-rs/issues/2948 ))
- Add `no_std` support for `shared`
([#​2868](https://redirect.github.com/rust-lang/futures-rs/issues/2868 ))
- Make `Mutex::new()` const
([#​2956](https://redirect.github.com/rust-lang/futures-rs/issues/2956 ))
- Add `#[clippy::has_significant_drop]` to guards
([#​2967](https://redirect.github.com/rust-lang/futures-rs/issues/2967 ))
- Remove dependency to `pin-utils`
([#​2929](https://redirect.github.com/rust-lang/futures-rs/issues/2929 ))
- Remove dependency on `num_cpus`
([#​2946](https://redirect.github.com/rust-lang/futures-rs/issues/2946 ))
- Performance improvements
([#​2983](https://redirect.github.com/rust-lang/futures-rs/issues/2983 ))
- Documentation improvements
([#​2925](https://redirect.github.com/rust-lang/futures-rs/issues/2925 ),
[#​2926](https://redirect.github.com/rust-lang/futures-rs/issues/2926 ),
[#​2940](https://redirect.github.com/rust-lang/futures-rs/issues/2940 ),
[#​2971](https://redirect.github.com/rust-lang/futures-rs/issues/2971 ))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 05:59 AM, on day
24 of the month ( * 0-5 24 * * ) (UTC), Automerge - At any time (no
schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/jerus-org/cull-gmail ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNi41IiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2026-03-13 09:44:40 +00:00
renovate[bot]
08764914ab
fix(deps): update rust crate futures to 0.3.32
2026-03-13 09:42:56 +00:00
Jerus Bot
314a7e945a
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 09:40:31 +00:00
Jeremiah Russell
69cc5781bb
fix(deps): update rust crate clap to 4.6.0 ( #166 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [clap](https://redirect.github.com/clap-rs/clap ) |
workspace.dependencies | minor | `4.5.58` → `4.6.0` |
---
### Release Notes
<details>
<summary>clap-rs/clap (clap)</summary>
###
[`v4.6.0`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#460---2026-03-12 )
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.61...v4.6.0 )
##### Compatibility
- Update MSRV to 1.85
###
[`v4.5.61`](https://redirect.github.com/clap-rs/clap/compare/clap_complete-v4.5.60...clap_complete-v4.5.61 )
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.60...v4.5.61 )
###
[`v4.5.60`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4560---2026-02-19 )
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.59...v4.5.60 )
##### Fixes
- *(help)* Quote empty default values, possible values
###
[`v4.5.59`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4559---2026-02-16 )
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.58...v4.5.59 )
##### Fixes
- `Command::ignore_errors` no longer masks help/version on subcommands
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 05:59 AM, on day
24 of the month ( * 0-5 24 * * ) (UTC), Automerge - At any time (no
schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/jerus-org/cull-gmail ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNi41IiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2026-03-13 09:40:15 +00:00
renovate[bot]
25471f43ba
fix(deps): update rust crate clap to 4.6.0
2026-03-13 09:38:03 +00:00
Jerus Bot
2779bba2ac
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 09:36:56 +00:00
Jeremiah Russell
b4cee54471
fix(deps): update rust crate chrono to 0.4.44 ( #165 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [chrono](https://redirect.github.com/chronotope/chrono ) |
workspace.dependencies | patch | `0.4.43` → `0.4.44` |
---
### Release Notes
<details>
<summary>chronotope/chrono (chrono)</summary>
###
[`v0.4.44`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.44 ):
0.4.44
[Compare
Source](https://redirect.github.com/chronotope/chrono/compare/v0.4.43...v0.4.44 )
#### What's Changed
- docs: match MSRV with `Cargo.toml` contents by
[@​coryan](https://redirect.github.com/coryan ) in
[#​1772](https://redirect.github.com/chronotope/chrono/pull/1772 )
- Add track\_caller to non-deprecated functions by
[@​svix-jplatte](https://redirect.github.com/svix-jplatte ) in
[#​1774](https://redirect.github.com/chronotope/chrono/pull/1774 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 05:59 AM, on day
24 of the month ( * 0-5 24 * * ) (UTC), Automerge - At any time (no
schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/jerus-org/cull-gmail ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNi41IiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2026-03-13 09:35:31 +00:00
renovate[bot]
d4287ef12d
fix(deps): update rust crate chrono to 0.4.44
2026-03-13 09:33:04 +00:00
Jerus Bot
3ae90ac1a8
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 09:31:35 +00:00
Jeremiah Russell
17e69477d9
fix(deps): update rust crate config to 0.15.21 ( #171 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [config](https://redirect.github.com/rust-cli/config-rs ) |
workspace.dependencies | patch | `0.15.19` → `0.15.21` |
---
### Release Notes
<details>
<summary>rust-cli/config-rs (config)</summary>
###
[`v0.15.21`](https://redirect.github.com/rust-cli/config-rs/blob/HEAD/CHANGELOG.md#01521---2026-03-12 )
[Compare
Source](https://redirect.github.com/rust-cli/config-rs/compare/v0.15.20...v0.15.21 )
##### Compatibility
- Bump MSRV to 1.85
###
[`v0.15.20`](https://redirect.github.com/rust-cli/config-rs/blob/HEAD/CHANGELOG.md#01520---2026-03-12 )
[Compare
Source](https://redirect.github.com/rust-cli/config-rs/compare/v0.15.19...v0.15.20 )
##### Fixes
- Serialize the full `u64` range
##### Internal
- *(toml)* Update to 1.0
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 05:59 AM, on day
24 of the month ( * 0-5 24 * * ) (UTC), Automerge - At any time (no
schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/jerus-org/cull-gmail ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2026-03-13 09:31:26 +00:00
renovate[bot]
deb9eeb2e0
fix(deps): update rust crate config to 0.15.21
2026-03-13 09:24:07 +00:00
Jerus Bot
f8a7e1fc93
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-03-13 09:22:04 +00:00
Jeremiah Russell
58011866d8
chore: migrate to workspace structure and 3-file CI pipeline ( #170 )
...
## Summary
- Migrates flat crate structure to mandatory workspace layout
(`crates/cull-gmail/`)
- Replaces old 4-workflow flag-based CI with the 3-file pipeline model
at toolkit 4.9.6
- Fixes pre-existing broken doctest in `rules.rs`
## Changes
### Workspace migration
- `Cargo.toml` → workspace manifest with `[workspace.package]` and
`[workspace.dependencies]`
- `crates/cull-gmail/Cargo.toml` — crate manifest inheriting from
workspace
- `src/`, `tests/`, `CHANGELOG.md` moved to `crates/cull-gmail/`
- `docs/lib/` moved to `crates/cull-gmail/docs/lib/` (required for
`include_str!` to work with `cargo package`)
- `crates/cull-gmail/release.toml` — crate-specific config, tag format
`cull-gmail-v{{version}}`, **PRLOG replacements removed**
- `crates/cull-gmail/release-hook.sh` — updated paths for workspace
layout
- `release.toml` (workspace) — shared signing/branch settings only
### PRLOG
- Added `## [Unreleased]` section at top
- Updated reference links to use `cull-gmail-v*` tag format
### CI files
- `config.yml` — validation-only at toolkit 4.9.6 (no
`trigger_pipeline`)
- `update_prlog.yml` (new) — pr-merged event trigger
- `release.yml` — standard toolkit jobs: `calculate_versions` →
`release_crate` (with `build_binary: true`) → `release_prlog`
### Anchor tag
- `cull-gmail-v0.1.4` created at `v0.1.4` commit — gives nextsv a
baseline for crate-prefixed version calculation
### Bug fix
- Fixed doctest in `rules::Rules::get_rules_by_label_for_action`: added
missing `EolAction` import and corrected method name
## Post-merge setup required (CircleCI project settings)
- `update_prlog.yml` must be set as the trigger for the "pull_request
merged" event
- `release.yml` must be set as a manual trigger pipeline
🤖 Generated with [Claude Code](https://claude.com/claude-code )
2026-03-13 09:21:54 +00:00
Jeremiah Russell
4c1eeed863
fix(tests): use CARGO_BIN_EXE to locate binary in integration tests
...
Signed-off-by: Jeremiah Russell <jerry@jrussell.ie >
2026-03-13 09:04:49 +00:00
Jeremiah Russell
27e915ca9e
fix(ci): add package parameter to code_coverage job
...
Signed-off-by: Jeremiah Russell <jerry@jrussell.ie >
2026-03-13 08:49:49 +00:00
Jeremiah Russell
a36c87301c
fix(ci): ignore RUSTSEC-2025-0066 and add deny.toml
...
Signed-off-by: Jeremiah Russell <jerry@jrussell.ie >
2026-03-13 08:40:24 +00:00
Jeremiah Russell
38a0193010
chore: migrate to workspace structure and 3-file CI pipeline at toolkit 4.9.6
...
Signed-off-by: Jeremiah Russell <jerry@jrussell.ie >
2026-03-13 08:25:47 +00:00
Jerus Bot
363550326e
chore: Release cull-gmail v0.1.4
2026-02-14 09:53:58 +00:00
Jeremiah Russell
9f5cff8207
👷 ci(circleci): update release workflow configuration ( #163 )
...
- add remove_ssh_key parameter to workflows configuration
- enhance security settings for release process
Signed-off-by: Jeremiah Russell <jerry@jrussell.ie >
2026-02-14 09:45:18 +00:00
Jerus Bot
3df38b3989
chore: update prlog for pr
...
Signed-off-by: Jerus Bot <171541392+jerus-bot@users.noreply.github.com >
2026-02-14 09:39:08 +00:00