form_gear_engine_sdk 0.1.1 copy "form_gear_engine_sdk: ^0.1.1" to clipboard
form_gear_engine_sdk: ^0.1.1 copied to clipboard

Flutter SDK for FormGear - A flexible, JSON-driven form generation framework for dynamic data collection with 30+ input control types, nested forms, GPS, photo capture, and complex validation capabilities.

Changelog #

0.1.1 - 2025-10-01 #

✨ Features #

  • feat: add interactive asset copy demo with progress tracking (2d52be0)
  • feat: expose API response models and isFormEngineDownloaded method (1a84139)
  • feat(security): add comprehensive log sanitization for PII protection (d7065ee)
  • feat(security): add HTTPS enforcement and certificate pinning support (3eee006)
  • feat(security): require explicit encryption keys, remove hardcoded defaults (75e23ab)
  • feat(security): implement input validation framework for file paths (70acc9e)
  • feat(listeners): add FileUploadListener pattern for custom file upload handling (326db10)
  • feat(assignment): add explicit form engine ID selection (2096597)
  • feat(example): add engine selector to assignment demo screen (045745d)
  • feat(webview): add exit confirmation dialog and multi-section form support (3abc026)
  • feat(ui): improve progress bar UI with responsive design and animations (2ae1340)
  • feat(bridge-test): add FILE action test for FasihForm CSV file picker (0b3adf0)
  • feat(loading-screen): replace progress bar with circular percent indicator and animated download icon (4a369b0)
  • feat: add percent_indicator to SDK and implement app-lifetime token persistence (b86edf7)
  • feat(example): add engine selector to clean architecture demo (a9bbbd1)
  • feat(assignment): add injectable annotations to assignment use cases (f3ad6ae)
  • feat(sdk): add progress tracking for asset downloads (8f976e0)
  • feat(sdk): implement missing FASIH features for 100% compatibility (47ea7d7)
  • feat(download): add detailed logging for ZIP root directory detection (f6fa0b1)
  • feat(models): export ValidationResult in models barrel file (c1a74d3)
  • feat: implement FASIH-compatible JavaScript callbacks and SaveOrSubmit listeners (ee20e85)
  • feat: add assignment demo screen with three scenarios (761fb03)
  • feat: implement assignment-based SDK architecture (eb68124)
  • feat: add assignment-based dynamic configuration models (d95e01f)
  • feat(ui): enhance update screens and widget components (6e1c51c)
  • feat(core): add utility enhancements and core improvements (d0425b1)
  • feat(webview): implement BLoC pattern for form WebView (973d230)
  • feat(barcode): implement BLoC pattern for barcode scanner (d036e34)
  • feat(ui): implement modern Material Design 3 card system (a80597e)
  • feat(audio): enhance recording workflow with confirmation and real playback (bc6c3fb)
  • feat(auth): implement ConfigProvider pattern for real-time token updates (10bbeec)
  • feat(ios): add required permissions for media features (0325725)
  • feat(example): integrate media demo screen (6728455)
  • feat(constants): add media directory support for FASIH (c95fcea)
  • feat(audio): implement complete audio recording system (1bb307e)
  • feat(dialog): add reusable ModernDialogHelper with blue CTA (6aca224)
  • feat(deps): add crypto dependency and update asset paths (73bd1e7)
  • feat(utils): add encryption support for sensitive FASIH data (2ba2fcf)
  • feat(bridge): add FasihDataHandler for JavaScript bridge integration (2adbb24)
  • feat(assets): add exact FASIH default data files (2bd676c)
  • feat(utils): add FormDataFileManager for FASIH file operations (02fc688)
  • feat(usecases): implement clean architecture use cases for FASIH data (6a2b288)
  • feat(domain): add FormDataRepository interface (bbb517a)
  • feat(models): add Assignment entity for FASIH survey data (9c4e788)
  • feat(js-bridge): add missing action handlers for mobile features (baf03bf)
  • feat(sdk): integrate ClientActionHandler into FormGear SDK (dc368c0)
  • feat(js-bridge): implement ClientActionHandler for mobile features (eed4f29)
  • feat(testing): enhance bridge test with new handlers (6478558)
  • feat(webview): implement smart back navigation handling (993f254)
  • feat(js-bridge): enhance bridge result communication (8d3655a)
  • feat(js-bridge): implement missing action handlers (52f4758)
  • feat(sdk): register mobileExit handler in bridge (1aba5b6)
  • feat(js-bridge): add missing mobileExit bridge handler (54c9fc0)
  • feat(ci): add comprehensive coverage reporting script (21059d0)
  • feat(ui): enhance force update screens with animations and fixes (4f2cb2d)
  • feat(version): integrate update screens with version managers (5ed3e1a)
  • feat: add VS Code configuration and fix workflows (47eb2e6)
  • feat(github): convert PR template to structured YAML format (247480b)
  • feat(github): add issue and pull request templates (6479c99)
  • feat(ci): add comprehensive GitHub Actions workflows (805b9c4)
  • feat(scripts): add development tools and HTML generation (d27486a)
  • feat(example): add comprehensive example application (985825a)
  • feat(presentation): add WebView widget with modern loading UI (a53400d)
  • feat(sdk): add main FormGear SDK implementation (84d87bb)
  • feat(core): add download management, HTTP server, and JS bridge (f730266)
  • feat(data): add data layer with repositories and data sources (3e01af1)
  • feat(domain): add domain layer with repositories and use cases (89b7b3b)
  • feat(models): add comprehensive data models for FASIH integration (70cc5e2)
  • feat(core): add base classes and result pattern implementation (317c49e)
  • feat(config): create form gear configuration class (0a92079)
  • feat(model): create fasih user model (5705ce7)
  • feat(di): prepare injector (92e6546)

