NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3835 most downloaded on pub.dev
This is a plugin that lets you get the basic information from your application's client. It's easy to use and supports different platforms (Android, iOS, and Web).
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 1.2 years
Nearly every release is documented
notes for 20 of 20 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
21 releases · first in 2021
This update is not a breaking change, but if your project:
plugins {} syntax (removed apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle").flutter_bootstrap.js instead of flutter.js.build.gradle to Kotlin DSL (build.gradle.kts) for better maintainability.apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" to prevent Flutter Plugin Imperative Apply errors.ClientInformationPlugin by removing registerWith(Registrar), aligning with the new Flutter Plugin API.>=3.0.5 → >=3.7.0>=3.18.01.7.10 → 1.8.222.0.0 → 5.0.01.0.2 → 1.0.8This update is not a breaking change, but if your project:
minSdkVersion < 21 on Android, update it to 21.minSdkVersion < 12.0 on iOS, update your Podfile (platform :ios, '12.0').build.gradle, you may consider migrating to build.gradle.kts, but it's optional.Recommended commands to ensure a clean update:
flutter clean
flutter pub get
flutter build apk # or flutter build ios
One column per quarter.
chore: update documents
chore: update documents
doc: 2.1.3 documentation
doc: 2.1.3 documentation
doc: 2.1.2 documentation
chore: update lock file.
chore: update lock file.
doc: 2.1.0 documentation
doc: 2.1.0 documentation
feature: Adding decorator method to decorate the information.
var information = await ClientInformation.fetch(
// you can pass decorators to decoration the value before it return.
decorators: ClientInformationDecorators(
deviceId: (oriInfo, value) =>
'prefix-$value-${oriInfo.applicationName}',
),
);
// or you can use extension methods like this:
var information = await ClientInformation.fetch();
var decoratedInfo = information.decoration(deviceId: (oriInfo, value) => '$value-some-suffix-string-here');
fix: update Android gradle setting. (#10, Thanks @pnghai)
doc: Update the example project & README.md
from (<3.0.0) to (<4.0.0)
update README.md update CHANGELOG.md upgrade uuid to 3.0.6 update pubspec.lock
fix: Web Exception caused by non_bool_negation_expression(#6, #7) (Thanks @MarcVanDaele90)
Upgrade uuid 3.0.3 -> 3.0.6
chore: update plugin's version
- fix: fix initialization on web
- chore: code formatter
- Update document
fix: Web exception when get deviceID
- null-safety support
Migrate package to null-safety, increase minimum SDK version to 2.12, replace dependency 'ulid' -> 'uuid'.
Remove package http dependency.
http dependency.pedantic.Fix: static analysis (pana) using stable version
pana) using stable version- Update document.
- Fix some document error.
New attribute _deviceName_ : Show the device name like "iPhone", "iPad", "Pixel"...
New attribute deviceName : Show the device name like "iPhone", "iPad", "Pixel"...
New attribute applicationId : Show you the application ID (*Not support for web project)
Support test mode.
// ...
setUp(() async {
ClientInformation.mockOn(
deviceId: 'mock_device_id', osName: 'MyCustomOS');
});
tearDown(() {
ClientInformation.mockOff();
});
test('Custom `deviceId` will be "mock_device_id"', () async {
ClientInformation info = await ClientInformation.fetch();
expect(info.deviceId, 'mock_device_id');
});
// ...
Update document: README.md
Remove "author" section from pubspec.yaml
Your coding agent can read these notes before it upgrades. Set up the MCP server →