Skip to content

Conversation

@Numoy
Copy link
Member

@Numoy Numoy commented Dec 9, 2025

🚀 Overview
This major release (2.0.0) modularizes the survey_kit package to reduce the core package size and allow for more flexible dependency management. It also introduces melos for monorepo management and significantly improves the localization architecture.

💥 Breaking Changes
Modularization:
AudioContent and related features have been moved to package:survey_kit_audio.
VideoContent and related features have been moved to package:survey_kit_video.
LottieContent and related features have been moved to package:survey_kit_lottie.
Localization:
Removed the localizations parameter from SurveyKit.
Migrated internal strings to .arb files using flutter_localizations for better maintainability and extensibility.
✨ Features
Monorepo: Implemented melos workspace for efficient management of multiple packages (survey_kit, example, etc.).
Content Registry: Updated internal registry to support dynamic deserialization of content steps from external packages.
🐛 Fixes
Fixed DateTime timezone handling in CustomDateTimeConverter.
Added missing JSON serialization methods for TimeResult.
Updated test infrastructure to use deterministic Step IDs.
🧹 Chore
Updated internal dependencies (including json_annotation).
Updated Android Gradle Plugin and Gradle versions for better compatibility.
📚 Migration Guide
Please refer to

MIGRATION.md
for detailed instructions on how to upgrade your existing project to 2.0.0.

Numoy added 11 commits December 8, 2025 10:05
- Updated `TextAnswerFormat` to handle nullable `maxLines` and set default `answerType`.
- Enhanced `TextChoice` with equality operator and hash code implementation.
- Simplified JSON serialization for `TextChoice`, `AudioContent`, `ImageContent`, `LottieContent`, `MarkdownContent`, `SectionContent`, `TextContent`, `VideoContent`, and `TimeAnswerFormat`.
- Improved `StepResult` to include explicit JSON serialization and updated equality checks.
- Adjusted `SurveyResult` to include list equality checks.
- Updated `CustomDateTimeConverter` to preserve timezone during serialization.
- Changed `pubspec.yaml` to update Dart SDK and dependencies.
- Modified test cases to use UTC for `startTime` and `endTime` for consistency.
…d CI triggers to include the develop branch.
…xec.concurrency` with direct `exec` commands.
…` linter rule, and specify `intl` dependency version.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants