- Support for the latest IDE versions
- Added Navigation Compose Typed and Compose Destinations as the navigation options in the New Feature Dialog. This will generate the navigation code in the Route/Contract file based on the selected option. You can configure this in the Advanced Options Dialog. The code will be generated based on the selected navigation library if the option is enabled
- Added Sealed Class and Data Class as the Actions Type options in the New Feature Dialog. This will allow you to choose between
Sealed Class
andData Class
for the Actions in the Contract file. You can configure this in the Advanced Options Dialog
- Remove unnecessary Composable import from contract template
- Fix UI for the Advanced Options Dialog
- Added Navigation Compose Typed and Compose Destinations as the navigation options in the New Feature Dialog. This will generate the navigation code in the Route/Contract file based on the selected option. You can configure this in the Advanced Options Dialog. The code will be generated based on the selected navigation library if the option is enabled
- Added Sealed Class and Data Class as the Actions Type options in the New Feature Dialog. This will allow you to choose between
Sealed Class
andData Class
for the Actions in the Contract file. You can configure this in the Advanced Options Dialog
- Remove unnecessary Composable import from contract template
- Added support for the latest IDE versions
- Fixed New Feature Generation when not using the AI client
This release features an integration with Generative AI to build more tailored content when creating Jetpack Compose Features.
Ollama AI will be the first AI client to be integrated with the plugin. Ollama AI is a powerful AI that can generate code snippets, classes, and even whole features based on the provided prompt. With this integration, you can now provide a prompt for the feature you want to create and the AI will generate the feature template for you.
- Plugin now has a dedicated settings page where you can configure the AI client, as a stepping stone right now we only support Ollama AI.
- New Feature Dialog now has a Prompt field. By using this prompt your basic feature template will be enhanced with some methods and calls prefilled based on your use case
- Checkout our README for a more detailed description of the integration and how to use it
- The
PreviewParameterProvider
is now generated as part of the Contract instead of the separate file. This will make it easier to manage the preview parameters and the contract in one place and feature will be less overloaded with files
- Fixed the issue with the
PreviewParameterProvider
and its ppp template having unnecessary annotation and imports - Fixed the issue with
Screen
not having proper state used when PreviewParameterProvider generation is enabled
- New Feature dialog now has an option to generate PreviewParametersProvider template for your State. You can toggle this option in the More options dialog (by @HanBI24)
- PreviewParametersProvider template is now available in the Live Templates. Use
ppp
shortcut to generate a new PreviewParametersProvider template (by @HanBI24)
- Fix the issue with the Live Templates not being available in the IDE
- Support for the latest IDE versions
- Support for latest IDE versions
- New Feature dialog now also has an Advanced More options dialog which provides a place for more configuration options when creating new features
Koin
support: AlongsideHilt
, it is now possible to generate template files withKoin
framework in mind. The coordinator will now respect the ViewModel Injection option from the More options dialog to put proper imports and factory methods based on the selected option.collectAsStateWithLifecycle
option is now available via More Options dialog
LocalActions
utility has been removed from the Contract template
- With the release of 1.0.0 I am very excited to announce official documentation to accompany this plugin. I'm planning to expand the plugin functionality and will be more than pleased to hear some feedback about the Architecture that it implements, so feel free to leave a feedback or start a discussion/issue in the GitHub repository!
- Compose UI Arch Docs - Ever-evolving set of rules and principles that is a foundation of this Plugin architecture templates
- Jetpack Compose UI Architecture Article Introduction to all the components with the example and motivation behind it
- With the release of 1.0.0 I am very excited to announce official documentation to accompany this plugin. I'm planning to expand the plugin functionality and will be more than pleased to hear some feedback about the Architecture that it implements, so feel free to leave feedback or start a discussion/issue in the GitHub repository!
- Compose UI Arch Docs - Ever-evolving set of rules and principles that is a foundation of this Plugin architecture templates
- Jetpack Compose UI Architecture Article - Introduction to all the components with the example and motivation behind it
- Added multiple live templates configurations to accelerate development with
@Compose
even more. There are currently two groups of Live Templates: Foundation and UI Arch. Foundation templates contains heavily used layouts and effects:col
-> Create Composable Column with pre-defined modifier and Arrangementrow
-> Create Composable Row with pre-defined modifier and Arrangementbox
-> Create Composable Box with Modifierlaun
-> Create Launched Effect with Unit Keydisp
-> Create Disposable Effect with Unit Key andonDispose
Prepared
- Fix
collectAsLifecycle
flag not being set properly
- Add Support for the newer IDEs versions
- Removed
Experimental
opt-in from the template whencollectAsStateWithLifecycle()
is used - Updated the UI for the
New Feature
dialog. Since there are no more experimental options this plugin provides, all options are grouped into one section collectAsStateWithLifecycle()
will be enabled by default. User preference is still persisted
- Add support for the newer versions of the IDE
NewFeature
Dialog now includes the experimental features which. They are provided either by the plugin or some other external library- Collect flows in lifecycle aware manner!
collectAsStateWithLifecycle()
is now available under the experimental features. This method requires opt-in and plugin will fill up the opt-in related code for you. Your preference will be persisted across the IDE restarts
- Adjust
Screen
Template to include name in the Preview LocalActions
are not used in theRoute
andScreen
templates anymore
- Plugin now won't try to create files and packages that are already exists
- Adjust
ViewModel
template to not create public flow everytime
- Use
cooridinator
in rememberActions function instead ofstate
- Open
Contract
in editor after new feature is generated - Open
UI Component
in editor after new UI component is generated
- Fix Invalid references and imports in generated files
- Fix
Can not add Action twice
error in IDE startup
Coordinator
is now renamed toRoute
and what is used to be calledCoordinatorState
is now calledCoordinator
. These new names are more self-explanatory and shorter :)
- Default Actions in the Composition Local is now set to Error to avoid having multiple sources of truth
- Use asStateFlow in the ViewModel. This will ensure the consumer of the flow wont be able to mutate it outside the ViewModel
- Generate new [Feat]CoordinatorState component
- Add support for the latest IDEs builds
- Made feature package generation optional - controlled by the checkbox
- Remove UIEvents posted from the ViewModel and LaunchedEffect in coordinator that used to handle it
- Replace
MutableSharedFlow
withMutableStateFlow
inViewModel
- Fix Contract Template generation
- New action to create UI Component
- New feature Action now generates the package structure as well
- UI updates with notes about created files