πŸ› Bug Fixes #

  • fix: add path_provider_platform_interface to dev_dependencies for test compatibility (f703e3b)
  • fix: use late keyword for _currentPreparedEngine to satisfy linter (8d43e07)
  • fix: resolve linter warnings for production code (ddd72c8)
  • fix: skip macOS system files during asset copying (9127813)
  • fix: use consistent directory path for BPS assets (external storage on Android) (b1fe9b3)
  • fix: correct asset paths to match actual bundle structure (724da0c)
  • fix: correct AssetManifest.json parsing to use json.decode (8819c4e)
  • fix: copy bundled assets to local storage on app startup (7db8b9a)
  • fix: update example app to use SDK public API instead of download manager (976da02)
  • fix: resolve SDK compilation errors after cleanup (bc1d86a)
  • fix(webview): embed bridge script into HTML to prevent race condition (ea512aa)
  • fix(webview): inject bridge in onLoadStart instead of placeholder approach (1f523ca)
  • fix(webview): add missing root fields to template and validation placeholders (99a3439)
  • fix(webview): return JSON strings directly for bridge data compatibility (bb3adb8)
  • fix(webview): match exact FASIH data structures in placeholder bridge (8f0e4b1)
  • fix(webview): add complete FASIH-compliant metadata to placeholder bridge objects (d1c31b7)
  • fix(webview): return JSON strings instead of object literals in placeholder bridge (c511843)
  • fix(webview): use Proxy pattern for placeholder bridge to return default values (e9a4d18)
  • fix(execute-handler): remove manual permission request for image picker (ddd71c5)
  • fix: prevent race condition with placeholder bridge and double injection (929efb2)
  • fix(execute-handler): use ImagePicker for images to avoid double picker (d589145)
  • fix(webview): resolve race condition causing 'Android is not defined' error (ea15fe3)
  • fix(execute-handler): request correct permission based on file type (d2d11d1)
  • fix(js-bridge): separate FILE_UPLOAD from FILE_PICKER actions (ae9b010)
  • fix(ci): replace stable with actual version (1690ec9)
  • fix(webview): update back press handling and modernize exit dialog design (ff12861)
  • fix(example): restore template selection screen for proper form engine workflow (85507a6)
  • fix(example): remove template selection screen reference from form engine selection (b2684f2)
  • fix(js-bridge): implement FasihForm-compatible JavaScript callbacks for LOCATION and FILE handlers (ba793ac)
  • fix(example): restore version update and bridge test demos (2fff329)
  • fix: add explicitToJson to FormEngineResponse for proper JSON serialization (2864fa5)
  • fix: resolve all lint violations in test files (cb2b7a4)
  • fix(download): resolve incorrect progress percentage (400-2000%) (6f03b5d)
  • fix(scanner): resolve barcode detection after permission grant (567a2f8)
  • fix(scanner): resolve controller lifecycle and flash issues (5c5299c)
  • fix(compression): use synchronous file operations to avoid slow async I/O (6b8c690)
  • fix(download): implement progress tracking and modern error UI (31723cc)
  • fix(download): skip root directory entry during ZIP extraction (86306f2)
  • fix(bloc): use unawaited to allow progress events during download (111b11a)
  • fix(demo): use late variable for proper BLoC closure capture (136c328)
  • fix(progress): properly wire download progress to BLoC (13c4633)
  • fix(download): strip top-level directory from ZIP extraction (9c95a8f)
  • fix(demo): connect download progress to BLoC in update screen (999d374)
  • fix: resolve all line length lint violations across SDK files (f8a41e9)
  • fix(audio): resolve playback UI state management issues (bf97904)
  • fix(engine): correct version display and optimize download manager (7d6ffaf)
  • fix(core): update action handler and template repository (db3a481)
  • fix(audio): resolve timer display overlapping issue (9a5a1c9)
  • fix(js-bridge): resolve handler naming conflicts (2c5b584)
  • fix(coverage): improve per-file coverage parsing and display (624d842)
  • fix(token): fix wrong token assigned (c1b737e)
  • fix(demo): fix clean architecture demo page (5432313)
  • fix(style): resolve all remaining line length violations in SDK (77df6bd)
  • fix(style): resolve line length violations in domain layer (257f4af)
  • fix(style): resolve line length violations in core SDK files (e3439cc)
  • fix(analyzer): resolve remaining generic catch clause violations (c6301ac)
  • fix(analyzer): resolve critical generic catch clause violations (1bc8ebd)
  • fix: resolve more generic catch clauses and prepare for future fixes (afa34e5)
  • fix: resolve TODO style and BuildContext async issues (92c7ae4)
  • fix: resolve catch clause and line length issues (aefaacf)
  • fix: resolve analyzer issues (702301e)
  • fix: replace deprecated withOpacity with withValues (e57d933)
  • fix(test): run dart fix (6a7aae1)
  • fix: resolve Result class hashCode override issues (f91bdfa)

