# Changelog

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

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [Unreleased]

## [0.3.2]

## [0.3.1] - 2024-01-19

### Removed

- unused crates

## [0.3.0] - 2024-01-19

### Added

- examples to the `token` module
- docs of the `token` module
- tests of the `token` module
- `tarpaulin-report.html` to .gitignore
- impl of `DerefMut` for `ClientSecrets`
- tests of the `security` module
- implemented `Default` for `LocalServer`
- tests of the `server` module
- option to open browser when requesting authorization from Google's API
- #![warn(missing_docs)] to library
- `no_run` to examples requesting refresh tokens to avoid going over Google's limits
- tests to `secrets` module
- `objects` module to organize the types returned from Google's API
- `about` resource
- `utils` module
- `test` utils module
- `file` object
- `content_hint` object
- `permission` object
- `thumbnail` object
- `capabilities` object
- `image_media_metadata` object
- `video_media_metadata` object
- `shortcut_details` object
- `content_restriction` object
- implemented `Default`, `new` and `Display` for objects
- `delete` to files
- `ids` module to objects

### Removed

- re-export of `AccessToken` and `RefreshToken` to clean the main module
- re-export of `LocalServer` to clean the main module
- re-export of `ClientSecrets` to clean the main module
- scope checking in client secrets since the token will check
- updated `README.md`

### Changed

- using --release flag in CI/CD `build` stage
- made `client_secrets` and `access_token` of `Credentials` public
- moved `refresh` logic from credentials to the `AccessToken`
- moved valid `scopes` logic from credentials to the `AccessToken`
- docs of `security` module
- moved `local_server` to `server`
- made all modules public
- updated tests in `token` module
- updated docs in `token` module
- name of `DriveAPIResponse` error to `Response`
- moved documentation from top of modules to `lib.rs`
- updated docs in `error` module
- renamed `client_secrets` module to `secrets`
- updated `secrets` docs
- updated `token` tests to reduce usage of refresh tokens
- updated `server` tests
- updated `secrets` tests to reduce usage of refresh tokens
- updated `credentials` test to reduce usage of refresh tokens
- updated `files` resource
- removed `Deref` from client secrets

## [0.2.1] - 2024-01-12

### Fixed

- wrong path to `secure files` in CI/CD pipeline

## [0.2.0] - 2024-01-12

### Added

- `no_run` to local server tests as they require user input to complete
- `.secure-files` to .gitignore
- `test` stage to CI/CD

### Changed

- doc tests of `Credentials` to hide boiler plate and use secure files from CI/CD pipeline
- Error name `Reqwest` to a more generic `Request`

## [0.1.0] - 2024-01-12

### Added

- documentation to `lib.rs`
- custom `Error` for library
- `Credentials` documentation
- error documentation
- `testfile` as a dev dependency for temp file creation
- `credentials_old.json` to .gitignore
- `url` crate to use directly instead of the re export from reqwest
- docs of LocalServer
- `license` and `description` to Cargo.toml

### Changed

- updated library name from `rbm-drive-v3` to `drive-v3`

## [0.0.2] - 2024-01-11

### Added

- `create` request to Google API's files resource
- added struct `UploadMedia` to handle file uploading metadata
- added struct `Uploader` to handle uploading files in chunks
- added `test.*` to .gitignore for testing files
- added `indicatif` crate to display upload loading bar

### Changed

- updated README.md

## Removed

- unused `base64-url` crate

## [0.0.1] - 2024-01-11

### Added

- MIT license
- Change log
- Initial Google Drive API
