## Description
- Introduces new api contracts for git
- Adds feature flag `release_git_api_contracts_enabled`
Fixes https://github.com/appsmithorg/appsmith/issues/38500
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12810595516>
> Commit: 8f05bbfb0b9259c3ee40464099416b75688a4bd1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12810595516&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Thu, 16 Jan 2025 15:05:20 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Introduced a new feature flag `release_git_api_contracts_enabled`
- Added support for enhanced Git API contract handling
- **Improvements**
- Updated type definitions for Git-related operations
- Refined request and response handling for Git artifacts
- Improved type safety for Git references and branches
- **Changes**
- Modified several Git-related request and saga functions to support new
API contracts
- Updated artifact type enum values to use lowercase representations
- Introduced new interfaces for Git references and branches
- **Technical Updates**
- Added conditional logic for feature flag-based request processing
- Restructured type definitions across multiple Git-related modules
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Locator fixes for cy tests
- Missing saga for discard and merge
- New component for hot keys
Fixes https://github.com/appsmithorg/appsmith/issues/37821
Fixes https://github.com/appsmithorg/appsmith/issues/37822
Fixes https://github.com/appsmithorg/appsmith/issues/37824
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12649057943>
> Commit: 94c57d0a2398fca8e6cbb4be573586aa98dffbe1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12649057943&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Tue, 07 Jan 2025 10:42:55 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Added repository limit error modal to handle scenarios when repository
limits are reached.
- Introduced Git hot keys for quick access to Git operations.
- Enhanced Git synchronization functionality with new merge and discard
change capabilities.
- Integrated feature flag handling in test suites for Git-related
functionalities.
- **Improvements**
- Standardized test identifiers across Git-related components.
- Refined Git modal interactions and state management.
- Updated locator references for more consistent testing.
- Improved user feedback with success notifications for branch
deletions.
- **Bug Fixes**
- Resolved issues with branch switching and URL handling.
- Improved error handling in Git synchronization processes.
- **Testing**
- Updated Cypress test suites with new feature flag interceptors.
- Enhanced test coverage for Git operations and modal interactions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Git mod integration with applications behind feature flag
Fixes#37815Fixes#37816Fixes#37817Fixes#37818Fixes#37819Fixes#37820
## Automation
/ok-to-test tags="@tag.All"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12526603607>
> Commit: 19f3ca0a35b16b25b2cff8700e2df4b2a497e7fe
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12526603607&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Sat, 28 Dec 2024 15:57:13 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Introduced various new hooks for Git functionalities, including
`useGitModEnabled`, `useGitCurrentBranch`, `useGitProtectedMode`, and
`useGitConnected`.
- Added a new component `DeployButton` to manage deployment actions.
- Integrated `ConnectSuccessModal` to enhance user feedback upon
successful Git connection.
- Added `GitImportModal` for improved Git import functionality.
- Introduced `GlobalProfileView` for managing and displaying user
profile information.
- Added a new icon, `CloudIconV2`, to the icon provider.
- Implemented `fetchGlobalSSHKey` and `gitImport` sagas for better state
management.
- **Improvements**
- Enhanced handling of Git-related states and actions across multiple
components and sagas.
- Streamlined selector usage for determining preview mode by replacing
`combinedPreviewModeSelector` with `selectCombinedPreviewMode`.
- Updated the `DeployPreview` component to manage success feedback and
handle commit operations more effectively.
- Improved the `StatusChangesView` component by adding a callout for
migration messages.
- Added new transformers for application status handling.
- **Bug Fixes**
- Updated error handling and loading states across various actions and
components to improve reliability.
- **Refactor**
- Refactored action creators to use `createArtifactAction` instead of
`createSingleArtifactAction` for consistency and clarity.
- Consolidated Git import and connection logic to improve modularity and
maintainability.
- Modified the `Header` component to utilize
`GitApplicationContextProvider` for managing Git-related state.
- Updated various components to utilize the new
`selectCombinedPreviewMode` selector for improved state management.
- Refactored the `DeployPreview` component to enhance its functionality
and styling consistency.
- Enhanced the `applicationStatusTransformer` to handle multiple status
transformations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Connects connect modal to store
- Adds component for branch list
Fixes#37814Fixes#37802
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12376713895>
> Commit: 34d96b492e20118aa5d82bfa10b9f09315b2bc60
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12376713895&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Tue, 17 Dec 2024 16:59:28 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a `ConnectInitialize` component for Git provider
connections.
- Added `ConnectSuccess` modal to display successful Git connections.
- Implemented `ImportModal` for Git import functionality.
- Added `LocalProfileView` for managing user profile settings.
- Introduced `BranchList` component for displaying and managing
branches.
- **Bug Fixes**
- Enhanced error handling and state management in various components.
- **Refactor**
- Streamlined prop handling and state management in multiple components.
- Updated action and selector names for clarity and consistency.
- **Tests**
- Expanded test coverage for new and modified components, ensuring
accurate behavior under various conditions.
- **Chores**
- Updated import paths and removed unused files to improve project
structure.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Adds git modal
- Adds pull saga
- Adds ability to commit
- Adds ability to merge
- Adds ability to see status
- Adds ability to discard
- Improves on saga error handling
Fixes#37826Fixes#37803Fixes#37804Fixes#37807
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12319147488>
> Commit: ec461fde26da90af2f365fb36f49e3758c14cb96
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12319147488&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Fri, 13 Dec 2024 17:27:36 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced new components for managing Git operations, including
`ConflictErrorView`, `OpsModal`, `TabDeploy`, `TabMerge`, and
`StatusChanges`.
- Added loading and error handling components such as `StatusLoader` and
`DiscardFailedError`.
- Enhanced the `StatusTree` component for displaying hierarchical status
changes.
- **Bug Fixes**
- Improved error handling across various sagas and components.
- **Refactor**
- Renamed several modal toggle functions for clarity and consistency.
- Updated prop types for improved type safety in components.
- **Chores**
- Removed unused component `GitTest`.
- Updated imports and exports for better organization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Adds GitContextProvider
- Adds more sagas
- Moved actions folder into store
- Minor restructuring of GitQuickActions
Fixes#36814Fixes#36812Fixes#36811Fixes#37805
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12271500398>
> Commit: e1eb35a6c4efab61735ccc55837bdbf5bb26ccfa
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12271500398&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Wed, 11 Dec 2024 08:12:54 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new icon, `ProtectedIcon`, for enhanced visual
representation.
- Added a new component, `CtxAwareGitQuickActions`, for context-aware
Git operations.
- Implemented a new utility hook, `useStatusChangeCount`, to calculate
modified entity counts.
- Added a new component, `BranchList`, for displaying a list of
branches.
- Introduced the `GitQuickActions` component for managing various Git
actions in one interface.
- Added new actions for managing Git branch operations, including
checkout, creation, and deletion.
- Introduced new Redux sagas for handling Git operations, including
checkout, commit, and fetch branches.
- **Bug Fixes**
- Updated error handling for various Git-related actions to ensure
proper state management.
- **Documentation**
- Enhanced documentation for new components and hooks to improve
developer understanding.
- **Chores**
- Removed obsolete files and actions related to branch operations to
streamline the codebase.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Migrates sagas to new git folder
- Introduces slice for git config
Fixes#36811Fixes#36814
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12221200823>
> Commit: 488b3460793b13cc88effd0504a02a33797b4e3e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12221200823&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Sun, 08 Dec 2024 11:57:16 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Introduced new action creators for managing local profile data and
repository limit error modals.
- Added support for fetching and updating both global and local profile
information.
- Added new sagas for handling the fetching of branch data and local
profile updates.
- **Improvements**
- Enhanced type safety across various actions and requests.
- Improved error handling for repository limit scenarios and added
structured error management for profile updates.
- Updated the Redux slice structure for better organization and clarity.
- **Bug Fixes**
- Fixed issues related to loading and error states in action creators.
- **Chores**
- Removed outdated global configuration actions and requests to
streamline the codebase.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->