πŸ“± Platform Updates #

πŸ“š Documentation #

  • docs: add centered logo banner to README (64c4bc8)
  • docs: update README to use openFormWithAssignment as primary API (0fc1f2c)
  • docs: simplify README to focus on public API (ee4c64d)
  • docs(readme): add comprehensive FileUploadListener documentation (a4c142c)
  • docs: update Flutter version references to stable channel (7781abf)
  • docs: fix engine terminology and enhance bridge test UI (6484f85)
  • docs: update README with assignment-based configuration (a1d7401)
  • docs: remove FASIH_DATA_LOADING_ANALYSIS.md file (cfaf553)
  • docs(analysis): update implementation status with completed features (e4a8bb4)
  • docs(analysis): add comprehensive FASIH data loading analysis (62c842c)
  • docs: add comprehensive contributing guidelines (1ee4da5)

πŸ”§ Maintenance #

  • chore(example): ignore deprecated_member_use warnings (4fc7e16)
  • chore: prepare v0.1.0 release (60a0495)
  • chore: update dependencies (7ca4d85)
  • refactor: remove unused environment variables and secrets (5bc723e)
  • refactor(core): extract SDK components into separate modules (2b3ff4b)
  • refactor(core): remove unused _createWebViewFromPreparedEngine method (a5f3334)
  • refactor: make internal SDK methods private (33e9b91)
  • perf: use sync I/O methods instead of async (39210b5)
  • refactor: simplify SDK API and remove template download functionality (e31972c)
  • test(security): update encryption tests for required keys (1fc4015)
  • test: add comprehensive tests for FileUploadListener pattern (da4c8b2)
  • style: fix line length in execute_handler.dart comment (66f12b8)
  • style: fix linter warnings for line length and HTML in doc comment (186b4f3)
  • chore(ci): update Flutter version to stable in all workflows (40e6df8)
  • refactor(webview): use SDK design system for exit confirmation dialog (ea2e630)
  • refactor(example): remove template update demo from version update screen (32367b7)
  • refactor(example): remove template and lookup endpoint tests from clean architecture demo (103cc63)
  • refactor(example): redesign clean architecture demo and convert widget methods to classes (92cf93c)
  • refactor(example): clean up example app by removing unnecessary demo screens (992f05d)
  • test: add exception tests for CompressionException and EncryptionException with 19 test cases (e28602a)
  • test: add comprehensive EncryptionUtils tests with 44 test cases (7b74262)
  • test: add comprehensive FormGearLogger tests with 54 test cases (f92f8cc)
  • test: add comprehensive tests for SaveSubmitData with 33 tests covering all methods (f163afc)
  • test: format all test files with proper newlines (56e9a8c)
  • test: add comprehensive tests for BaseUseCase and BaseNoParamUseCase (266de78)
  • test: improve coverage with Result, FormConfig, and FormGearConfig tests (55108d1)
  • test: add comprehensive tests for SaveSubmitResult, enums and improve coverage to 32.5% (6228f91)
  • test: add comprehensive tests for GlobalConfig, FormEngineResponse and improve coverage to 29.7% (3dbdcbc)
  • test: improve test coverage from 7.3% to 21.6% (28e5efd)
  • refactor: remove unused template and lookup remote APIs (664952d)
  • chore: remove unused http dependency (17f0a28)
  • chore: upgrade dependencies with dart pub upgrade --tighten (02efb44)
  • style: apply dart format to demo screen and client handler (7b341f2)
  • style: fix all remaining line length warnings (82e0d17)
  • style: fix line length issues in GPS handlers (a09fbdb)
  • chore(pub): run flutter pub upgrade (4193a34)
  • refactor(models): move ValidationResult to models with Equatable (d266eb2)
  • refactor(lint): suppress lint warnings for example implementations (a2a1ab2)
  • chore(git): exclude FASIH_DATA_LOADING_ANALYSIS.md from tracking (348e6eb)
  • refactor(demo): use ModernDialogHelper in MediaDemoScreen (139aa14)
  • refactor(test): improve bridge test UI design (763b49d)
  • test(bridge): add client action handlers to test interface (a270b42)
  • refactor(deeplink): remove deeplink (6d931dc)
  • chore(inter): update linter rule (e44aec1)
  • refactor(code): run dart format and dart fix (f821f7b)
  • chore: remove sensitive JWT token from form engine index.html (35bd651)
  • chore: exclude documentation files from git tracking (296c01e)
  • refactor(widgets): extract loading screen method to proper widget (484eb1e)
  • chore(analyzer): update analysis options to ignore context sync and futures (5eb6e48)
  • chore: update configuration and remove deprecated files (fe9a6df)
  • test: add comprehensive test suite for all layers (c276157)
  • chore(linter): update liinter rules (2ab9cf7)
  • chore(pub): install all required dependencies (71ca8eb)
  • chore(code): initial commit (0f9769f)

