NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
A Flutter extension to the at_client library which adds support for mobile, desktop and IoT devices.
Last release today
07 Oct 2026
Release timing varies
gaps range from 8 days to 2 months
Nearly every release is documented
notes for 11 of 11 stable releases
Nothing withdrawn
no release was ever pulled
8 months old
15 releases · first in 2026
One column per month.
fix: an atSign that an app built on at_client_mobile saved to the keychain signs in again, instead of failing with "PKAM mode requires defaultEncrypti
build: requires at_client ^3.15.0-rc5 and at_auth ^4.0.0-rc4, for their fixes to upgrading from at_client 3.14.0.
at_client ^3.15.0-rc5 and at_auth ^4.0.0-rc4, for their
fixes to upgrading from at_client 3.14.0.AtSignServerCheck, AtSignServerState, checkAtSignServer and
AtSignLogger come through this package, so an app no longer needs at_lookup
or at_utils for them.ApkamActivationDialog fails at once for an expired or unknown
enrollment, rather than after its whole retry budget.build: requires at_client ^3.15.0-rc2 and at_auth ^4.0.0-rc3, for their post-quantum sharing and keyfile lock fixes.
at_client ^3.15.0-rc2 and at_auth ^4.0.0-rc3, for their
post-quantum sharing and keyfile lock fixes.BREAKING: AuthService and FlutterEnrollmentService are removed. Use PkamDialog, CramDialog and ApkamActivationDialog, or at_client's Atsign.open, acti
AuthService and FlutterEnrollmentService are removed. Use
PkamDialog, CramDialog and ApkamActivationDialog, or at_client's
Atsign.open, activate and enroll for an app with its own UI; list,
approve, deny and revoke are client.enrollments.AtClientPreference, an optional AtClientStorage and lookUps: in place
of at_auth's request objects, and return the AtClient they open (null on
failure or cancel); onAuthenticationComplete and onOnboardingComplete
receive it. ApkamActivationDialog opens the client itself once approved,
resumes a pending request for the same app and device, and its atKeysIo
is now keys.AtSignSelectionDialog.show returns an AtsignSelection,
RegistrarCramDialog.show takes the atSign, and EnrollmentRequestList
works over client.enrollments and renders at_client's Enrollment.EnrollmentData and
KeychainStorage's enrollment-data methods are removed, since a pending
enrollment lives in the keys store, and saveSpp takes a Passcode in
place of at_auth's Otp.RegistrarService is re-exported, and
the keys-store types come through at_client.: as the name delimiter. Keys under the old _
name are copied across, and the _ copy is kept until 3.0.0.flush and update work. write refuses an atSign that already has
an entry (use flush), and read throws AtKeysSourceAbsentException for
one it doesn't hold.example/, example/todos and example/dockerstats
use these flows.at_client ^3.15.0-rc1, at_auth ^4.0.0-rc2 and
at_lookup ^3.7.0-rc2.feat: AuthService.onboard / authenticate accept an optional timeout that bounds the whole onboarding/auth attempt (sets RetryOptions.overallTimeout; o
AuthService.onboard / authenticate accept an optional timeout that
bounds the whole onboarding/auth attempt (sets RetryOptions.overallTimeout;
otherwise the process-wide AtNetworkTimeouts default applies). Requires
at_auth ^3.2.0 (#1909).FlutterEnrollmentService.enroll no longer leaks the AtLookupImpl
connection when the enrollment submit fails — it now closes in a finally.CramDialog and PkamDialog no longer hang forever when
onboarding/authentication throws (e.g. the atServer is unreachable). Both now
handle the error path — surface a user-friendly message and pop the dialog —
so .show() always completes. On an AtTimeoutException the onboarding
dialog explains the atSign may still be provisioning rather than reporting a
hard failure; ApkamActivationDialog likewise catches enrollment errors and
distinguishes a timeout from a failure instead of leaking an unhandled
exception (#1905, #1909).CramDialog / PkamDialog now start onboarding/authentication once in
initState instead of from build, so a widget rebuild during the wait can
no longer spawn a second attempt; and their default loading view surfaces live
progressStream messages instead of static text, so a multi-minute
provisioning wait shows real progress.fix: force uppercase on OTP/CRAM input fields so lowercase or pasted alphanumeric codes no longer fail validation
fix: prevent blank dialog box flashing during login
refactor: updated example app deprecated methods.
feat: models NamespacePermission, Otp, ServerEnrollmentRequest, AuthorisationException
fix(ai): automatically prepend @ symbol into text box
- deps: at_auth 3.0.1
feat: ApkamActivationDialog introduced for apkam onboarding
ApkamActivationDialog introduced for apkam onboardingAtEnrollment- pin file_picker to 10.3.9 (BC)
chore: removed unused dependencies
Initial version, consolidating in functionality from legacy packages
KeychainAtKeysIo defines authentication via keychain for at_authYour coding agent can read these notes before it upgrades. Set up the MCP server →