[Announcement] Introducing getxtra: An AI-Driven & Community-Powered Continuation of GetX 5.0
## 🚀 The State of GetX 5.0 & Why We Need a Path Forward
For years, GetX has been one of the most popular packages in the Flutter ecosystem, beloved for its unified approach to reactive state management, simple dependency injection, and context-free routing.
However, as of mid-2026, many of us in the community have run into significant roadblocks:
* **Stalled Releases:** GetX 5.0 has remained in a perpetual release-candidate state (`release-candidate-9.3.2`) for a very long time, leaving developers asking: *"Why is GetX so poorly supported?"* and *"Can GetX 5.0 be used in production now?"*
* **Breaking Flutter & Dart Changes:** Recent updates in Flutter 3.41+ and 3.44+ have introduced compilation and runtime breaking changes (e.g., the infamous `'CupertinoPageTransitionsBuilder' isn't a type` build error and Dart 3.11+ compatibility issues).
* **Critical iOS & Routing Bugs:** Key bugs have lingered without official patches:
* `PopScope`'s `canPop` not behaving correctly, particularly on iOS.
* Route transition animations freezing mid-transition.
* `Get.bottomSheet` flashing and dismissing immediately on iOS devices.
* `Get.offAllNamed` failing to preserve or clean up controllers properly when routing is triggered from push notifications.
Instead of letting these issues break our production applications or force us to rewrite entire codebases in other state management libraries, we decided to act.
---
## 🎉 Introducing `getxtra`
**`getxtra`** is a community-driven continuation and modernization of GetX, hosted at [gauravmehta13/getxtra](https://github.com/gauravmehta13/getxtra). It is built on the foundation of the excellent work in the [Aniketkhote/getx](https://github.com/Aniketkhote/getx) fork.
### 🔍 Project Blueprint & Goals
1. **Preserve the API You Love:** Built directly on top of the **GetX 5.0 codebase**. Your imports and basic syntax remain unchanged. The transition is designed to be a drop-in replacement.
2. **Modernized Environment:** Ready out-of-the-box for **Dart 3.11+** and **Flutter 3.41+ / 3.44+**. No more build-breaking Cupertino transition errors or deprecation warnings.
3. **Targeted Bug Fixes:** We have already addressed the core issues plaguing GetX 5.0:
* Fixed `PopScope` / `canPop` navigation interceptors.
* Resolved frozen route transition animations.
* Fixed iOS bottom sheet flashing and auto-dismissal.
* Corrected controller lifecycle management and routing edge cases for push notifications in `Get.offAllNamed`.
---
## 🤖 Powered by AI-Driven Development
Maintaining a framework as large as GetX is traditionally a massive undertaking. To achieve rapid velocity and ensure stability, `getxtra` is being developed using a cutting-edge approach: **AI-Driven Development**.
We are heavily leveraging advanced AI tools—specifically **Opus 4.7**—to:
* **Triage Issues:** Instantly trace bug reports to their exact location in the legacy codebase.
* **Generate Comprehensive Test Suites:** Automatically write regression tests for edge cases on iOS and Android to prevent future breakages.
* **Refactor Safely:** Clean up legacy APIs and migrate deprecations to comply with the latest Dart and Flutter SDK standards without introducing regressions.
This AI-assisted workflow allows us to ship fixes in hours rather than months.
---
## 🌱 The Fate of `getxtra` is Community-Driven
We want to be completely transparent: **this project’s survival depends entirely on you.**
* **If the community shows strong engagement**—by starring the repository, filing issues, providing feedback, and contributing pull requests—we will actively maintain `getxtra`, publish regular pub.dev updates, and keep it synchronized with future Flutter releases.
* **If interest is low**, it will remain a custom internal utility for our own production apps and will not be actively maintained for the public.
If you want a stable, modernized, and actively maintained version of GetX, **we need your voice (and your stars)!**
---
## 🛠️ How to Migrate & Get Started
To migrate your project to `getxtra`, update your `pubspec.yaml` to point to the repository:
```yaml
dependencies:
getxtra:
```
Import get in files that it will be used:
```dart
import 'package:getxtra/get.dart';
```
* **GitHub Repository:** [https://github.com/gauravmehta13/getxtra](https://github.com/gauravmehta13/getxtra)
* **What to do next:**
1. ⭐ **Star the repo** to show your support and signal to others that this project is alive.
2. 💬 **Leave a comment below** sharing the biggest pain points you need fixed next.
3. 🐛 **File issues** with reproduction steps if you encounter any bugs in your Flutter 3.41+ apps.
Let's keep the best parts of GetX alive, modernized, and community-powered!
6 条评论