πŸ“¦ Dependencies #

  • chore: update dependencies (7ca4d85)
  • chore: remove unused http dependency (17f0a28)
  • chore: upgrade dependencies with dart pub upgrade --tighten (02efb44)
  • chore(pub): run flutter pub upgrade (4193a34)
  • chore: update configuration and remove deprecated files (fe9a6df)
  • chore(pub): install all required dependencies (71ca8eb)
  • Flutter SDK: 3.35.5+
  • Dart SDK: Compatible with Flutter 3.35.5

🎯 Key Highlights #

  • HTTP Interceptor Support: Added comprehensive Dio interceptor support for request/response modification
  • Form Engine Configuration: Enhanced configuration to support multiple form engines with FASIH compatibility
  • WebView Integration: Enhanced WebView and JavaScript bridge capabilities for form rendering

πŸ“¦ Dependencies #

  • Flutter SDK: 3.35.5+
  • Dart SDK: Compatible with Flutter 3.35.5

0.1.0 - 2025-10-01 #

✨ Features #

  • feat: add interactive asset copy demo with progress tracking (13d9092)
  • feat: expose API response models and isFormEngineDownloaded method (f97196d)
  • feat(security): add comprehensive log sanitization for PII protection (d6a62ee)
  • feat(security): add HTTPS enforcement and certificate pinning support (bda2e6f)
  • feat(security): require explicit encryption keys, remove hardcoded defaults (c07e111)
  • feat(security): implement input validation framework for file paths (a508a22)
  • feat(listeners): add FileUploadListener pattern for custom file upload handling (96bdcb6)
  • feat(assignment): add explicit form engine ID selection (0e1c765)
  • feat(example): add engine selector to assignment demo screen (c7693a4)
  • feat(webview): add exit confirmation dialog and multi-section form support (8c20bef)
  • feat(ui): improve progress bar UI with responsive design and animations (5efed05)
  • feat(bridge-test): add FILE action test for FasihForm CSV file picker (3d5abb2)
  • feat(loading-screen): replace progress bar with circular percent indicator and animated download icon (65b3fd1)
  • feat: add percent_indicator to SDK and implement app-lifetime token persistence (ec43d79)
  • feat(example): add engine selector to clean architecture demo (e708f1f)
  • feat(assignment): add injectable annotations to assignment use cases (cfad333)
  • feat(sdk): add progress tracking for asset downloads (9593740)
  • feat(sdk): implement missing FASIH features for 100% compatibility (d333cfb)
  • feat(download): add detailed logging for ZIP root directory detection (3002e08)
  • feat(models): export ValidationResult in models barrel file (349f41f)
  • feat: implement FASIH-compatible JavaScript callbacks and SaveOrSubmit listeners (78dd42a)
  • feat: add assignment demo screen with three scenarios (a1495f6)
  • feat: implement assignment-based SDK architecture (738b65c)
  • feat: add assignment-based dynamic configuration models (808d5e6)
  • feat(ui): enhance update screens and widget components (a7303a6)
  • feat(core): add utility enhancements and core improvements (5ac9254)
  • feat(webview): implement BLoC pattern for form WebView (1dc19ff)
  • feat(barcode): implement BLoC pattern for barcode scanner (7558e31)
  • feat(ui): implement modern Material Design 3 card system (874c75d)
  • feat(audio): enhance recording workflow with confirmation and real playback (6249038)
  • feat(auth): implement ConfigProvider pattern for real-time token updates (36172ce)
  • feat(ios): add required permissions for media features (bff05b7)
  • feat(example): integrate media demo screen (324cdfc)
  • feat(constants): add media directory support for FASIH (dd39433)
  • feat(audio): implement complete audio recording system (9722b1a)
  • feat(dialog): add reusable ModernDialogHelper with blue CTA (c6f3ebb)
  • feat(deps): add crypto dependency and update asset paths (dde5614)
  • feat(utils): add encryption support for sensitive FASIH data (8ea05f9)
  • feat(bridge): add FasihDataHandler for JavaScript bridge integration (4768c88)
  • feat(assets): add exact FASIH default data files (2dd07dd)
  • feat(utils): add FormDataFileManager for FASIH file operations (31cfb49)
  • feat(usecases): implement clean architecture use cases for FASIH data (78f3ea2)
  • feat(domain): add FormDataRepository interface (e33a3f1)
  • feat(models): add Assignment entity for FASIH survey data (e9f45ab)
  • feat(js-bridge): add missing action handlers for mobile features (826b283)
  • feat(sdk): integrate ClientActionHandler into FormGear SDK (415d306)
  • feat(js-bridge): implement ClientActionHandler for mobile features (82bcab3)
  • feat(testing): enhance bridge test with new handlers (4117e7a)
  • feat(webview): implement smart back navigation handling (d740f0f)
  • feat(js-bridge): enhance bridge result communication (725b015)
  • feat(js-bridge): implement missing action handlers (04b4c44)
  • feat(sdk): register mobileExit handler in bridge (df52e69)
  • feat(js-bridge): add missing mobileExit bridge handler (60f56ae)
  • feat(ci): add comprehensive coverage reporting script (63e7085)
  • feat(ui): enhance force update screens with animations and fixes (ce69957)
  • feat(version): integrate update screens with version managers (7ef2541)
  • feat: add VS Code configuration and fix workflows (3e84a37)
  • feat(github): convert PR template to structured YAML format (aff1b68)
  • feat(github): add issue and pull request templates (c2ecb4c)
  • feat(ci): add comprehensive GitHub Actions workflows (dc3c26c)
  • feat(scripts): add development tools and HTML generation (d4f2513)
  • feat(example): add comprehensive example application (cf1083f)
  • feat(presentation): add WebView widget with modern loading UI (2a05dab)
  • feat(sdk): add main FormGear SDK implementation (b3b5802)
  • feat(core): add download management, HTTP server, and JS bridge (d5dbc63)
  • feat(data): add data layer with repositories and data sources (a793871)
  • feat(domain): add domain layer with repositories and use cases (fa4e89b)
  • feat(models): add comprehensive data models for FASIH integration (f2b0191)
  • feat(core): add base classes and result pattern implementation (e7b15fc)
  • feat(config): create form gear configuration class (498abc6)
  • feat(model): create fasih user model (7eda5ee)
  • feat(di): prepare injector (efe5f49)

