sharepoint-cli 0.0.9

Agent-friendly SharePoint Online CLI with JSON output, structured exit codes, and schema introspection
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/).








## [0.0.8]https://github.com/rvben/sharepoint-cli/compare/v0.0.7...v0.0.8 - 2026-06-20

### Added

- **schema**: fill missing output_fields for config show and init ([5738d13]https://github.com/rvben/sharepoint-cli/commit/5738d13afc11a32e62432800cc526a34fab4b4dc)

## [0.0.7]https://github.com/rvben/sharepoint-cli/compare/v0.0.6...v0.0.7 - 2026-06-11

### Added

- make sharepoint CLI fully compliant with clispec v0.2 (24/24) ([8cfc497]https://github.com/rvben/sharepoint-cli/commit/8cfc497b893abea59eb5d029ba7ac2655d966292)

### Fixed

- remove no-op --yes from init; expose sites use --yes to schema bypass check ([0a2ea3e]https://github.com/rvben/sharepoint-cli/commit/0a2ea3e2b0a64d387d27472f42c134cf81c3699f)

## [0.0.6]https://github.com/rvben/sharepoint-cli/compare/v0.0.5...v0.0.6 - 2026-05-06

## [0.0.5]https://github.com/rvben/sharepoint-cli/compare/v0.0.4...v0.0.5 - 2026-05-06

### Added

- **graph**: accept HTTP-date in Retry-After header ([d0083da]https://github.com/rvben/sharepoint-cli/commit/d0083da415e8c9d9e38e8e0de5851f8719615ee7)
- **auth**: require client_id and surface a friendly error when missing ([268085f]https://github.com/rvben/sharepoint-cli/commit/268085f2c9af7ed0e9470a3b8928d2d047582975)

### Fixed

- **files**: use Option<usize> for --limit to detect explicit value ([ce4c14e]https://github.com/rvben/sharepoint-cli/commit/ce4c14e1b3cb2f24cf119d5d8f55382a99d577b9)
- **auth**: use SHAREPOINT_REFRESH_TOKEN to bootstrap auth ([a41e178]https://github.com/rvben/sharepoint-cli/commit/a41e178952a6e4ad94bd61c21f97ca354622060a)
- **auth**: apply redactor to OAuth2Error.error_description ([1230534]https://github.com/rvben/sharepoint-cli/commit/1230534cf6048f72955cf113089525804184ff0b)
- **auth**: release mutex across file I/O and network in access_token ([3f00c7a]https://github.com/rvben/sharepoint-cli/commit/3f00c7ab15a87ec2299a53a9e584620d8276eafd)
- **auth**: always emit device-code prompt under --quiet ([ad3ec75]https://github.com/rvben/sharepoint-cli/commit/ad3ec75a49a815b39e73cab80e1ff40dcd58407e)
- **auth**: retry transient errors on token endpoint ([1e9c5f5]https://github.com/rvben/sharepoint-cli/commit/1e9c5f58a847b347fe13d680289f0fcbb09b648a)
- **auth**: redact token-endpoint error bodies ([be11124]https://github.com/rvben/sharepoint-cli/commit/be11124c0d1bf9e039bf6b03145a26bf32c38a2e)
- **pagination**: cursor preserves mid-page progress ([88b9dab]https://github.com/rvben/sharepoint-cli/commit/88b9dabab8478bf2e3238c0afbb34999267565e0)
- **drives**: paginate drives list to fetch all pages ([7fd8a53]https://github.com/rvben/sharepoint-cli/commit/7fd8a53ec3816bdb22acc834eebc0a8e60866203)
- **files**: reject pagination flags when --recursive is set ([d6e7c2f]https://github.com/rvben/sharepoint-cli/commit/d6e7c2f3152e7f65cde51494e4e1f56496debd3e)
- **graph**: validate page-token host before attaching bearer ([ba954a6]https://github.com/rvben/sharepoint-cli/commit/ba954a6e78939bd47e1f3d8798e9fb501073db10)
- **graph**: percent-encode user query in search URL ([74b8b57]https://github.com/rvben/sharepoint-cli/commit/74b8b57829f9d3eacd8130f1b3a44e243528fc0b)
- **reference**: decode percent-escapes in colon-separated forms ([744736f]https://github.com/rvben/sharepoint-cli/commit/744736f0691e889dbbd4ce9cfc1529dc6478fd48)
- **reference**: stop double-decoding id= query values ([d2eb4e2]https://github.com/rvben/sharepoint-cli/commit/d2eb4e29730954ad7b31f5e7aca5fe62eb0da41c)
- **cli**: route clap parse errors through JSON-error-on-stdout contract ([a9e806e]https://github.com/rvben/sharepoint-cli/commit/a9e806e4bf4547e3852bddd49f786f3524e08d95)
- **auth**: canonicalize tenant to GUID after login ([20dae78]https://github.com/rvben/sharepoint-cli/commit/20dae7865c41d3e18a3f5b03253895aca9b78452)

## [0.0.4]https://github.com/rvben/sharepoint-cli/compare/v0.0.3...v0.0.4 - 2026-05-04

### Fixed

- **release**: rename PyPI distribution to sharepoint-cli-rs ([f51cd42]https://github.com/rvben/sharepoint-cli/commit/f51cd42520eea7f31e4dd1625b920fb828ba0e96)

## [0.0.3]https://github.com/rvben/sharepoint-cli/compare/v0.0.2...v0.0.3 - 2026-05-04

### Fixed

- **release**: use uv publish instead of twine for PyPI ([b262ca2]https://github.com/rvben/sharepoint-cli/commit/b262ca20f3effa0dba376d41d39ac73814e8d2b5)

## [0.0.2]https://github.com/rvben/sharepoint-cli/compare/v0.0.1...v0.0.2 - 2026-05-04

### Added

- **release**: add maturin/PyPI scaffolding and release workflow ([bae8c15]https://github.com/rvben/sharepoint-cli/commit/bae8c157df17866d2e222a325f8708d366ee809b)

## [0.0.1] - 2026-05-04

### Added

- **drives**: accept spo:// URI form in drives list site argument ([e94947d]https://github.com/rvben/sharepoint-cli/commit/e94947dde7d283ad21419a49ff99c4bb109b5289)
- implement config show/path with masked secrets ([c9ca3a7]https://github.com/rvben/sharepoint-cli/commit/c9ca3a70bf1a02723d6fdee1908da68d03272337)
- implement init with interactive setup and device-code login ([0776d2f]https://github.com/rvben/sharepoint-cli/commit/0776d2f413038ba68cead1db45ba54082623c166)
- **files**: implement ls/stat/download/find ([cae16c6]https://github.com/rvben/sharepoint-cli/commit/cae16c6ae67877b8530b613294db3585b173d498)
- **drives**: list libraries on a site ([d8254f7]https://github.com/rvben/sharepoint-cli/commit/d8254f74a4be0cdd3d9480b694f53b1299408693)
- **sites**: reject sites use in read-only mode ([eaddbab]https://github.com/rvben/sharepoint-cli/commit/eaddbabf9363285607b1ed940f5a335ea953e810)
- **sites**: implement list (followed/search) and use ([c2706e5]https://github.com/rvben/sharepoint-cli/commit/c2706e53cbe8504727ab278f2da798ba07ba6844)
- **auth**: implement login, logout, status commands ([8a4cdb1]https://github.com/rvben/sharepoint-cli/commit/8a4cdb19ced6e9c8f143798ef7e55b60365b6e4e)
- **cli**: add scaffold with clap derive subcommands and dispatcher ([9b9ac45]https://github.com/rvben/sharepoint-cli/commit/9b9ac45169f0b579fb887f38fbfc42dd8d5649c1)
- **graph**: add drive-scoped search with shell-glob matcher ([3966aa7]https://github.com/rvben/sharepoint-cli/commit/3966aa7e356fb804160c59617c46ee076e2bf7d9)
- **graph**: add streaming download ([873fc7a]https://github.com/rvben/sharepoint-cli/commit/873fc7a19100da101920bc3d6b46dce1e985f239)
- **graph**: add drive lookup, item listing, and canonical-shape mapper ([20eae65]https://github.com/rvben/sharepoint-cli/commit/20eae6512d4c17205dc330e705aa2a9bf2a632b1)
- **graph**: add site discovery with alias map and pagination ([b12b24c]https://github.com/rvben/sharepoint-cli/commit/b12b24c954af9afe27bfbba6cb4a21dace47182f)
- **graph**: add GraphClient with retry/backoff and paging ([3d7f22f]https://github.com/rvben/sharepoint-cli/commit/3d7f22f06a9933ceaf5afa13df1b2ebfa40f6707)
- **auth**: add AuthContext with auto-refresh and 60s margin ([1c8a536]https://github.com/rvben/sharepoint-cli/commit/1c8a536ef3500ecdf5ecdc12b2b19947993e07b4)
- **auth**: add device-code flow with polling state machine ([eb4ec4b]https://github.com/rvben/sharepoint-cli/commit/eb4ec4be0f253bdf3edc025c09530bf8e00f76c3)
- add token cache with atomic 0600 writes ([924ad00]https://github.com/rvben/sharepoint-cli/commit/924ad009ef0930327451327c59aefa12cf934c0d)
- add reference parser supporting all 5 input forms ([29f6452]https://github.com/rvben/sharepoint-cli/commit/29f64520c72c3f161e9590ff0193c2f209ba0d15)
- add config module with profiles, env overrides, and resolution order ([3965f93]https://github.com/rvben/sharepoint-cli/commit/3965f9337a98a6bc0a9cb51bf8ecf7a7f0e28cc6)
- add OutputConfig with JSON-error-on-stdout contract ([5c68729]https://github.com/rvben/sharepoint-cli/commit/5c687290bec2e33acda5c54f9be3407d73f47e0a)
- add CliError with structured exit codes ([39d719e]https://github.com/rvben/sharepoint-cli/commit/39d719ee8a6ebfde083622e257c113cc62877ffe)

### Fixed

- **files**: paginate find to match plan spec ([6c591fa]https://github.com/rvben/sharepoint-cli/commit/6c591fa9ed226e079c98860655c7e069ea7b1806)
- **files**: align ls/download/find with plan spec ([c8661a7]https://github.com/rvben/sharepoint-cli/commit/c8661a769aed14501dcb7c12f1c2179ab768bed6)
- **tests**: write auth-status fixture cache to binary's actual path ([501c45b]https://github.com/rvben/sharepoint-cli/commit/501c45b095e4db71006a8255c02f1ccf1723f196)
- **graph**: percent-encode drive paths and drop unwrap in canonical mapper ([f91f4df]https://github.com/rvben/sharepoint-cli/commit/f91f4df5680071ad1db5c592d0229b114778af69)
- **graph**: derive list source from decoded page token path ([d70527a]https://github.com/rvben/sharepoint-cli/commit/d70527a006b070a41f3fe999a9c43bc4fde477fb)
- **graph**: cap Retry-After at 60s and drop dead pow guard ([66d7c9c]https://github.com/rvben/sharepoint-cli/commit/66d7c9c2a353847eeec52e1da364356b70aeac65)
- **auth**: make refresh_token and Account.name Option<String> ([d30e5f7]https://github.com/rvben/sharepoint-cli/commit/d30e5f7d32e6b0496794176bdfc8ba5ad88fd1d5)