Skip to content

Releases: sunsided/waka-rs

0.2.1

05 Jun 15:57
43d043c

Choose a tag to compare

Changed

  • Upgraded query-string-builder to 0.7 and adopted its zero-allocation
    borrowing builder; query strings now render without per-pair string
    allocations. No public API changes.
  • MSRV raised to 1.87, following the upgraded dependency.

Full Changelog: v0.2.0...v0.2.1

0.2.0

05 Jun 12:19
b8af7f4

Choose a tag to compare

Added

  • Full coverage of the documented WakaTime API. New read endpoints:
    stats, projects, durations, heartbeats, user, commits (list),
    goals, goal, insights, leaders, machine_names, user_agents,
    status_bar_today, custom_rules, custom_rules_progress, data_dumps,
    external_durations, editors, program_languages, meta,
    stats_aggregated, private_leaderboards, private_leaderboard_leaders,
    and the organization cluster (orgs, org_dashboards,
    org_dashboard_members, org_dashboard_durations,
    org_dashboard_summaries, org_dashboard_member_durations,
    org_dashboard_member_summaries, org_custom_rules).
  • Write endpoints: send_heartbeat, send_heartbeats, delete_heartbeats,
    send_external_duration, send_external_durations,
    delete_external_durations, set_custom_rules, delete_custom_rule,
    delete_custom_rules_progress, create_data_dump. These follow the
    developer docs and are tested against mocks only.
  • OAuth 2.0 bearer token authentication via
    WakaTimeClientBuilder::new_with_bearer_token.
  • WakaTimeClientBuilder::with_timeout for per-request timeouts and
    with_base_url for pointing the client at a different host.
  • Range and InsightType enums; the stats, insights, and
    stats_aggregated methods accept them or plain strings.
  • projects_all and commits_all helpers that fetch every page.
  • Fine-grained error variants: PaymentRequired, Forbidden, NotFound,
    RateLimited (with the parsed Retry-After header), and Timeout.
    Error displays include the API's error messages.
  • Mocked integration test suite covering every endpoint and error path.

Fixed

  • User-provided URL path parameters (project names, commit hashes, org and
    dashboard identifiers, …) are now percent-encoded, so values containing
    /, ?, #, spaces, or other special characters produce correct
    request URLs.

Changed

  • Breaking: upgraded reqwest to 0.13, whose types appear in the public
    error enums; the default TLS backend is now rustls.
  • Breaking: ApiError and BuilderError are #[non_exhaustive];
    matches need a wildcard arm.
  • Breaking: ErrorsResponse gained an error field for the API's
    singular error body form.
  • The commits list deserializes the live API's commits key as well as
    the documented data key.
  • Breaking: standardized numeric model types: total_seconds,
    percent, and fractional seconds fields are now f64 (previously
    f32 in the summaries and all-time models), and the minutes/seconds
    clock fields are now u32 (previously u8).
  • All public items now carry documentation; the crate denies
    missing_docs.
  • Upgraded to Rust edition 2024; MSRV is 1.86.

0.1.0

07 Jul 21:20
7acb6f3

Choose a tag to compare

To use waka/0.1.0 in your project, add:

[dependencies]
waka = "0.1.0"