πŸ› Bug Fixes #

  • fix: use late keyword for _currentPreparedEngine to satisfy linter (c986620)
  • fix: resolve linter warnings for production code (4a55032)
  • fix: skip macOS system files during asset copying (c6df97f)
  • fix: use consistent directory path for BPS assets (external storage on Android) (d8b5149)
  • fix: correct asset paths to match actual bundle structure (9dc6e90)
  • fix: correct AssetManifest.json parsing to use json.decode (d8a8a37)
  • fix: copy bundled assets to local storage on app startup (11f3840)
  • fix: update example app to use SDK public API instead of download manager (1b80748)
  • fix: resolve SDK compilation errors after cleanup (1dcba97)
  • fix(webview): embed bridge script into HTML to prevent race condition (2f75f88)
  • fix(webview): inject bridge in onLoadStart instead of placeholder approach (c050bcc)
  • fix(webview): add missing root fields to template and validation placeholders (a45f8fc)
  • fix(webview): return JSON strings directly for bridge data compatibility (80969d5)
  • fix(webview): match exact FASIH data structures in placeholder bridge (01b6622)
  • fix(webview): add complete FASIH-compliant metadata to placeholder bridge objects (9664249)
  • fix(webview): return JSON strings instead of object literals in placeholder bridge (278fa1e)
  • fix(webview): use Proxy pattern for placeholder bridge to return default values (3523a80)
  • fix(execute-handler): remove manual permission request for image picker (16693ed)
  • fix: prevent race condition with placeholder bridge and double injection (7af9d02)
  • fix(execute-handler): use ImagePicker for images to avoid double picker (0fac16a)
  • fix(webview): resolve race condition causing 'Android is not defined' error (53ac147)
  • fix(execute-handler): request correct permission based on file type (dccada1)
  • fix(js-bridge): separate FILE_UPLOAD from FILE_PICKER actions (9e137be)
  • fix(ci): replace stable with actual version (937e6e9)
  • fix(webview): update back press handling and modernize exit dialog design (7df13bf)
  • fix(example): restore template selection screen for proper form engine workflow (a5e5f79)
  • fix(example): remove template selection screen reference from form engine selection (892e0b3)
  • fix(js-bridge): implement FasihForm-compatible JavaScript callbacks for LOCATION and FILE handlers (bbb3577)
  • fix(example): restore version update and bridge test demos (20fc7eb)
  • fix: add explicitToJson to FormEngineResponse for proper JSON serialization (6f14eff)
  • fix: resolve all lint violations in test files (aef6c56)
  • fix(download): resolve incorrect progress percentage (400-2000%) (2592f5c)
  • fix(scanner): resolve barcode detection after permission grant (5834eda)
  • fix(scanner): resolve controller lifecycle and flash issues (5aa127f)
  • fix(compression): use synchronous file operations to avoid slow async I/O (6a28938)
  • fix(download): implement progress tracking and modern error UI (85738d6)
  • fix(download): skip root directory entry during ZIP extraction (a18d622)
  • fix(bloc): use unawaited to allow progress events during download (c71d402)
  • fix(demo): use late variable for proper BLoC closure capture (fe7b98f)
  • fix(progress): properly wire download progress to BLoC (0a2788a)
  • fix(download): strip top-level directory from ZIP extraction (d7a877a)
  • fix(demo): connect download progress to BLoC in update screen (98c26e4)
  • fix: resolve all line length lint violations across SDK files (e903f5c)
  • fix(audio): resolve playback UI state management issues (400a009)
  • fix(engine): correct version display and optimize download manager (7610495)
  • fix(core): update action handler and template repository (3444b7f)
  • fix(audio): resolve timer display overlapping issue (f5553c7)
  • fix(js-bridge): resolve handler naming conflicts (34e3b34)
  • fix(coverage): improve per-file coverage parsing and display (41964b5)
  • fix(token): fix wrong token assigned (45346d0)
  • fix(demo): fix clean architecture demo page (6267769)
  • fix(style): resolve all remaining line length violations in SDK (ecff54c)
  • fix(style): resolve line length violations in domain layer (84a9647)
  • fix(style): resolve line length violations in core SDK files (60afce0)
  • fix(analyzer): resolve remaining generic catch clause violations (4d57633)
  • fix(analyzer): resolve critical generic catch clause violations (dfa51c6)
  • fix: resolve more generic catch clauses and prepare for future fixes (fc66870)
  • fix: resolve TODO style and BuildContext async issues (c23cd1f)
  • fix: resolve catch clause and line length issues (6ef6743)
  • fix: resolve analyzer issues (1c06f31)
  • fix: replace deprecated withOpacity with withValues (e008dca)
  • fix(test): run dart fix (850f42e)
  • fix: resolve Result class hashCode override issues (72b6800)

