- New
GetToken
trait for custom ways of specifying a token. The latter can now be a String or beNoToken
as well. - Upgrade
mkdocs
to a more recent version that doesn't break in more recent python interpreters.
- Support for yup-oauth 0.6
- Redesigned error handling which won't swallow errors anymore by making less assumptions about them. They are now merely assume to be JSON, with a fallback to the plain message.
- every call is
async
- upgrade to hyper 0.14 and tokio 1.0
Note that there are still a few inefficiencies and oddities, but nothing that should prevent using libraries at least. CLIs are available but haven't been used in a while.
Upgrade to serde 0.9, which removes a lot of complexity and the need for nighly.
Uprade to hyper v0.10, and use hyper-rustls instead of openssl for all communication. Please note that authentication is still performed using openssl.
- cli: try to depend on major version of api (b68b2a6b)
- discovery: handle discovery urls with $ (0ba9535a)
- license: correct link to license on github (f3d0ef45)
- versions: cli + api use a single base version (5e28a06d)
- binaries: remove download information (e6468981)
Stability for everyone !
- cli: can now be published (91a657b8)
- api types: Add an unused field to empty API types. (0f14aa96)
- auth: use redirect flow (b6f5fc6e)
- template: URL-encoding '/' in URLs is not accepted by Google APIs. (292dd2f3)
- auth: use redirect flow(b6f5fc6e)
- cargo:
- dependencies: use working version of serde-codegen (3921b6a5)
- test: work with latest serde (bed46ba2)
- travis:
- authentication: Use flow for installed apps (d37bb19d)
- cargo: choose serde-version which works (33f28136)
- cli: compatibility with serde 0.6 (9e8a047e)
- lib: use hyper Bearer header style (065cfdd2)
- make: use venv-python to run any utility (4bb7a33e)
- parameters: previously the separator used in the request was incorrect, causing the request to fail. This has been fixed by this PR.
- serde: update to serde 0.7, which allows to ignore unkonwn fields. That way, your library will work for longer, as it will just ignore possibly added fields.
- cmn: get cmn compiling on nightly rust (8179f3bf, closes #131)
- deps: assure license can be generated (9a2d2b57)
- makefile: use PYTHONPATH for mako invocation (0bd7f200)
- mako: use new discoveryRestUrl field for json download (ef9e7f1b)
- rustup: use std::Thread::sleep (b54acb7c)
- serde: update to latest serde/rust (8dab8c01)
- travis: improve handling of error code if stable is tested (78c7d46f)
- util.py: improve version and library name handling (53c27da2)
- versionup: use latest oauth2 lib (a2c6b58d)
- clap-up use clap 1.0.3 (be894bec)
- deploy adjust linux script to target dir (0f61fa4c)
- hyper-up compatibility with hyper 0.6.4 (e129a7d3, closes #123)
- serde-up update to serde 0.5.0 (2d574591)
- cli pretty-print errors in debug mode (152cdd84)
- cli
- deps make statement shell compatible (a566b702)
- hyper-up work with hyper v0.6.0 (d0491a49)
- rustup type-inference fails on empty vec (27fdd8ee)
This release allows both API and CLI to be built on stable (verified with rustc 1.0.0 (a59de37e9 2015-05-13) (built 2015-05-14)).
The CLI additionally builds against the latest clap-rs, which brings color support next to other improvements.
The first release you can actually use!
- Clap - The Argument Parser Users will Love !
- Thanks to clap, using the command-line interface is so much more comfortable and helpful. In addition to that, it will provide wonderful usage information and help texts to get you going fast without stying the online-manual all the time.
- Special thanks to @kbknapp for all the great support. It was my pleasure evolving my CLIs alongside clap.
- Usage-to-Manual Backlinks
- Sometimes even the extended usage, e.g.
youtube3 videos insert --help
, is not enough. Now a URL to the exact method manual is provided as well to help filling in complex information.
- Sometimes even the extended usage, e.g.
- (More) Human JSON Output
- Previously obtained JSON information would contain
null
values, adding unwanted noise. These are now filtered out. Thanks to @erickt for the hint. - Did you know ... that you can use JQ to filter the JSON output and extract data ?
- Previously obtained JSON information would contain
- Out-of-memory during Uploads
- When uploading anything over SSL (the default for Google Services), due to an issue in rust-openssl all data would first be cached in-memory before sending it with ulta-high CPU usage. Now that the aforementioned bug is fixed, you can easily saturate a 1Gb link for encrypted uploads.
- YouTube uploads didn't work
- Any YouTube upload was rejected as the server didn't want to see
null
values within the request structure. Thanks to additional filtering an optimized JSON stream is produced, much to the joy of said server.
- Any YouTube upload was rejected as the server didn't want to see
- CLI remove null in pretty-printed json (5894c816, closes #102)
- index.html DL title contains os-name (69b12104)
- API
- clap
- CLI
- index.html
- deploy
- CLI
- completed list of parameter names (9274938f)
- added latest reference CLI code (d2a4e2ff)
- gate usage of
upload_media_params
(89432cc6) - handle repeated required strings (bf6a2ba6, closes #96)
- 'about()' text for main commands (153324eb, closes #95)
- adjust
JsonTokenStorage
to yup-oauth (94c821e0) - unified error handling (2f200217, closes #66)
- escape subcommand descriptions (fac50418)
- API
- compat
- clap
- re-introduce UploadProtocol,fix CallType (d0ce221b, closes #81)
- update docs and fix calltype handling (b039b382)
- various fixes and improvements (7a38f7e4)
- print usage if command is missing (63e23dd4)
- tweaks to make youtube3 work (5320a48e)
- adjust option usage to changed API (bac4e1a8)
- handle apis without media upload (feaa3a06)
- call
iter()
directly (02a41296) - commit before un-using UploadProtocol (1aff3135)
- generate command data structure (8ac8d3b1)
- upload some code to help debugging (9a8ae4b7)
- rustup (abf0548b5 2015-04-15) (built 2015-04-15) (9ea3fea7)
- make-deps fix dependencies (2e74d914)
- make dependencies are now per-program-type (acd42dfc)
- api-version-up v0.1.4 (6f2149b7)
- lib update changed
url
crate imports (607ba745) - token-storage implement deletion of tokens (6d84ef90, closes #79)
- cli add commands.yml.mako (51ddcf74)
- hyper-client adjust to hyper client (191e822c, closes #47)
- docker README info + fix author email (e7302810, closes #71)
- docs
- README+deps better subtext + rename target (75e73d56)
- cmn use bytes=... when sending as well (b9a469c0)
- test add rustc_serialize to test-crate (fa011315)
- api-update 'bytes ...' -> 'bytes=...' (3e0a24db)
- travis
- README corrected absolute links (34d0a7aa)
- CLI
- request value cursor handling and docs (b6a48bdc, closes #86)
- simple and resumable upload works (2f3b2d24)
- use only one request structure (0bb30da7)
- set request value to call (be7ccb08)
- verified download works (6befdbc6, closes #75)
- response value json decoding (845a568b, closes #73)
- resolve generator issues (797f2898, closes #77)
- request value parsing compiles and inits (fa278a99, closes #64)
- struct access compiles ... (bf22bef7)
- NULL default values instead of randoms (4b87d909)
- alt-media handling in CLI+API-docs (306852d5, closes #61)
- optional parameter default handling (830529c4)
- optimze argument handling and conversion (76841da0, closes #65)
- Display for Errors + refactor (e45eb053, closes #54)
- version-up
- all update all code to latest version (f8689be4)
- API
- checkin latest version of all APIs (4cf0720e)
- api+cli improved scope handling; fix CLI (5b4f18d3)
- engine infrastructure (ca8e8c06, closes #52)
- CLI
- per-API-credentials with default (e42f6fbe, closes #80)
- hashmap handling (b830c1c6, closes #68)
- repeated required args (c14ef9af)
- --debug-auth flag (03f35bd4, closes #70)
- --debug flag to output traffix (159c6591)
- added first versions of all CLI (f5f12c55)
- struct value parsing (15b78cd1)
- field cursor complete and untested (1dd1fcf4)
- make respective uppload_call (6119bfb7, closes #62)
- upload flag parsing (9eed4056)
- global optional parameters+DL tracking (36a7cb23)
- parse method parameters and set them (6ae6ee88)
- handle output json encoding and ostreams (3f49f50a, closes #63)
- interpret output arguments (c3a9f1e8)
- required arg parsing + first doit() call (e34e24e0, closes #60)
- infrastructure for call and dry-run (d6919f1e, closes #59)
- Implementation of JsonTokenStorage (8afc76a7, closes #58)
- init hub + refactor for dry-run mode (f71c2862, closes #57)
- engine checks resource and method args (be228f19, closes #55)
- write default and read app-secret (4548644c, closes #53)
- cli
- config create config directory, if possible (5799d44f)
- mkdocs
- API
- deps github-pages index generation (919ae4d8)
- version-up check-in of latest sources (a2ca1cb2)
- api-version-up version 0.1.3 (99f8b65f, closes #46)
- rustup rustc (be9bd7c93 2015-04-05) (91861dcb)
- docs
- json-up update json files from discovery API (fca1b24c)
- versionup
- result remove custom Result Enum (e5b013e9, closes #39)
- misc whitespace and trait rename (6ad0c2ef)
- make cli depends on API, generically (cefd606b, closes #11)
- mkdocs mkdocs generator works now (d1c97912, closes #43)
- api api generation works once again (be7d8214)
- mbuild upload size now taken properly (04f4c956)
- doit
- to_version assured it handles '0' correctly (4b9dbb28, closes #3)
- readme
- scope
- activities
- pyratemp is now self-contained (179c64c5)
- cmn
- json2xml
- docs
- re-export types used by delegate (556906ca)
- better introduction and version handling (3a9aa519)
- pretty names for methods and resources (0152138e)
- repeated parameters docs improvement (863a98c0)
- filter request value props by parts (fad0a717)
- have to handle required/optionals vals (9cbb2adc)
- remove empty '/// # ' lines (f2dda421)
- schema
- resources first recursive resource support (35bd1c3e)
- version-up 0.1.0 release (3bc930ae)
- names nested type names are consistent now (32145e64)
- mako
- libdocs asssure candidate is in mapping (1e332ddb)
- api-versions ignore beta/alpha,assure latest (ff5cbb3b)
- type-clashes protect from nested-type-clash (614539a9)
- builders fixed part handling,it compiles now (70ea612f)
- rename mv youtube-rs to google-apis-rs (11b6fe21)
- hash nested type resolution and hashes (5d563c88)
- test
- apis
- util
- types
- prune unused and ToParts trait (80161f72, closes #35)
- make recursive types possible (8d9f175f)
- prevent type-clash with
Result
(b6ebb1ec) - fix incorrect nested type names (4f794ef5)
- prevent struct recursion issue (da575055)
- nested types work for arrays (54540e69)
- optionals are working once again (a268be27)
- typename improved camelCasing (de40a8bd)
- mbuild
- markup examples section in mbuilder got lost (4bdee961)
- common
- visuals using visual markers now (8746f5e0)
- mako-deps handle whitespace and add GENINFO (c3d399e9)
- xml forgot to add shared.xml (e081017c)
- json
- #5 use function to make links correctly (c8061ebe)
- cosmetics nicer code and identifiers (9b308bb6)
- methods decent solution for free methods (79879daf, closes #19)
- lib schema_markers() accessed map incorrectly (98f4bbab)
- makefile regenerate .api.deps less often (63997910)
- build
- compile no compiler warnings (bfc39229)
- make
- travis
- Scope Manual scope parameter ... (28878e06)
- template-engine removed gsl, added pyratemp (e06738a7)
- doc-links some links pointed to old doc name (a05426e7)
- name MethodBuilder -> CallBuilder (10dfeeb1)
- cargo
- traits
- delegate it now works in every which way (1423e462)
- nestedtypes recursion for nested types (0d9f6363)
- resource now with flattened activities (2531011f)
- dev typo (7758f99f)
- lib-name user lower-case library names,always (814c9c9f)
- deps fixed dependency to wrong target (51d05d6d)
- Makefile force python2.7 in virtualenv (876772cf)
- names improved library names (b8956103)
- result generic result type (da300e03)
- types
- docs
- downloads alt 'media' handling to allow dls (02d7a06f, closes #21)
- doit
- don't crash if json decode fails. (0823dec7, closes #33)
- simplify delegate calls (265b4482, closes #30)
- optimizations and simplification; seek (9d401f54, closes #17)
- optimized memory allocation and options (224af640)
- initial part writing (71c827b3)
- multi-part mime-type and add_parts() (fc589cb9)
- handle 'alt' param (3ea5e194, closes #20)
- more multipart infrastructure (b0a1f518)
- improve body infrastructure (7cfb5afd)
- simplify URL_ENCODE handling (d2bf24ca)
- uri-template handling complete (1fee21de)
- uri-template generation works (54eb784a)
- repeated types in examples (64219e7e)
- repeatable parameters working (d758f410)
- partial implementation of url expr (35437070)
- set upload media type (33e85ddd)
- pre-request delegate call. (60adacf8)
- json decode and delegation (eef14713)
- authentication with and without scopes (2c79f6e3)
- attempt to send json-encoded request (9a58b0ba)
- query string setup (aabed385)
- schema
- deps update-json using discovery API (c0a24760)
- hub
- all-apis build all apis, were possible (2d036b66)
- common
- mako-render multiple input-outputs per call (087a0762)
- params additional fields and Result type (7c6f7d5e)
- dlg make actual
store_upload_url()
call (ffef7dda) - dev spike to see how delegate can be work (432faa27)
- name oauth22 -> oauth2_v2 (664d8225)
- visuals defs are now more readable (e96260ba)
- builder Partial MethodBuilder impl (01db8905)
- videos first primitive types and api (aaf432fb)
- gsl my first gsl program ... (0812068c)
- mbuild
- use of oauth2::Scheme (d26cf774)
- check upload size against max-size (57e0f065, closes #37)
- improved delegate calls (9ea85273)
- resumable-upload infrastructure (307d3f48)
- scope as property ... (e1b7a63f)
- media-upload doit() methods (5b2d8a77)
param()
to set any parameter (de0c7a4a)- infrastructure for method builders (942cbe18)
- setters properties and setters for mbuilder (582aca32)
- architecture figure out ownership model (67b052c5)
- youtube first generated result ... (d8edf1dc)
- type-params ground work for upload media (020300af)
- service added authenticator arg (f13c2960)
- builders request type handling part 1 (48d40d45)
- doc def for DO NOT EDIT comments (f1d95822)
- xmlconv add conversion tool and youtube api (eebcf549)
- travis docs and tests of youtube3 on travis (dd0772f1)
- lib
- mako
- now sets up entire project structure (475163ec)
- LICENSE + README.md (3670e4f6)
- mako-render generates output dirs (4e5f2c05)
- can now use custom libraries in pycode (22986011)
- cargo.toml template (be938255)
- generic source/output mappings (2d77857a)
- api deps generation works (30041e9c)
- mako autosetup and improved executable (20410adb)
- make
- traits add marker traits to schema types (c1eeee05)
- delegate
- fields put all fields onto a list (6c416609)
- drive added gogole drive API (66f3ae14)
- schemas now we pre-generate nested schemas (ac8c4153)
- lookup LUTs and context to make better docs (ba98bee6)
- json
- gh-pages new github-pages target (f27fda8f)
- layout improved module layout (24a727fd)
- license improved license information (fc15a703)
- cargo
- rbuild build insert/update ... methods (693b5c8f)
- cmn
- methods intermed. support for 'methods' (60d953a3)
- pyratemp successfully generating make deps (c0bfeabb)