sixplace 1.0.2
sixplace: ^1.0.2 copied to clipboard
Cross-platform Flutter foundations for responsive layout, networking, feedback, themes, forms, storage, and Room-inspired SQLite persistence.
1.0.2 — 2026-10-28 #
- Changed
SPDeviceInfo.getRegistrationId()to select Android ANDROID_ID or iOS IDFV internally using existing dependencies. Mobile results replace previous installation UUIDs; the return type is nowFuture<String?>. Invalid/unavailable mobile identifiers return null with no UUID fallback. Existing mobile callers and server mappings require authenticated migration. - Retained installation UUID registration on other platforms, legacy
getDeviceId()and the snapshot's separate installation UUID; no new permissions, dependencies or additional stable-ID method. - Added mocked platform regression tests, simulated storage-clearing coverage, physical-device test instructions and an EBillZen migration recommendation that preserves OTP and server authorization.
- Updated README installation guidance and the embedded AI prompt for the single registration method and Android app-storage clearing behavior.
1.0.1 — 2026-10-24 #
-
Added one developer-facing
SPDeviceInfo.getRegistrationId()for all Flutter platforms, including web, backed by persisted app/browser-installation UUID. The optionaldeviceIdremains OS-specific metadata; snapshots exposeinstallationIdseparately. -
Updated AI prompt, README, and device tests; storage failure does not silently generate a disposable registration ID.
-
Added permission-free
SPDeviceInfodevice snapshot/helper with Android ANDROID_ID, iOS identifierForVendor, OS-provided model/name/version/metadata, battery status and local IPv4 addresses. -
Public
device_info.dartentry point and umbrella export; unavailable values return null and identifier scope is documented.
1.0.0 #
First stable release #
- Promoted Sixplace to its first stable public release with all six foundations available: responsive layout, networking, feedback, theming, forms, and storage abstractions.
- Kept the public foundations independently importable so applications can adopt Sixplace incrementally without changing their state-management, routing, persistence, or domain architecture.
- Added a collapsible
AI promptsection toREADME.mdthat gives AI coding assistants a structured Sixplace 1.0.0 architecture and migration context for fresh projects and existing Flutter applications. - Added
SPRoom, a Room-inspired structured SQLite persistence layer under the storage foundation, powered by the sqflite ecosystem. - Added declarative entity schemas, typed entity adapters, generic/subclassable DAOs, single/bulk CRUD/upsert/query APIs, explicit migrations, Room-style transaction aliases, transaction-aware DAO execution, schema validation/identity checks, reactive invalidation streams, in-memory builders, and sqflite-compatible factory injection.
- Added an SPRoom example and focused database tests covering CRUD, transactions, invalidation, migration and schema preservation.
- Isolated SPRoom transaction contexts between database instances and validated
WITHOUT ROWIDinteger primary keys, with rollback and missing-migration preservation tests. - Corrected theme-extension preservation and form test setup, and kept the main example compact with an offline HTTP transport.
- Added acknowledgements thanking AndroidX Room (Kotlin/Android Room) for the Database/Entity/DAO/Migration/Transaction architecture inspiration and sqflite for the underlying SQLite ecosystem.
Package quality and compatibility #
- Targets Dart
>=3.9.0 <4.0.0and Flutter>=3.35.0. - Keeps Sixplace core APIs compatible across Android, iOS, Linux, macOS, web, and Windows; SPRoom uses sqflite automatically on Android/iOS/macOS and accepts an injected sqflite-compatible factory on Linux/Windows/web.
- Keeps runtime dependencies focused on Flutter,
http,http_parser,sqflite, andsqflite_common. - Retains focused examples, tests, API documentation, publication checks, and
panaguidance for pub.dev quality validation.
0.0.5 #
Added #
- Added the
SPFeedbackfoundation with cross-platform toast-like/transient messages, alert dialogs, route-specific blocking loader handles and an embeddable loader. - Added the
SPThemefoundation with light/dark theme factories, semantic color tokens, spacing tokens, radius tokens, typography tokens andBuildContextaccessors. - Added the
SPFormsfoundation with validators, guarded form submission, text, dropdown and checkbox fields, and a submission-aware button. - Added the
SPStoragefoundation with preference and secure-store interfaces, in-memory implementations for tests/session data, and a bounded TTL/LRU cache. - Added focused tests for feedback, theme, forms and storage foundations.
- Added standalone public entry points:
feedback.dart,theme.dart,forms.dart, andstorage.dart.
Changed #
sixplace.dartnow exports all six foundations.- Updated the package documentation and foundation matrix so all six foundations are documented as available.
- Updated the network configuration documentation to clarify that Sixplace does not retry writes, while an injected custom transport may implement its own replay behavior.
- Updated
flutter_lintsto^6.0.0and the test constraint to remain compatible with supported and latest stable Dart/Flutter toolchains. - Added pub.dev topics and corrected the changelog history so the published
0.0.4release is represented by its own heading.
Platform support #
- The new foundations use Flutter/Dart APIs only and do not import
dart:ioordart:html, preserving Android, iOS, Linux, macOS, web and Windows support. SPStorageintentionally uses injectable persistence abstractions instead of imposing a platform plugin, so applications can choose the storage provider appropriate for their deployment.
0.0.4 #
Added #
- Added the
SPNetworkfoundation with shared initialization and independent, injectable clients. Network initialization is separate fromSixPlaceScope. - Added GET, POST, PUT, PATCH, DELETE and HEAD helpers, typed model decoding, JSON/text/byte responses and byte-backed multipart uploads for native and web.
- Added runtime-validated backend configuration, query merging, header overrides, dynamic bearer-token providers and an app-owned unauthorized hook.
- Added typed
SPNetworkExceptionfailures, response status/header access, empty-response handling and preserved backend validation details. - Added bounded GET/HEAD retries with Retry-After support, full-response per-attempt deadlines, cancellation, client shutdown and a response size limit.
- Added credential-safe relative endpoint resolution, disabled automatic redirects, metadata-only opt-in logs and once-per-session 401 callbacks.
- Added network tests and a runnable, offline network demo entry point.
- Added
isDeviceOnline()for one-attempt, unauthenticated backend reachability checks.
Dependencies and compatibility #
- Added
httpandhttp_parserruntime dependencies; application code uses Sixplace's API, while these packages provide transport and HTTP parsing. - Added
testas a development dependency for pure-Dart networking tests. - Existing layout and numeric-sizing source behavior is unchanged. The earlier capped-scaling proposal is not implemented by this network update.
- No GetX, storage, navigation, toast, connectivity plugin or token-refresh implementation is imposed on consuming applications.
0.0.3 #
Added #
- Added design-scaled numeric sizing helpers through
.w,.h,.sp,.rem, and.em(context). - Added shared Sixplace initialization with
SixPlace.init(context, ...)andSixPlaceScopefor design-size and root-font configuration. - Added support for context-free numeric sizing and typography metrics that
respond to viewport resize and
TextScalerupdates. - Added
SixPlaceMetricsfor validation, design scaling, and root-relative typography calculations. - Added numeric sizing and typography examples to the sample app.
- Added focused tests for initialization, design scaling, root-relative sizing,
and parent-relative
emresolution.
Changed #
- The root package now exposes both the original responsive layout API and the numeric sizing/typography helpers.
- User-facing documentation clarifies the distinction between breakpoint-based layout design and design-draft scaling.
0.0.2 #
Added #
- Added
SPResponsivefor centralized viewport-responsive information. - Added the
context.spextension for convenient access to:- Current viewport width.
- Current viewport height.
- Active breakpoint.
- Mobile detection.
- Tablet detection.
- Desktop detection.
- Large-desktop detection.
- Minimum-breakpoint checks.
- Below-breakpoint checks.
- Added
SPResponsiveValue.resolveFrom(context)to resolve responsive values without manually readingMediaQuery. - Added
SPResponsiveSizedBox. - Added automatic responsive width resolution.
- Added automatic responsive height resolution.
- Added nullable responsive size support.
- Added responsive container padding through
SPContainer.responsivePadding. - Added responsive row gaps through
SPRow.responsiveGap. - Added tests for:
- Viewport classifications.
- Breakpoint helper methods.
- Custom breakpoint resolution.
- Nullable responsive values.
context.sp.resolveFrom(context).- Responsive width and height.
- Responsive container padding.
- Responsive row gaps.
- Static axis-gap precedence.
Improved #
- Reduced application-level
MediaQueryboilerplate. - Improved support for responsive charts, dashboards, tables, and other size-sensitive widgets.
- Clarified the distinction between viewport-responsive and parent-width-responsive behavior.
- Improved API documentation and real-world examples.
- Expanded documentation for:
- Breakpoints.
- Responsive values.
- Responsive sizing.
- Responsive spacing.
- Column offsets.
- Visual ordering.
- Visibility.
- Application shells.
- Custom breakpoints.
- Performance.
- Migration from
0.0.1.
Compatibility #
- This release is backward-compatible with
0.0.1. - Existing
SPRow,SPCol,SPContainer,SPResponsiveValue,SPPadding,SPMargin,SPVisibility,SPAppBar, andSPScaffoldusage remains supported. - Existing static
SPRow.gap,horizontalGap, andverticalGapbehavior remains supported. - Existing static
SPContainer.paddingbehavior remains supported. - No migration is required for existing applications.
0.0.1 #
Added #
- Initial release of Sixplace.
- Added the mobile-first responsive layout foundation.
- Added Bootstrap-inspired 12-column grid behavior.
- Added six default responsive breakpoints:
xssmmdlgxlxxl
- Added customizable breakpoint definitions through
SPBreakpoints. - Added responsive value inheritance through
SPResponsiveValue<T>. - Added responsive column specifications through
SPColumnSpec. - Added
SPRow. - Added
SPCol. - Added responsive column spans.
- Added responsive column offsets.
- Added responsive visual ordering.
- Added fixed and fluid
SPContainerlayouts. - Added configurable row gutters.
- Added
SPPadding. - Added
SPMargin. - Added
SPVisibility. - Added the platform-adaptive
SPAppBar. - Added the responsive
SPScaffold. - Added permanent desktop drawer support.
- Added permanent end-drawer support.
- Added tablet navigation-rail support.
- Added responsive bottom-navigation visibility.
- Added nested-grid support using immediate parent width.
- Added initial breakpoint and responsive-row test coverage.