Skip to main content

Changelog

1.3.0 (2026-11-10)​

  • Add PG mode cloud storage on app.storage
    • fromBucket(bucketId) uploads, replaces, downloads, lists, removes, copies, and moves objects, and creates signed or public URLs
    • Bucket management: listBuckets, getBucket, createBucket, updateBucket, deleteBucket
    • Classic from() is unchanged
  • Send API HEAD, OPTIONS, and PATCH as those methods
  • Classic upload signs and sends cache-control and custom metadata, and sends x-cos-forbid-overwrite when upsert is false
  • Classic getDownloadUrls / createSignedUrl send expiresIn as maxAge
  • PG mode upload sends file bytes as a binary body

1.2.3 (2026-10-22)​

  • Align auth calls with the v1 gateway: the OAuth authorize URL is a GET with redirect_uri; sign-out revokes the current access token; password changes use PATCH /auth/v1/user/password; sign-up sends nickname and avatarUrl as name and picture
  • linkIdentity returns the authorization URL in data.url
  • Parse a JSON string error body as JSON
  • Read v1 profile and identity payloads (user_id, picture, identity list in data). An empty identity response is an empty list
  • Add debug to CloudBase.init. When true, the SDK prints the request body, response headers, and response body

1.2.2 (2026-08-31)​

  • Fix signInWithIdToken sending provider_token instead of provider_id / provider_id_token, which the with-provider sign-in API expects

1.2.1 (2026-08-18)​

  • Fix HTTP interceptor attaching expired AccessToken to unauthenticated auth endpoints (refresh /auth/v1/token and anonymous sign-in /auth/v1/signin/anonymously), which caused the gateway to reject token refresh and re-login
  • Skip Authorization on a maintained list of public auth APIs (sign-in/sign-up, OTP, OAuth token exchange, captcha, revoke, etc.); protected endpoints such as /auth/v1/user/me still send the session token

1.2.0 (2026-07-24)​

  • Add NoSQL Database module (CloudBaseDatabase) with JS-SDK-style chainable API
    • db.collection().doc() document references
    • Chainable query: where / orderBy / limit / skip / field
    • CRUD: add (single & batch), get, count, update, set, remove
    • Query/update commands via db.command: comparison (eq/gt/gte/lt/lte/neq/in/nin), logic (and/or/not/nor), update operators (set/inc/mul/remove/push/pull/pop/shift/unshift/addToSet/rename/max/min)
    • Aggregation pipeline via collection().aggregate()...end()
    • Transactions via db.startTransaction() with commit / rollback
    • Geo types (GeoPoint/GeoLineString/GeoPolygon/GeoMultiPoint/GeoMultiLineString/GeoMultiPolygon) and geo queries
    • RegExp, serverDate helpers and automatic EJSON encode/decode (e.g. DateTime)
    • MongoDB-style commands via runCommands

1.1.0 (2026-07-01)​

  • Add Cloud Storage module (CloudBaseStorage)
    • Upload files to cloud storage with upload info and direct COS upload
    • Get signed download URLs (single and batch)
    • Delete files (batch)
    • Copy files (single and batch)
    • Move/rename files
    • Get upload info for client-side direct upload

1.0.9 (2026-06-30)​

  • Add X-SDK-Version header (@cloudbase/flutter-sdk/<version>) to all HTTP requests for platform identification
  • Add version management tooling (tool/update_version.dart) to auto-sync version from pubspec.yaml
  • Add CONTRIBUTING.md with release workflow documentation
  • Improve HTTP client to support List request body (for storage APIs)

1.0.8 (2026-05-06)​

  • Fix UserProfile.toUser() incorrectly falling back to username (phone number) when email is null, which caused reauthentication to send an invalid email format to the server
  • Fix reauthenticate() to properly distinguish between empty string and valid email, ensuring phone-only users use phone number for verification instead of invalid email

1.0.7 (2026-03-11)​

  • Add shouldCreateUser option to signInWithOtp for auto-registration when user does not exist
  • Refactor internal signup logic into reusable _signUpAndSaveSession method

1.0.6 (2026-03-05)​

  • Add MySQL module (CloudBaseMySql)
    • query, insert, update, delete, and count
  • Add example code for MySQL modules
  • Add unit tests for MySQL modules

1.0.5 (2026-03-05)​

  • Add Data Model module (CloudBaseDataModel)
    • CRUD operations with filter, select, and orderBy
    • Batch create/update/delete operations
    • Upsert support
    • Raw MySQL command execution
    • DataSource query APIs (aggregate list, detail, schema, table name)
  • Refactor HTTP client with token auto-refresh and improved documentation
  • Add example code for Data Model
  • Add unit tests for Data Model

1.0.4 (2026-01-16)​

  • Add example code

1.0.3 (2026-01-16)​

  • Update README documentation

1.0.2 (2026-01-15)​

  • Fix HTTP client not handling empty token string correctly

1.0.1 (2026-01-15)​

  • Improve README documentation with complete authentication API usage

1.0.0 (2026-01-15)​

  • Initial release
  • Authentication module (CloudBaseAuth)
    • Email/phone registration and sign-in
    • Password sign-in
    • OTP verification sign-in
    • OAuth third-party sign-in
    • IdToken sign-in
    • Custom ticket sign-in
    • Anonymous sign-in
    • Session management (get, refresh, set)
    • User information management
    • Identity provider binding/unbinding
    • Password reset
  • Cloud Functions module (CloudBaseFunctions)
    • Basic cloud function invocation
    • Function-based cloud run invocation
  • Cloud Run module (CloudBaseCloudRun)
    • HTTP methods support (GET/POST/PUT/DELETE)
    • Custom request headers
  • API Gateway module (CloudBaseApis)
    • Chained calls
    • Multiple HTTP methods support
  • Captcha module (CloudBaseCaptcha)
    • Image captcha
    • Custom captcha handler
    • Built-in captcha dialog