form_gear_engine_sdk 0.1.1
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.