NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #5797 most downloaded on pub.dev
Provider-agnostic WebSocket diagnostics for ISpect - connection lifecycle, sent and received frame logging, session grouping, and redaction for any WebSocket client.
Last release 3 days ago
05 Oct 2026
Ships on a steady schedule
a new release about every 1 weeks
Most releases are documented
notes for 32 of 42 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
196 releases · first in 2025
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per month.
…panelBuilder take the new panel types. See docs/DEPRECATIONS.md for the symbol map.
draggable_panel 4.1.0; panelItems, panelButtons, ISpectTheme.panelTheme, and panelBuilder take the new panel types. See docs/DEPRECATIONS.md for the symbol map.ispect requires Dart 3.8 and Flutter 3.35; ispect_layout requires Dart 3.8 and Flutter 3.32.JsonScreen is no longer a const constructor.ISpectLogData subclasses by log key instead of TypeFilter.RedactionService export and header methods, or copyWith/configure on network, trace, BLoC, and Riverpod settings, must accept the new optional parameters.ISpect.run error callbacks still receive the originals.WsDiagnosticsSink: onSent and onReceived gained an optional messageId parameter, which pairs a frame with its reply and implementers must declare.error-data, and the Dio error record no longer duplicates the request blob at top level.DraggablePanelController keeps its own placement.toJson() snapshots stay readable after redaction; non-secret keys such as cache_key are no longer masked.DiagnosticCaptureMode.balanced is the default; choose strict when application toJson() and toString() must never run. The BLoC and Riverpod compact presets use strict capture.printRequestHeaders and printResponseHeaders default to true and are captured after redaction; use metadataOnly() to opt out.Uri values: A custom Uri whose accessors throw is omitted from the log instead of failing capture.decimalPlaces still overrides.ISpectRedaction.configure(...) controls masking across logging, adapters, observers, persistence, and exports, and custom DiagnosticResourceLimits apply everywhere.metadataOnly() and production() network presets avoid application-defined formatters.http and https URLs.ISpectLoggerOptions.captureMode, resourceLimits, and processingPolicy persist through ISpectSettingsState, and the Settings sheet offers one-tap Capture, Resource, and Processing profiles.maxHistoryItems trims the retained entries.pageTitle with a close control, and every action tile shows a localized caption.Padding, ConstrainedBox, SizedBox, Align, or Center shows their insets, constraints, and alignment, and ShapeDecoration surfaces its color, shape, radius, shadows, and gradient.0.25 no longer shows as 0.3.ClipRSuperellipse and RTL ClipRRect radii, Image.memory labels, and blur, matrix, and composed image filters now match debug builds.BackdropFilter built with filterConfig no longer breaks the panel, and a disabled BackdropFilter is labeled as such.[base64 ~NB] placeholder.AuthCubit or counterProvider, and drops the duplicated [bloc] prefix.Select All and Deselect All take effect, custom log types are no longer suppressed, and disabling a type removes its entries from the viewer, chips, and counters immediately.Relative time toggle applies to mobile log cards and grouped HTTP rows.http-request, http-response, or http-error in the filter sheet keeps HTTP logs grouped, and a transaction card stays whole when only one of its entries matches the active filter or search.ispectify_db defaults for attachStackOnError and sampleRate, and removed the never-emitted db-slow-query entry.RedactionService.redactTarget, redactWithStats, redactHeadersWithStats, ISpectLogData.header, and the static redact(...) helpers on BLoC and Riverpod data classes; see docs/DEPRECATIONS.md.ispect_layout is also checked on its 3.32.6 floor, and the latest stable channel is an advisory signal.ISPECT_ENABLED, and release AOT builds confirm ISpect code is stripped when the flag is omitted.llms.txt, and the web viewer lockfile with the Dart release tooling.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
JSON Lines export: Logs containing client-specific objects in nested diagnostic metadata are now exported without losing the original log fields.
Redaction coverage: Trace and database error strings, URL fragments, and numeric JSON fields are now redacted, and the default sensitive-key set cover
session, passphrase, credential(s), and pincode.Deprecation schedule: Compatibility APIs retained in 6.x now have a consistent 7.0.0 removal target and migration inventory.
7.0.0 removal target and migration inventory.ispectify_riverpod and the web logs viewer now run analyzer and test coverage checks in CI.High-volume profiling: The benchmark now exercises the real ISpect logger and log viewer, with isolated filters-off/on frame summaries and recorded di
JSON log sharing: Sharing all logs no longer fails when diagnostic metadata contains values such as Duration, Uri, enums, or client-specific objects.
Duration, Uri, enums, or client-specific objects.Published benchmark results: CI-generated AOT hot-path and Android release-footprint metrics are now linked from the performance guide; physical-devic
ispectify logger-only path.ispect showcase now has separate network, WebSocket, database, BLoC, Riverpod, and routing targets; BLoC and Riverpod also include standalone pure-Dart examples.ISpectDbConfig directly to traced calls, matching the public API.URL fragment redaction: sensitive values in a URL fragment - such as the OAuth #access_token=… redirect - are now masked in logs, error messages, and
#access_token=… redirect - are now masked in logs, error messages, and exports.Bearer/Basic/Token values are now stripped from text, Markdown, CSV, and JSON Lines exports even when no redaction keys are supplied.value redacted by default: the value captured by trace and its async/sync/stream variants is now redacted alongside meta and target; opt out with ISpectTraceConfig(redact: false).copyWith keeps identity: ISpectLogData.copyWith/copy preserve the original id so copies compare equal and de-duplicate correctly; pass id: for a new one.wsSend/wsReceive always use ws-sent/ws-received - and error frames ws-error - regardless of the operation name.RollingFileLogHistory persists redacted daily JSON Lines with bounded retention, archive support, and legacy 4.x daily-file compatibility.meta on graphqlTrace and sse: both now accept an optional meta map, matching the other trace helpers.projectResult/projectEvent is logged as a warning across all trace variants instead of being silently dropped in streams._-prefixed keys nested inside list elements are now stripped from exports.Kurdish localization: ISpect's UI is now translated into Sorani (ckb) and Kurmanji (ku); both resolve automatically through ISpectLocalization.support
ckb) and Kurmanji (ku); both resolve automatically through ISpectLocalization.supportedLocales. Apps that display ISpect in these locales own their Material/Cupertino delegates, as with every other locale.Nothing published for this version
`dart:developer` console output: Opt into DevTools-native structured logging with ISpectBaseLogger(output: developerLogOutput) - each entry becomes on
dart:developer console output: Opt into DevTools-native structured logging with ISpectBaseLogger(output: developerLogOutput) - each entry becomes one log() call (boxed output stays intact) with the log level mapped through. The default print/console output is unchanged (#85).Pretty/boxed console logs: Opt into framed, visually-separated console output via ConsoleSettings(formatter: const BoxedLogEntryFormatter()), or suppl
ConsoleSettings(formatter: const BoxedLogEntryFormatter()), or supply any custom ILogEntryFormatter. The compact default is unchanged (#85).WebAssembly (WASM) support: ispect is WASM-ready and supports all six platforms (Android, iOS, web, Windows, macOS, Linux). flutter build web --wasm n
ispect is WASM-ready and supports all six platforms (Android, iOS, web, Windows, macOS, Linux). flutter build web --wasm now succeeds; log export uses the browser download on web and WASM, and the native filesystem on other platforms.Redaction hardened across capture and export: Sensitive keys are matched more broadly (camelCase and whitespace-trimmed forms), the default sensitive-
ISpectRedaction.enabled = false (or ISpect.run(redactionEnabled: false)) disables masking across network, database, BLoC/Riverpod, navigation, and all export paths. On by default; disabling is a deliberate opt-out.ISPECT_ENABLED omitted), observers stay silent and the global logger retains no history and writes nothing to the console, so diagnostics don't accumulate in release builds.Nothing published for this version
The old ISpectBlocSettings.verbose now matches the default and is deprecated.
ISpectTheme.themeMode, or set ISpectTheme.useHostColors: true to inherit the host ColorScheme as before.ispectify_riverpod: New package - ISpectRiverpodObserver logs provider lifecycle under riverpod-* keys (closes #80).ispectify_ws: WebSocket diagnostics now log any client (ws, socket_io_client, and web_socket_channel adapters ship in the example), plus a new ws-state log type for connection lifecycle.ISpect.registerSender(...); the result lands back in the network logs. Redacted values are never resent.RichText spans.ISpectPerformanceOverlay rebuilt: Cross-platform (web + desktop) overlay with UI/raster/total bars, FPS, avg/p99 and jank stats, plus an opt-in enableJankLogging callback for severe frames.ISpectOptions.panelBuilder.ISpectOptions.metadataProvider embeds app/device details into exported and shared logs via the typed ISpectMetadata (host-supplied and not redacted - keep secrets and PII out).bloc-event, bloc-transition, bloc-state, bloc-create, bloc-close, bloc-done, bloc-error replace state-change / state-error, and meta keys are now kebab-case (BlocJsonKeys.*). Update any filters keyed on the old names.int → int becomes 0 → 1). Use ISpectRiverpodSettings.compact, or set BLoC's printEventFullData / printStateFullData to false, when state may carry PII. The old ISpectBlocSettings.verbose now matches the default and is deprecated.ISpect.run uncaught-error hook: Typed onUncaughtError(Object error, StackTrace? stack) replaces onUncaughtErrors(List<dynamic>).ispectify_ws drops the ws dependency: Copy the adapter from the package example and add ws to your app; ISpectWSInterceptorSettings and the ws-sent / ws-received / ws-error keys are unchanged.json_serializable models) now render as their JSON shape instead of Instance of ... in ispectify_dio and ispectify_ws logs, with redaction reaching their nested fields.ispectify_dio: Responses no longer stay stuck on "Pending" when a downstream interceptor rewrites the request via copyWith.ISpect.run's onInit / onInitialized run inside the guarded zone so binding-setup errors are no longer dropped.LogDetails, RedactionResult, CurlUtils, JsonTruncator, NetworkPayloadSanitizer, and others) are now final / abstract final. RedactionService, ISpectErrorHandler, NetworkTransaction, and the two log formatters stay open for subclassing.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →