diff --git a/CHANGELOG.md b/CHANGELOG.md index e302dab..e692f27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,17 @@ All notable changes to the Rust Apify API client are documented here. The format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project adheres to [Semantic Versioning](https://semver.org/). +## [0.10.0] - 2026-09-04 + +### Added +- `Task::description`, matching the spec's newly-documented task `description` field (also + present on the reference JS client's `Task`). Previously only accessible untyped via + `Task::extra`. + +### Changed +- Bumped `API_SPEC_VERSION` to `v2-2026-09-02T154542Z`. +- Bumped crate version to `0.10.0`. + ## [0.9.1] - 2026-08-28 ### Changed diff --git a/Cargo.toml b/Cargo.toml index 455024e..1cc6e5d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "apify-client" -version = "0.9.1" +version = "0.10.0" authors = ["Apify Technologies "] description = "An official, but experimental, AI-generated and AI-maintained Rust client for the Apify API (https://apify.com)." license = "Apache-2.0" diff --git a/docs/tasks.md b/docs/tasks.md index ee3a80e..82a8b29 100644 --- a/docs/tasks.md +++ b/docs/tasks.md @@ -40,6 +40,7 @@ are preserved in `extra`. | `user_id` | `Option` | ID of the user who owns the task. | | `name` | `Option` | Technical name of the task, used in API paths. | | `title` | `Option` | Human-readable title shown in the UI. | +| `description` | `Option` | Human-readable description shown on the task's public landing page. Required (up to 400 characters), alongside `title` (3 to 63 characters), to publish the task. | | `created_at` | `Option>` | When the task was created. | | `modified_at` | `Option>` | When the task was last modified. | | `is_public` | `Option` | Whether the task is published on its public landing page. Derived from `public_config.published_at`; set it via `publish()`/`unpublish()` or `update()`. | diff --git a/src/models.rs b/src/models.rs index b12b7ba..519638a 100644 --- a/src/models.rs +++ b/src/models.rs @@ -165,6 +165,11 @@ pub struct Task { /// Human-readable title. #[serde(default)] pub title: Option, + /// Human-readable description shown on the task's public landing page. Required (up to 400 + /// characters), alongside `title` (3 to 63 characters), to [`publish`](crate::clients::task::TaskClient::publish) + /// the task. + #[serde(default)] + pub description: Option, /// When the task was created. #[serde(default)] pub created_at: Option>, diff --git a/src/version.rs b/src/version.rs index b484a69..33aef14 100644 --- a/src/version.rs +++ b/src/version.rs @@ -10,4 +10,4 @@ pub const CLIENT_VERSION: &str = env!("CARGO_PKG_VERSION"); /// and verified against. /// /// This corresponds to the `info.version` field of the Apify OpenAPI document. -pub const API_SPEC_VERSION: &str = "v2-2026-08-27T071624Z"; +pub const API_SPEC_VERSION: &str = "v2-2026-09-02T154542Z"; diff --git a/tests/task.rs b/tests/task.rs index 6ad2af7..75cfa6a 100644 --- a/tests/task.rs +++ b/tests/task.rs @@ -283,13 +283,17 @@ async fn task_crud_flow() { let input = task_client.get_input().await.expect("get input"); assert!(input.is_some()); - // Update (rename). + // Update (rename + set description). let renamed = common::unique_name("task-renamed"); let updated = task_client - .update(&json!({ "name": renamed })) + .update(&json!({ "name": renamed, "description": "Updated by task_crud_flow." })) .await .expect("update task"); assert_eq!(updated.name.as_deref(), Some(renamed.as_str())); + assert_eq!( + updated.description.as_deref(), + Some("Updated by task_crud_flow.") + ); // List its runs (likely empty, but the endpoint should respond). let runs = task_client