πŸ“± Platform Updates #

πŸ“š Documentation #

  • docs: add centered logo banner to README (f1f26d5)
  • docs: update README to use openFormWithAssignment as primary API (8b59b3b)
  • docs: simplify README to focus on public API (b202e8e)
  • docs(readme): add comprehensive FileUploadListener documentation (0e66160)
  • docs: update Flutter version references to stable channel (2bfabe3)
  • docs: fix engine terminology and enhance bridge test UI (6d687e4)
  • docs: update README with assignment-based configuration (3b2a654)
  • docs: remove FASIH_DATA_LOADING_ANALYSIS.md file (3a925fd)
  • docs(analysis): update implementation status with completed features (6190648)
  • docs(analysis): add comprehensive FASIH data loading analysis (6a93c90)
  • docs: add comprehensive contributing guidelines (150a6d6)

πŸ”§ Maintenance #

  • chore: update dependencies (42ef4da)
  • refactor: remove unused environment variables and secrets (5975e08)
  • refactor(core): extract SDK components into separate modules (8eb612f)
  • refactor(core): remove unused _createWebViewFromPreparedEngine method (abb081a)
  • refactor: make internal SDK methods private (8f2bf80)
  • perf: use sync I/O methods instead of async (321495f)
  • refactor: simplify SDK API and remove template download functionality (2662bf3)
  • test(security): update encryption tests for required keys (c4aa43c)
  • test: add comprehensive tests for FileUploadListener pattern (fadca3a)
  • style: fix line length in execute_handler.dart comment (ed97701)
  • style: fix linter warnings for line length and HTML in doc comment (c41f53f)
  • chore(ci): update Flutter version to stable in all workflows (2b44907)
  • refactor(webview): use SDK design system for exit confirmation dialog (0bb24c3)
  • refactor(example): remove template update demo from version update screen (e771b48)
  • refactor(example): remove template and lookup endpoint tests from clean architecture demo (316cb40)
  • refactor(example): redesign clean architecture demo and convert widget methods to classes (5e5cd86)
  • refactor(example): clean up example app by removing unnecessary demo screens (c1618ea)
  • test: add exception tests for CompressionException and EncryptionException with 19 test cases (7fe4bb0)
  • test: add comprehensive EncryptionUtils tests with 44 test cases (02ac5d9)
  • test: add comprehensive FormGearLogger tests with 54 test cases (ee67b0d)
  • test: add comprehensive tests for SaveSubmitData with 33 tests covering all methods (853ff79)
  • test: format all test files with proper newlines (198216c)
  • test: add comprehensive tests for BaseUseCase and BaseNoParamUseCase (34aee59)
  • test: improve coverage with Result, FormConfig, and FormGearConfig tests (9597f3b)
  • test: add comprehensive tests for SaveSubmitResult, enums and improve coverage to 32.5% (3534edc)
  • test: add comprehensive tests for GlobalConfig, FormEngineResponse and improve coverage to 29.7% (8ff73e2)
  • test: improve test coverage from 7.3% to 21.6% (edd0a04)
  • refactor: remove unused template and lookup remote APIs (af766b7)
  • chore: remove unused http dependency (8768604)
  • chore: upgrade dependencies with dart pub upgrade --tighten (1523c5a)
  • style: apply dart format to demo screen and client handler (8393e27)
  • style: fix all remaining line length warnings (c668e26)
  • style: fix line length issues in GPS handlers (2aabf5a)
  • chore(pub): run flutter pub upgrade (fe43a7e)
  • refactor(models): move ValidationResult to models with Equatable (d4415d4)
  • refactor(lint): suppress lint warnings for example implementations (dba00e5)
  • chore(git): exclude FASIH_DATA_LOADING_ANALYSIS.md from tracking (3907078)
  • refactor(demo): use ModernDialogHelper in MediaDemoScreen (2e714cc)
  • refactor(test): improve bridge test UI design (2af0321)
  • test(bridge): add client action handlers to test interface (73dbdd9)
  • refactor(deeplink): remove deeplink (37f240c)
  • chore(inter): update linter rule (1499c51)
  • refactor(code): run dart format and dart fix (215e3cb)
  • chore: remove sensitive JWT token from form engine index.html (592d873)
  • chore: exclude documentation files from git tracking (e38d663)
  • refactor(widgets): extract loading screen method to proper widget (3c9f8e4)
  • chore(analyzer): update analysis options to ignore context sync and futures (25cfa3e)
  • chore: update configuration and remove deprecated files (7c70a4c)
  • test: add comprehensive test suite for all layers (bb67174)
  • chore(linter): update liinter rules (bdbc6d8)
  • chore(pub): install all required dependencies (1d83f31)

