NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #442 most downloaded on pub.dev
Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX.
Last release 4 months ago
03 Jun 2026
Ships fairly regularly
a new release about every 5 months
Most releases are documented
notes for 48 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
332 releases · first in 2019
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix GetConnect on Flutter web
Fix GetConnect on Flutter web
Add useInheritedMediaQuery to GetMaterialApp and GetCupertinoApp ( @davidhole ) Add Circular reveal Transition ( @parmarravi ) Add request to failed r
Add useInheritedMediaQuery to GetMaterialApp and GetCupertinoApp (@davidhole)
Add Circular reveal Transition (@parmarravi)
Add request to failed response (@heftekharm)
Fix internationalization with only country code (@codercengiz)
Add GetTickerProviderStateMixin when multiple AnimationController objects are used (@NatsuOnFire)
Add the followRedirects and maxRedirects fields to the Request object (@wei53881)
Fix to rx.trigger fires twice (@gslender)
Add proxy setting support to GetConnect (@jtans)
Fix markAsDirty used on permanent controllers (@zenalex)
Update Korean readme (@dumbokim)
Breaking and Depreciation: GetBar is now deprecated, use GetSnackbar instead. dismissDirection now gets a DismissDirection, making the Snackbar more c…
[4.5.1] -
Fix Snackbar when it have action and icon the same time
[4.5.0] - Big Update
To have a context-free, page-agnostic snackbar, we used OverlayRoute to display a partial route. However this had several problems:
1: There was no possibility to close the page without closing the snackbar 2: Get.back() could cause problems with tests of Get.isSnackbarOpen not being properly invoked 3: Sometimes when using iOS popGesture with an open snackbar, some visual inconsistency might appear. 4: When going to another route, the snackbar was not displayed on the new page, and if the user clicked on the new route as soon as he received a Snackbar, he could not read it.
We remade the Snackbar from scratch, having its Api based on Overlay, and now opening a Snackbar won't be tied to a route, you can normally navigate routes while a Snackbar is shown at the top (or bottom), and even the PopGesture of the iOS is not influenced by it.
Using Get.back() is handy, it's a small command, which closes routes, dialogs, snackbars, bottomsheets, etc, however Getx 5 will prioritize code safety, and splitting will reduce the check code as well. Currently we have to check if a snackbar is open, to close the snackbar and prevent the app from going back a page, all this boilerplate code will be removed, at the cost of having what it closes in front of Get.back command.
For backwards compatibility, Get.back() still works for closing routes and overlays, however two new commands have been added: Get.closeCurrentSnackbar() and Get.closeAllSnackbars(). Maybe we will have a clearer api in GetX 5, and maybe Get.back() will continue to do everything like it does today. The community will be consulted about the desired api. However version 5 will definitely have commands like: Get.closeCurrentSnackbar, Get.closeCurrentDialog etc. There is also the possibility to close a specific snackbar using the return of Get.snackbar, which will no longer return a void, and now return a SnackbarController.
Snackbars now also have a Queue, and no longer stack one on top of the other, preventing viewing. GetX now has flexible, customizable, route-independent, and completely stable Snackbars.
Fixed bugs where the snackbar showed an error in debug mode for a fraction of a second. We found that Flutter has a bug with blur below 0.001, so we set the minimum overlayBlur value to this value if it is ==true.
Errors with internationalization were also fixed, where if you are in UK, and the app had the en_US language, you didn't have American English by default. Now, if the country code is not present, it will automatically fetch the language code before fetching a fallbackLanguage.
Update locale also now returns a Future, allowing you to perform an action only when the language has already changed (@MHosssam)
We are very happy to announce that GetX is now documented in Japanese as well, thanks to (@toshi-kuji)
GetX has always been focused on transparency. You can tell what's going on with your app just by reading the logs on the console. However, these logs shouldn't appear in production, so it now only appears in debug mode (@maxzod)
@maxzod has also started translating the docs into Arabic, we hope the documentation will be complete soon.
Some remaining package logs have been moved to Get.log (@gairick-saha)
RxList.removeWhere received performance optimizations (@zuvola)
Optimizations in GetConnect and added the ability to modify all request items in GetConnect (@rodrigorahman)
The current route could be inconsistent if a dialog were opened after a transition, fixed by @xiangzy1
Fixed try/catch case missed in socket_notifier (@ShookLyngs)
Also we had fixes in the docs: @DeathGun3344 @pinguluk
GetX also surpassed the incredible mark of more than 7000 likes, being the most liked package in all pub.dev, went from 99% to 100% popularity, and has more than 5.3k stars on github. Documentation is now available in 12 languages, and we're happy for all the engagement from your community.
This update is a preparation update for version 5, which will be released later this year.
Breaking and Depreciation: GetBar is now deprecated, use GetSnackbar instead. dismissDirection now gets a DismissDirection, making the Snackbar more customizable.
Breaking and Depreciation: GetBar is now deprecated, use GetSnackbar instead. dismissDirection now gets a DismissDirection, making the Snackbar more c…
To have a page-agnostic snackbar, we used OverlayRoute to display a partial route. However this had several problems:
1: There was no possibility to close the page without closing the snackbar 2: Get.back() could cause problems with tests of Get.isSnackbarOpen not being properly invoked 3: Sometimes when using iOS popGesture with an open snackbar, some visual inconsistency might appear. 4: When going to another route, the snackbar was not displayed on the new page, and if the user clicked on the new route as soon as he received a Snackbar, he could not read it.
We remade the Snackbar from scratch, having its Api based on Overlay, and now opening a Snackbar won't be tied to a route, you can normally navigate routes while a Snackbar is shown at the top (or bottom), and even the PopGesture of the iOS is not influenced by it.
Using Get.back() is handy, it's a small command, which closes routes, dialogs, snackbars, bottomsheets, etc, however Getx 5 will prioritize code safety, and splitting will reduce the check code as well. Currently we have to check if a snackbar is open, to close the snackbar and prevent the app from going back a page, all this boilerplate code will be removed, at the cost of having what it closes in front of Get.back command.
For backwards compatibility, Get.back() still works for closing routes and overlays, however two new commands have been added: Get.closeCurrentSnackbar() and Get.closeAllSnackbars(). Maybe we will have a clearer api in GetX 5, and maybe Get.back() will continue to do everything like it does today. The community will be consulted about the desired api. However version 5 will definitely have commands like: Get.closeCurrentSnackbar, Get.closeCurrentDialog etc. There is also the possibility to close a specific snackbar using the return of Get.snackbar, which will no longer return a void, and now return a SnackbarController.
Snackbars now also have a Queue, and no longer stack one on top of the other, preventing viewing. GetX now has flexible, customizable, route-independent, and completely stable Snackbars.
Fixed bugs where the snackbar showed an error in debug mode for a fraction of a second. We found that Flutter has a bug with blur below 0.001, so we set the minimum overlayBlur value to this value if it is ==true.
Errors with internationalization were also fixed, where if you are in UK, and the app had the en_US language, you didn't have American English by default. Now, if the country code is not present, it will automatically fetch the language code before fetching a fallbackLanguage.
Update locale also now returns a Future, allowing you to perform an action only when the language has already changed (@MHosssam)
We are very happy to announce that GetX is now documented in Japanese as well, thanks to (@toshi-kuji)
GetX has always been focused on transparency. You can tell what's going on with your app just by reading the logs on the console. However, these logs shouldn't appear in production, so it now only appears in debug mode (@maxzod)
@maxzod has also started translating the docs into Arabic, we hope the documentation will be complete soon.
Some remaining package logs have been moved to Get.log (@gairick-saha)
RxList.removeWhere received performance optimizations (@zuvola)
Optimizations in GetConnect and added the ability to modify all request items in GetConnect (@rodrigorahman)
The current route could be inconsistent if a dialog were opened after a transition, fixed by @xiangzy1
Fixed try/catch case missed in socket_notifier (@ShookLyngs)
Also we had fixes in the docs: @DeathGun3344 @pinguluk
GetX also surpassed the incredible mark of more than 7000 likes, being the most liked package in all pub.dev, went from 99% to 100% popularity, and has more than 5.3k stars on github. Documentation is now available in 12 languages, and we're happy for all the engagement from your community.
This update is a preparation update for version 5, which will be released later this year.
Breaking and Depreciation: GetBar is now deprecated, use GetSnackbar instead. dismissDirection now gets a DismissDirection, making the Snackbar more customizable.
Fix nav2 toNamed remove the route
Fix wrong currentRoute when a route is removed
Fix error with autodispose of additional dependencies beyond GetxController
Fix GetConnect timeout (@jasonlaw)
- Improve docs
- Fix Get.reset
Fix nullable on internacionalization (@jmguillens)
Fix controller is not removed when keyboard is open.
Added GetResponsiveWidget (@ahmednfwela)
Get.replace() (@jwelmac)Added anchorRoute and filterPages to GetRouterOutlet (@ahmednfwela)
Fix Get.offAll removing GetxServices from memory
Added parameters and arguments to Get.rootDelegate
Nothing published for this version
Nothing published for this version
Remove [] from docs to try fix pub score
This update fixes important bugs as well as integrates with Navigator 2. It also adds GetRouterOutlet, similar to angular RouterOutlet thanks to @ahme
This update fixes important bugs as well as integrates with Navigator 2. It also adds GetRouterOutlet, similar to angular RouterOutlet thanks to @ahmednfwela. Also, the documentation translation for Vietnamese (@khangahs) has been added, making the GetX documentation available for 11 different languages, which is just fantastic for any opensource project. GetX has achieved more than 5.4k likes from the pub, and more than 4k stars on github, has videos about it with 48k on youtube, and has communities in the 4 hemispheres of the earth, besides having a large list of contributors as you see bellow. We're all happy to facilitate development with dart and flutter, and that making programming hassle-free has been taken around the world.
Changes in this version:
Fix: Navigating to the same page with Get.offNamed does not delete the controller from that page using Get.lazyPut.
Fix Readme GetMiddleware typos
by @nivisi
Fix url replace error
by @KevinZhang19870314
Changed response default encoding from latin1 to utf8
by @heftekharm
Add Duration in ExtensionBottomSheet
by @chanonpingpong
Added compatibility with dart-lang/mockito
by @lifez
Added extensions methods to convert value in percent value
by @kauemurakami
Set darkTheme equal theme when darkTheme is null
by @eduardoflorence
Add padding to 'defaultDialog'
by @KevinZhang19870314
GraphQLResponse inherit Response info
by @jasonlaw
Fix Redundant concatenating base url
by @jasonlaw
Add content type and length into the headers when the content type is 'application/x-www-form-urlencoded'
by @calvingit
Make withCredentials configurable
by @jasonlaw
Fix flutter 2.0 error
by @yunchiri
Allow deleting all registered instances
by @lemps
Refactor/rx interface notify children
@by kranfix
Fixed parameter parsing and middleware sorting
by @ahmednfwela
Improvements to router outlet
by @ahmednfwela
Minor improvements and bug fixes
by @ahmednfwela
Adding route guards and improving navigation
by @ahmednfwela
Fix RxInterface.proxy losing its previous value on exception
by @WillowWisp
Added dispose() for bottomSheet.
by @furkankurt
Added Pull request template
by @unacorbatanegra
Fix and update documentation:
@Farid566,
@galaxykhh,
@arslee07,
@GoStaRoff,
@BondarenkoArtur,
@denisrudnei,
@Charly6596,
@nateshmbhat,
@hrithikrtiwari,
@Undeadlol1,
@rws08,
@inuyashaaa,
@broccolism,
@aadarshadhakalg,
@ZeroMinJeon
Adjust operator + and - to RxInt (@eduardoflorence)
Fix "Error: A value of type 'Locale?' can't be returned from a function"on flutter web (@nickwri)
Fix warning ˜can add data to a closed stream˜ when GetBuilder and Obx are nested
Remove mandatory initialValue to nullables types
Added Rxn to non nullables reactives types
Added new linter rules to improve score
Removed "!" of if else conditions until the null-safety of the dart is consistent for using it.
- Fix changelog
Switching to null-safety: You can continue using GetX as normal, with as little breaking changes as possible. It is still possible to declare the var.…
Switching to null-safety:
You can continue using GetX as normal, with as little breaking changes as possible.
It is still possible to declare the var.obs variable, and this remains the preferred way, forcing null-safety and giving you all the security that sound null-safety delivers to your app. However, if you need to use null, we also provide a solution for you.
Declare the variables with ? Ex: final Rx<int?> count = 0.obs.
You can also use custom Rxn types with null-safety:
RxInt == not nullable
RxnInt == nullable.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Added documentation in French (@kamazoun)
Fix Get.isDialogOpen when two or more open dialogs are closed
Added logs and tests to unknownRoute
Fix bindStream error 'Object.noSuchMethod'.
Improved Workers system to accept a list of works
Improved the log system to display the tag used in the controller that was created.
Added [reload] and [reloadAll] methods to reload your Controller to original values
Get.to(() => Page()) instead of Get.to(Page()).GetWidget has been completely redesigned. Throughout its lifetime, GetWidget has always been mentioned in the documentation as "something you shouldn'
GetWidget has been completely redesigned. Throughout its lifetime, GetWidget has always been mentioned in the documentation as "something you shouldn't use unless you're sure you need it", and it had a very small use case. A short time ago we realized that it could have some unexpected behaviors, when compared to GetView, so we decided to rebuild it from scratch, creating a really useful widget for the ecosystem. Objectively, GetWidget is now a Widget that caches the controller and protects children from their parents' reconstructions. This means that if you have a ListView or gridview, you can add items to it without the child (being a GetWidget) being rebuilt. The api is now more concise, as you can use Get.put / Get.lazyput for global dependencies, and Get.create with GetWidget for ephemeral dependencies, or when you need several identical controllers for the same widget, eliminating the need for tags for most cases.
Workers now have error handlers, so if an error occurs in your stream, you can recover it from your workers.
isTrue and isFalse setters were added to [RxBool], this will make the code more readable, and will mitigate the use of ".value" in Booleans.
[Patch] method was added in GetConnect.
Native methods for RxString (trim, contains, startWith, etc.) have been added.
Standard constructors for RxList and RxMap have been added (RxList.generate, RxList.from, Map.of, Map.from, etc).
Added "onEmpty" status in StateMixin (@alizera)
Added query and mutation methods of graphql for getconnect.
Added body string for content-type application/x-www-form-urlencoded on GetConnect (@eduardoflorence)
Merge pull request #917 from SchabanBo/master
Update tests, fix predicate for offNamedUntil (@vbuberen)
Fix overlayEntries is null on Master/Dev branch of Flutter
Improve: auto jsonDecode occurs only if response.header.contentType is "application/json"
Your coding agent can read these notes before it upgrades. Set up the MCP server →