πŸ“¦ Dependencies #

  • chore: update dependencies (42ef4da)
  • chore: remove unused http dependency (8768604)
  • chore: upgrade dependencies with dart pub upgrade --tighten (1523c5a)
  • chore(pub): run flutter pub upgrade (fe43a7e)
  • chore: update configuration and remove deprecated files (7c70a4c)
  • chore(pub): install all required dependencies (1d83f31)
  • Flutter SDK: 3.35.5+
  • Dart SDK: Compatible with Flutter 3.35.5

🎯 Key Highlights #

  • HTTP Interceptor Support: Added comprehensive Dio interceptor support for request/response modification
  • Form Engine Configuration: Enhanced configuration to support multiple form engines with FASIH compatibility
  • WebView Integration: Enhanced WebView and JavaScript bridge capabilities for form rendering

πŸ“¦ Dependencies #

  • Flutter SDK: 3.35.5+
  • Dart SDK: Compatible with Flutter 3.35.5
  • TODO: Describe initial release.
0
likes
140
points
58
downloads

Publisher

verified publisherbanuacoders.com

Weekly Downloads

Flutter SDK for FormGear - A flexible, JSON-driven form generation framework for dynamic data collection with 30+ input control types, nested forms, GPS, photo capture, and complex validation capabilities.

Homepage
Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

MIT (license)

Dependencies

alice_dio, archive, camera, crypto, dio, encrypt, equatable, file_picker, flutter, flutter_bloc, flutter_inappwebview, flutter_svg, geolocator, get_it, image_picker, injectable, json_annotation, just_audio, mobile_scanner, mocktail, path, path_provider, percent_indicator, permission_handler, record, shelf, shelf_static, waveform_flutter

More

Packages that depend on form_gear_engine_sdk