Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(api): Add support for storing and managing variables #149

Merged
merged 2 commits into from
Feb 20, 2024

Conversation

rajdip-b
Copy link
Member

@rajdip-b rajdip-b commented Feb 20, 2024

User description

Fixes #91


Type

enhancement, tests


Description

  • Introduced the VariableModule for managing variables within the application.
  • Added CRUD operations for variables including version management.
  • Extended event handling to support variable-related events.
  • Implemented utility functions for fetching variables with authority checks and default project environments.
  • Added comprehensive tests covering new variable functionality and related event handling.

Changes walkthrough

Relevant files
Enhancement
13 files
app.module.ts
Integrate Variable Module into App Module                               

apps/api/src/app/app.module.ts

  • Imported and added VariableModule to the application module imports.
  • +3/-1     
    cleanup.ts
    Add Variable Cleanup Logic                                                             

    apps/api/src/common/cleanup.ts

  • Added cleanup logic for prisma.variable.deleteMany() to remove all
    variables during cleanup.
  • +2/-1     
    create-event.ts
    Extend Event Creation for Variable Entity                               

    apps/api/src/common/create-event.ts

  • Extended createEvent function to handle Variable entity events.
  • Added case for EventSource.VARIABLE to assign sourceVariableId.
  • +16/-2   
    get-default-project-environemnt.ts
    Utility to Fetch Default Project Environment                         

    apps/api/src/common/get-default-project-environemnt.ts

  • Added a new utility function to fetch the default environment of a
    project.
  • +13/-0   
    get-variable-with-authority.ts
    Fetch Variable with Authority Verification                             

    apps/api/src/common/get-variable-with-authority.ts

    • Implemented a function to fetch a variable with authority checks.
    +57/-0   
    event.controller.ts
    Extend Event Controller to Support Variable Events             

    apps/api/src/event/controller/event.controller.ts

  • Extended EventController to include variableId in query parameters for
    fetching events.
  • +2/-0     
    event.service.ts
    Support Variable ID in Event Service                                         

    apps/api/src/event/service/event.service.ts

  • Extended EventService to handle variable ID in event fetching logic.
  • +10/-0   
    secret.service.ts
    Refactor and Extend Secret Service with Events                     

    apps/api/src/secret/service/secret.service.ts

  • Refactored to use getDefaultEnvironmentOfProject utility.
  • Added event creation for secret rollback and deletion actions.
  • +40/-14 
    variable.controller.ts
    Implement Variable Controller                                                       

    apps/api/src/variable/controller/variable.controller.ts

    • Implemented CRUD operations for variables in VariableController.
    +113/-0 
    create.variable.ts
    Define CreateVariable DTO                                                               

    apps/api/src/variable/dto/create.variable/create.variable.ts

    • Defined CreateVariable DTO with validation decorators.
    +13/-0   
    variable.service.ts
    Implement Variable Service                                                             

    apps/api/src/variable/service/variable.service.ts

  • Implemented VariableService with methods for CRUD operations and
    version management.
  • +464/-0 
    variable.module.ts
    Define Variable Module                                                                     

    apps/api/src/variable/variable.module.ts

    • Defined VariableModule with controller and service providers.
    +9/-0     
    variable.types.ts
    Define Types for Variable Entities                                             

    apps/api/src/variable/variable.types.ts

    • Defined types for variable-related entities.
    +16/-0   
    Tests
    6 files
    event.e2e.spec.ts
    E2E Tests for Variable Events                                                       

    apps/api/src/event/event.e2e.spec.ts

  • Added end-to-end tests for event functionality involving variables.
  • Included VariableService and VariableModule in test setup.
  • Added test case for fetching a variable event.
  • +43/-1   
    variable.controller.spec.ts
    Unit Tests for Variable Controller                                             

    apps/api/src/variable/controller/variable.controller.spec.ts

    • Added unit tests for VariableController.
    +30/-0   
    create.variable.spec.ts
    Unit Tests for CreateVariable DTO                                               

    apps/api/src/variable/dto/create.variable/create.variable.spec.ts

    • Added unit tests for CreateVariable DTO.
    +7/-0     
    update.variable.spec.ts
    Unit Tests for UpdateVariable DTO                                               

    apps/api/src/variable/dto/update.variable/update.variable.spec.ts

    • Added unit tests for UpdateVariable DTO.
    +7/-0     
    variable.service.spec.ts
    Unit Tests for Variable Service                                                   

    apps/api/src/variable/service/variable.service.spec.ts

    • Added unit tests for VariableService.
    +28/-0   
    variable.e2e.spec.ts
    E2E Tests for Variable Functionality                                         

    apps/api/src/variable/variable.e2e.spec.ts

    • Added end-to-end tests for variable functionality.
    +865/-0 
    Configuration changes
    2 files
    migration.sql
    Database Migration for Variable Entities                                 

    apps/api/src/prisma/migrations/20240219163241_add_variable/migration.sql

  • Migration script to add variable and variable version entities to the
    database schema.
  • +91/-0   
    schema.prisma
    Update Prisma Schema for Variable Models                                 

    apps/api/src/prisma/schema.prisma

  • Updated Prisma schema to include variable and variable version models.

  • +59/-6   

    PR-Agent usage:
    Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

    Copy link

    Quality Gate Passed Quality Gate passed

    Issues
    0 New issues

    Measures
    0 Security Hotspots
    No data about Coverage
    28.1% Duplication on New Code

    See analysis details on SonarCloud

    @codiumai-pr-agent-free codiumai-pr-agent-free bot added type: enhancement New feature or request Tests labels Feb 20, 2024
    Copy link
    Contributor

    PR Description updated to latest commit (b61803a)

    Copy link
    Contributor

    PR Review

         PR feedback                    
    ⏱️ Estimated effort to review [1-5]

    4, because the PR introduces a significant amount of new functionality across multiple files, including a new module, service, controller, DTOs, and integration with existing systems like events and permissions. The complexity is increased by the introduction of variable versioning and environment-specific logic.

    🧪 Relevant tests

    Yes

    🔍 Possible issues
    • There is a potential issue with the unique constraint on variables (Variable_projectId_environmentId_name_key). If a variable is moved between environments within the same project, and a variable with the same name exists in the target environment, the operation will fail. This scenario seems to be handled in the code, but it's a complex logic that could be prone to errors.
    • The rollback functionality for variables does not check if the rollback version is less than the current version. This could potentially allow rolling back to a version higher than the current one, which doesn't make sense in the context of a rollback operation.
    • The VariableService directly accesses the Prisma client for database operations, which is fine, but it increases the coupling between the service and the Prisma client. Consider abstracting these operations behind a repository layer to make the service easier to test and maintain.
    🔒 Security concerns

    No


    ✨ Review tool usage guide:

    Overview:
    The review tool scans the PR code changes, and generates a PR review. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on any PR.
    When commenting, to edit configurations related to the review tool (pr_reviewer section), use the following template:

    /review --pr_reviewer.some_config1=... --pr_reviewer.some_config2=...
    

    With a configuration file, use the following template:

    [pr_reviewer]
    some_config1=...
    some_config2=...
    
    Utilizing extra instructions

    The review tool can be configured with extra instructions, which can be used to guide the model to a feedback tailored to the needs of your project.

    Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify the relevant sub-tool, and the relevant aspects of the PR that you want to emphasize.

    Examples for extra instructions:

    [pr_reviewer] # /review #
    extra_instructions="""
    In the 'possible issues' section, emphasize the following:
    - Does the code logic cover relevant edge cases?
    - Is the code logic clear and easy to understand?
    - Is the code logic efficient?
    ...
    """
    

    Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.

    How to enable\disable automation
    • When you first install PR-Agent app, the default mode for the review tool is:
    pr_commands = ["/review", ...]
    

    meaning the review tool will run automatically on every PR, with the default configuration.
    Edit this field to enable/disable the tool, or to change the used configurations

    Auto-labels

    The review tool can auto-generate two specific types of labels for a PR:

    • a possible security issue label, that detects possible security issues (enable_review_labels_security flag)
    • a Review effort [1-5]: x label, where x is the estimated effort to review the PR (enable_review_labels_effort flag)
    Extra sub-tools

    The review tool provides a collection of possible feedbacks about a PR.
    It is recommended to review the possible options, and choose the ones relevant for your use case.
    Some of the feature that are disabled by default are quite useful, and should be considered for enabling. For example:
    require_score_review, require_soc2_ticket, and more.

    Auto-approve PRs

    By invoking:

    /review auto_approve
    

    The tool will automatically approve the PR, and add a comment with the approval.

    To ensure safety, the auto-approval feature is disabled by default. To enable auto-approval, you need to actively set in a pre-defined configuration file the following:

    [pr_reviewer]
    enable_auto_approval = true
    

    (this specific flag cannot be set with a command line argument, only in the configuration file, committed to the repository)

    You can also enable auto-approval only if the PR meets certain requirements, such as that the estimated_review_effort is equal or below a certain threshold, by adjusting the flag:

    [pr_reviewer]
    maximal_review_effort = 5
    
    More PR-Agent commands

    To invoke the PR-Agent, add a comment using one of the following commands:

    • /review: Request a review of your Pull Request.
    • /describe: Update the PR title and description based on the contents of the PR.
    • /improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
    • /ask <QUESTION>: Ask a question about the PR.
    • /update_changelog: Update the changelog based on the PR's contents.
    • /add_docs 💎: Generate docstring for new components introduced in the PR.
    • /generate_labels 💎: Generate labels for the PR based on the PR's contents.
    • /analyze 💎: Automatically analyzes the PR, and presents changes walkthrough for each component.

    See the tools guide for more details.
    To list the possible configuration parameters, add a /config comment.

    See the review usage page for a comprehensive guide on using this tool.

    Copy link
    Contributor

    codiumai-pr-agent-free bot commented Feb 20, 2024

    PR Code Suggestions

    Suggestions                                                                                                                                                     
    enhancement
    Improve error handling in the catch block.                                   

    Consider implementing a more specific error handling strategy instead of an empty catch
    block. This will help in identifying and debugging issues more effectively.

    apps/api/src/common/get-variable-with-authority.ts [31-33]

     } catch (error) {
    -  /* empty */
    +  console.error(`Failed to fetch variable with ID ${variableId}:`, error);
    +  throw new InternalServerErrorException(`Error fetching variable with ID ${variableId}`);
     }
     
    Use a transaction for the rollback operation.                                

    To ensure the rollback operation is atomic and to handle potential errors more gracefully,
    consider wrapping the deletion and event creation logic inside a transaction.

    apps/api/src/secret/service/secret.service.ts [314-321]

    -const result = await this.prisma.secretVersion.deleteMany({
    -  where: {
    -    secretId,
    -    version: {
    -      gt: Number(rollbackVersion)
    +const result = await this.prisma.$transaction(async (prisma) => {
    +  const deleteResult = await prisma.secretVersion.deleteMany({
    +    where: {
    +      secretId,
    +      version: {
    +        gt: Number(rollbackVersion)
    +      }
         }
    -  }
    -})
    +  });
    +  await createEvent({...}, prisma);
    +  return deleteResult;
    +});
     
    Wrap deletion operations in a transaction for atomicity.                     

    To ensure that all deletions are performed as a single atomic operation, consider wrapping
    the deletion operations in a transaction.

    apps/api/src/common/cleanup.ts [11-15]

    -await Promise.all([
    +await prisma.$transaction([
       prisma.project.deleteMany(),
       prisma.user.deleteMany(),
       prisma.event.deleteMany(),
       prisma.apiKey.deleteMany(),
       prisma.variable.deleteMany()
     ])
     
    Use transactions for multiple database operations to ensure data consistency.

    Consider using a transaction for operations that involve multiple steps or queries to
    ensure data consistency. This is particularly useful in functions like createVariable,
    updateVariable, and deleteVariable where multiple database operations are performed.
    NestJS's PrismaService can facilitate transactions using the prisma.$transaction method.

    apps/api/src/variable/service/variable.service.ts [76-104]

    -const variable = await this.prisma.variable.create({
    -  data: {
    -    name: dto.name,
    -    versions: {
    -      create: {
    -        value: dto.value,
    -        version: 1,
    -        createdBy: {
    -          connect: {
    -            id: user.id
    -          }
    -        }
    -      }
    -    },
    -    environment: {
    -      connect: {
    -        id: environment.id
    -      }
    -    },
    -    project: {
    -      connect: {
    -        id: projectId
    -      }
    -    },
    -    lastUpdatedBy: {
    -      connect: {
    -        id: user.id
    -      }
    -    }
    -  }
    -})
    +const variable = await this.prisma.$transaction(async (prisma) => {
    +  // Wrap your operations here
    +});
     
    Enhance error messages for better debugging and error handling.              

    For better error handling and debugging, consider adding more specific error messages in
    the NotFoundException and ConflictException throughout your service methods. This will
    help in quickly identifying issues related to specific entities.

    apps/api/src/variable/service/variable.service.ts [63-65]

     throw new NotFoundException(
    -  `No default environment found for project with id ${projectId}`
    +  `No default environment found for project with id ${projectId}. Ensure the project exists and has a default environment set.`
     )
     
    Add a description for the new enum value to clarify its purpose.             

    Consider adding a description for the VARIABLE enum value in EventSource to clarify its
    purpose and usage within the system.

    apps/api/src/prisma/schema.prisma [12]

    -VARIABLE
    +VARIABLE // Description of VARIABLE's purpose
     
    Add an isActive field to VariableVersion for better version management.      

    Ensure that the VariableVersion model includes a field or mechanism to track whether a
    version is active or has been superseded by a newer version, to facilitate version
    management and rollback.

    apps/api/src/prisma/schema.prisma [337-340]

     model VariableVersion {
       id      String @id @default(cuid())
       value   String
       version Int    @default(1)
    +  isActive Boolean @default(true)
     
    best practice
    Use query parameters for optional filtering in getAllVariablesOfProject.

    For better API design and consistency, consider using query parameters instead of path
    parameters for optional filtering, sorting, and pagination options in
    getAllVariablesOfProject.

    apps/api/src/variable/controller/variable.controller.ts [92-102]

    -@Get('/all/:projectId')
    +@Get('/all')
     async getAllVariablesOfProject(
       @CurrentUser() user: User,
    -  @Param('projectId') projectId: string,
    +  @Query('projectId') projectId: string,
       @Query('page') page: number = 0,
       @Query('limit') limit: number = 10,
       @Query('sort') sort: string = 'name',
       @Query('order') order: string = 'asc',
       @Query('search') search: string = ''
     ) {
     
    Use uppercase for model fields for consistency and to avoid case sensitivity issues.

    For consistency and to avoid potential issues with case sensitivity in different
    environments, consider using uppercase for the Variable model fields id, name, createdAt,
    updatedAt, lastUpdatedById, projectId, and environmentId.

    apps/api/src/prisma/schema.prisma [353-357]

     model Variable {
    -  id        String            @id @default(cuid())
    -  name      String
    -  versions  VariableVersion[] // Stores the versions of the variable
    -  createdAt DateTime          @default(now())
    -  updatedAt DateTime          @updatedAt
    +  ID              String            @id @default(cuid())
    +  NAME            String
    +  VERSIONS        VariableVersion[] // Stores the versions of the variable
    +  CREATED_AT      DateTime          @default(now())
    +  UPDATED_AT      DateTime          @updatedAt
     
    Ensure the 'value' field in VariableVersion cannot be empty.                 

    To improve data integrity, consider adding constraints or checks to ensure that the value
    field in the VariableVersion model cannot be empty.

    apps/api/src/prisma/schema.prisma [339]

    -value   String
    +value   String @db.VarChar(255) @notEmpty
     
    Add deletion policies for Variable and VariableVersion models.               

    It's recommended to add a deletion policy for the Variable and VariableVersion models to
    handle cascading deletes or set nulls for related fields to maintain database integrity
    when deletions occur.

    apps/api/src/prisma/schema.prisma [352-355]

     model Variable {
       id        String            @id @default(cuid())
       name      String
    -  versions  VariableVersion[] // Stores the versions of the variable
    +  versions  VariableVersion[] @relation(onDelete: Cascade) // Stores the versions of the variable
     
    maintainability
    Organize variable event tests into separate describe blocks.                 

    To improve test isolation and readability, consider creating separate describe blocks for
    each controller action being tested, such as creating, fetching, and deleting variable
    events.

    apps/api/src/event/event.e2e.spec.ts [302]

    -it('should be able to fetch a variable event', async () => {
    -  const newVariable = await variableService.createVariable(
    -    user,
    -    {
    -      name: 'My variable',
    -      value: 'My value',
    -      environmentId: environment.id
    -    },
    -    project.id
    -  )
    +describe('Variable Event Tests', () => {
    +  it('should be able to create a variable event', async () => {
    +    // Test for creating a variable event
    +  });
    +  it('should be able to fetch a variable event', async () => {
    +    // Test for fetching a variable event
    +  });
    +  // Additional tests for variable events
    +});
     
    Abstract repeated logic for checking variable existence into a separate method to reduce code duplication.

    To improve the readability and maintainability of your code, consider abstracting the
    logic for checking if a variable exists into a separate method. This logic is repeated in
    multiple places (createVariable, updateVariable, and updateVariableEnvironment) and can be
    refactored to reduce code duplication.

    apps/api/src/variable/service/variable.service.ts [69-72]

    -if (await this.variableExists(dto.name, environment.id)) {
    -  throw new ConflictException(
    -    `Variable already exists: ${dto.name} in environment ${environment.id} in project ${projectId}`
    -  )
    -}
    +await this.ensureVariableDoesNotExist(dto.name, environment.id, projectId);
     
    security
    Implement input validation for DTOs to enhance security and data integrity.  

    To ensure the security and integrity of your application, consider implementing input
    validation for all incoming DTOs. This is especially important for methods like
    createVariable and updateVariable where user input directly affects database operations.

    apps/api/src/variable/service/variable.service.ts [33-37]

    -async createVariable(
    -  user: User,
    -  dto: CreateVariable,
    -  projectId: Project['id']
    -) {
    +// Ensure dto and projectId are validated before proceeding with the method implementation
     
    performance
    Ensure pagination parameters are validated and sanitized for optimal performance and security.

    Consider implementing pagination in the getAllVariablesOfProject method to manage and
    optimize the performance of large datasets. This can be achieved by using the skip and
    take parameters dynamically based on the client's request.

    apps/api/src/variable/service/variable.service.ts [414-446]

    -return await this.prisma.variable.findMany({
    -  where: {
    -    projectId,
    -    name: {
    -      contains: search
    -    }
    -  },
    -  include: {
    -    versions: {
    -      orderBy: {
    -        version: 'desc'
    -      },
    -      take: 1
    -    },
    -    lastUpdatedBy: {
    -      select: {
    -        id: true,
    -        name: true
    -      }
    -    },
    -    environment: {
    -      select: {
    -        id: true,
    -        name: true
    -      }
    -    }
    -  },
    -  skip: page * limit,
    -  take: limit,
    -  orderBy: {
    -    [sort]: order
    -  }
    -})
    +// The existing code already demonstrates a basic pagination implementation. Ensure that `page`, `limit`, `sort`, and `order` parameters are validated and sanitized.
     

    ✨ Improve tool usage guide:

    Overview:
    The improve tool scans the PR code changes, and automatically generates suggestions for improving the PR code. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on a PR.
    When commenting, to edit configurations related to the improve tool (pr_code_suggestions section), use the following template:

    /improve --pr_code_suggestions.some_config1=... --pr_code_suggestions.some_config2=...
    

    With a configuration file, use the following template:

    [pr_code_suggestions]
    some_config1=...
    some_config2=...
    
    Enabling\disabling automation

    When you first install the app, the default mode for the improve tool is:

    pr_commands = ["/improve --pr_code_suggestions.summarize=true", ...]
    

    meaning the improve tool will run automatically on every PR, with summarization enabled. Delete this line to disable the tool from running automatically.

    Utilizing extra instructions

    Extra instructions are very important for the improve tool, since they enable to guide the model to suggestions that are more relevant to the specific needs of the project.

    Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify relevant aspects that you want the model to focus on.

    Examples for extra instructions:

    [pr_code_suggestions] # /improve #
    extra_instructions="""
    Emphasize the following aspects:
    - Does the code logic cover relevant edge cases?
    - Is the code logic clear and easy to understand?
    - Is the code logic efficient?
    ...
    """
    

    Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.

    A note on code suggestions quality
    • While the current AI for code is getting better and better (GPT-4), it's not flawless. Not all the suggestions will be perfect, and a user should not accept all of them automatically.
    • Suggestions are not meant to be simplistic. Instead, they aim to give deep feedback and raise questions, ideas and thoughts to the user, who can then use his judgment, experience, and understanding of the code base.
    • Recommended to use the 'extra_instructions' field to guide the model to suggestions that are more relevant to the specific needs of the project, or use the custom suggestions 💎 tool
    • With large PRs, best quality will be obtained by using 'improve --extended' mode.
    More PR-Agent commands

    To invoke the PR-Agent, add a comment using one of the following commands:

    • /review: Request a review of your Pull Request.
    • /describe: Update the PR title and description based on the contents of the PR.
    • /improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
    • /ask <QUESTION>: Ask a question about the PR.
    • /update_changelog: Update the changelog based on the PR's contents.
    • /add_docs 💎: Generate docstring for new components introduced in the PR.
    • /generate_labels 💎: Generate labels for the PR based on the PR's contents.
    • /analyze 💎: Automatically analyzes the PR, and presents changes walkthrough for each component.

    See the tools guide for more details.
    To list the possible configuration parameters, add a /config comment.

    See the improve usage page for a more comprehensive guide on using this tool.

    Copy link

    nx-cloud bot commented Feb 20, 2024

    ☁️ Nx Cloud Report

    CI is running/has finished running commands for commit b61803a. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

    📂 See all runs for this CI Pipeline Execution


    ✅ Successfully ran 3 targets

    Sent with 💌 from NxCloud.

    Copy link

    codecov bot commented Feb 20, 2024

    Codecov Report

    All modified and coverable lines are covered by tests ✅

    Comparison is base (7bb3d21) 62.20% compared to head (b61803a) 89.24%.
    Report is 14 commits behind head on develop.

    Additional details and impacted files
    @@             Coverage Diff              @@
    ##           develop     #149       +/-   ##
    ============================================
    + Coverage    62.20%   89.24%   +27.03%     
    ============================================
      Files           76       83        +7     
      Lines         1503     1637      +134     
      Branches       260      275       +15     
    ============================================
    + Hits           935     1461      +526     
    + Misses         568      176      -392     
    Flag Coverage Δ
    api-e2e-tests 89.24% <100.00%> (+27.03%) ⬆️

    Flags with carried forward coverage won't be shown. Click here to find out more.

    ☔ View full report in Codecov by Sentry.
    📢 Have feedback on the report? Share it here.

    @rajdip-b rajdip-b merged commit 963a8ae into develop Feb 20, 2024
    9 of 10 checks passed
    @rajdip-b rajdip-b deleted the feat/variable branch February 20, 2024 15:43
    rajdip-b pushed a commit that referenced this pull request May 12, 2024
    ## [1.3.0](v1.2.0...v1.3.0) (2024-05-12)
    
    ### 🚀 Features
    
    * Add approval support ([#158](#158)) ([e09ae60](e09ae60))
    * **api:** Add configuration live update support ([#181](#181)) ([f7d6684](f7d6684))
    * **api:** Add feature to export data of a workspace ([#152](#152)) ([46833aa](46833aa))
    * **api:** Add Integration support ([#203](#203)) ([f1ae87e](f1ae87e))
    * **api:** Add note to [secure] and variable ([#151](#151)) ([2e62351](2e62351))
    * **api:** Add OAuth redirection and polished authentication ([#212](#212)) ([d2968bc](d2968bc))
    * **api:** Add support for storing and managing variables ([#149](#149)) ([963a8ae](963a8ae))
    * **api:** Added GitLab OAuth ([#188](#188)) ([4d3bbe4](4d3bbe4))
    * **api:** Added validation for reason field ([#190](#190)) ([90b8ff2](90b8ff2))
    * **api:** Create default workspace on user's creation ([#182](#182)) ([3dc0c4c](3dc0c4c))
    * **api:** Reading `port` Dynamically ([#170](#170)) ([fd46e3e](fd46e3e))
    * **auth:** Add Google OAuth ([#156](#156)) ([cf387ea](cf387ea))
    * **web:** Added waitlist ([#168](#168)) ([1084c77](1084c77))
    * **web:** Landing revamp ([#165](#165)) ([0bc723b](0bc723b))
    
    ### 🐛 Bug Fixes
    
    * **web:** alignment issue in “Collaboration made easy” section ([#178](#178)) ([df5ca75](df5ca75))
    * **workspace:** delete duplicate tailwind config ([99d922a](99d922a))
    
    ### 📚 Documentation
    
    * add contributor list ([f37569a](f37569a))
    * Add integration docs ([#204](#204)) ([406ddb7](406ddb7))
    * Added integration docs to gitbook summary ([ab37530](ab37530))
    * **api:** Add swagger docs of API key controller ([#167](#167)) ([2910476](2910476))
    * **api:** Add swagger docs of User Controller ([#166](#166)) ([fd59522](fd59522))
    * fix typo in environment-variables.md ([#163](#163)) ([48294c9](48294c9))
    * Remove supabase from docs ([#169](#169)) ([eddbce8](eddbce8))
    * **setup:** replace NX with Turbo in setup instructions ([#175](#175)) ([af8a460](af8a460))
    * Update README.md ([b59f16b](b59f16b))
    * Update running-the-api.md ([177dbbf](177dbbf))
    * Update running-the-api.md ([#193](#193)) ([3d5bcac](3d5bcac))
    
    ### 🔧 Miscellaneous Chores
    
    * Added lockfile ([60a3b9b](60a3b9b))
    * Added lockfile ([6bb512c](6bb512c))
    * **api:** Added type inference and runtime validation to `process.env` ([#200](#200)) ([249e07d](249e07d))
    * **api:** Fixed prisma script env errors ([#209](#209)) ([8762354](8762354))
    * **API:** Refactor authority check functions in API ([#189](#189)) ([e9d710d](e9d710d))
    * **api:** Refactor user e2e tests ([b38d45a](b38d45a))
    * **ci:** Disabled api stage release ([97877c4](97877c4))
    * **ci:** Update stage deployment config ([868a6a1](868a6a1))
    * **codecov:** update api-e2e project coverage ([1e90d7e](1e90d7e))
    * **dockerfile:** Fixed web dockerfile ([6134bb2](6134bb2))
    * **docker:** Optimized web Dockerfile to reduct image size ([#173](#173)) ([444286a](444286a))
    * **release:** Downgraded package version ([c173fee](c173fee))
    * **release:** Fix failing release ([#213](#213)) ([40f64f3](40f64f3))
    * **release:** Install pnpm ([1081bea](1081bea))
    * **release:** Updated release commit ([b8958e7](b8958e7))
    * **release:** Updated release commit ([e270eb8](e270eb8))
    * Update deprecated husky Install command ([#202](#202)) ([e61102c](e61102c))
    * Upgrade @million/lint from 0.0.66 to 0.0.73 ([#172](#172)) ([dd43ed9](dd43ed9))
    * **web:** Updated fly memory config ([4debc66](4debc66))
    
    ### 🔨 Code Refactoring
    
    * **api:** Made events central to workspace ([#159](#159)) ([9bc00ae](9bc00ae))
    * **api:** Migrated to cookie based authentication ([#206](#206)) ([ad6911f](ad6911f))
    * **monorepo:** Migrate from nx to turbo ([#153](#153)) ([88b4b00](88b4b00))
    @rajdip-b
    Copy link
    Member Author

    🎉 This PR is included in version 1.3.0 🎉

    The release is available on GitHub release

    Your semantic-release bot 📦🚀

    csehatt741 pushed a commit to csehatt741/keyshade that referenced this pull request Feb 15, 2025
    ## 1.0.0 (2025-02-15)
    
    ### ⚠ BREAKING CHANGES
    
    * **api:** Refactor environment, [secure] and variable functionality
    * **api:** update workspace role mechanism and added functionality to create custom roles
    
    ### 🚀 Features
    
    * add api-keys module ([abb2863](https://github.com/csehatt741/keyshade/commit/abb28632c069bd01e95fbcc8081a5d2eed786b8f))
    * Add approval support ([#158](https://github.com/csehatt741/keyshade/issues/158)) ([e09ae60](https://github.com/csehatt741/keyshade/commit/e09ae60f48c2339c2000af2f45b3e07db2780f41))
    * add example for health and email auth ([b834d25](https://github.com/csehatt741/keyshade/commit/b834d254a8d9bc506021b8ab07b6e94c80997b9f))
    * add project module ([c96df17](https://github.com/csehatt741/keyshade/commit/c96df17b94f96578903f3de68394458af8e8a9f2))
    * add project, environment module ([fd5c4d7](https://github.com/csehatt741/keyshade/commit/fd5c4d744467395c0b360916ed85bd6cf88c698e))
    * Add RBAC ([b4cb14f](https://github.com/csehatt741/keyshade/commit/b4cb14f7fbb29c1c53e562c654a4ab5495d69e9f))
    * add [secure] module ([cd79172](https://github.com/csehatt741/keyshade/commit/cd79172ca33aa5c6c72b7859acdeaa2bb5b10970))
    * add swagger ([b15dbb0](https://github.com/csehatt741/keyshade/commit/b15dbb05b3d2dae83d7250437dfa82077fd31ae4))
    * added the auto assign workflow yaml file ([eadca0c](https://github.com/csehatt741/keyshade/commit/eadca0c0a2012344ef9030fade217e9cf57b7783))
    * added the auto assign workflow yaml file ([5e1d0f1](https://github.com/csehatt741/keyshade/commit/5e1d0f153cda371a415c27e92ac558b770058b3e))
    * **api:**  Add icon and remove description field from workspace ([#435](https://github.com/csehatt741/keyshade/issues/435)) ([a99c0db](https://github.com/csehatt741/keyshade/commit/a99c0db079f18bd76437c4bf23e08095b0635c41))
    * **api-client:** Added API Client package ([#346](https://github.com/csehatt741/keyshade/issues/346)) ([6734e1e](https://github.com/csehatt741/keyshade/commit/6734e1e2490915406a82c2e5a6bd88944b0fb664))
    * **api-client:** Added workspace controller ([#427](https://github.com/csehatt741/keyshade/issues/427)) ([2f4edec](https://github.com/csehatt741/keyshade/commit/2f4edecd0837f7658892a37902c62f05ab96c884))
    * **api-client:** Added workspace role controller ([#430](https://github.com/csehatt741/keyshade/issues/430)) ([b03ce8e](https://github.com/csehatt741/keyshade/commit/b03ce8ee346ee054b2460093ee5542551c175f60))
    * **api-client:** Added workspace-membership and related tests ([#452](https://github.com/csehatt741/keyshade/issues/452)) ([6a1c091](https://github.com/csehatt741/keyshade/commit/6a1c091ceabe012eabd247eee04fd9a67717ffec))
    * **api-client:** Create controller for Event module ([#399](https://github.com/csehatt741/keyshade/issues/399)) ([122df35](https://github.com/csehatt741/keyshade/commit/122df351b551e88f0d854f6750faaef94f92e3de))
    * **api-client:** Create controller for Integration module ([#397](https://github.com/csehatt741/keyshade/issues/397)) ([697d38b](https://github.com/csehatt741/keyshade/commit/697d38bbd32d7c025c233fd1724a31d34e56e50c))
    * **api-client:** Create controller for Project module ([#370](https://github.com/csehatt741/keyshade/issues/370)) ([fa25866](https://github.com/csehatt741/keyshade/commit/fa25866cef5497620ab0af9ddc55d320c05050fe))
    * **api-client:** Create controller for Secret module ([#396](https://github.com/csehatt741/keyshade/issues/396)) ([7e929c0](https://github.com/csehatt741/keyshade/commit/7e929c08a2e97d5518efef7c7671aa52068702ca))
    * **api-client:** Create controller for User module ([#484](https://github.com/csehatt741/keyshade/issues/484)) ([f9d8e83](https://github.com/csehatt741/keyshade/commit/f9d8e83f14a0f697828a4d11db869f24a9314359))
    * **api-client:** Create controller for Variable module ([#395](https://github.com/csehatt741/keyshade/issues/395)) ([3e114d9](https://github.com/csehatt741/keyshade/commit/3e114d9407e9a7243b1a24514e07a0b8ac939223))
    * **api-client:** Get all workspace invitation ([#619](https://github.com/csehatt741/keyshade/issues/619)) ([8a23850](https://github.com/csehatt741/keyshade/commit/8a238505c8fd0c4c46c7fa6caf710e35c699ac42))
    * **api-client:** Synced with latest API ([27f4309](https://github.com/csehatt741/keyshade/commit/27f4309817b7736d273e9c3532af00e3ed73d943))
    * **api, schema:** Add preview field in API Key ([#680](https://github.com/csehatt741/keyshade/issues/680)) ([06d8c44](https://github.com/csehatt741/keyshade/commit/06d8c44c4e06d823cdb2a41cd482aace9cba8ec2))
    * **api,cli,api-client,schema:** Enhance permissions to allow filtering by environments through project roles ([#599](https://github.com/csehatt741/keyshade/issues/599)) ([030b539](https://github.com/csehatt741/keyshade/commit/030b53992d0f9901b6f0655f775e17178b788343))
    * **api:** Add `ADMIN` authority for API keys ([#609](https://github.com/csehatt741/keyshade/issues/609)) ([fb6aba7](https://github.com/csehatt741/keyshade/commit/fb6aba7148a7980d65657aa265dfb479a275bdb4))
    * **api:** Add `minio-client` provider ([#237](https://github.com/csehatt741/keyshade/issues/237)) ([cd71c5a](https://github.com/csehatt741/keyshade/commit/cd71c5aae15711ab7309069cf6416d0b25eed9e7))
    * **api:** Add `requireRestart` parameter ([#286](https://github.com/csehatt741/keyshade/issues/286)) ([fb447a1](https://github.com/csehatt741/keyshade/commit/fb447a1852a95dcacfdb0aa896fd1521430fa095))
    * **api:** Add configuration live update support ([#181](https://github.com/csehatt741/keyshade/issues/181)) ([f7d6684](https://github.com/csehatt741/keyshade/commit/f7d668449bfe84286ef973eb1751a2b6c377f2ba))
    * **api:** Add email template for inviting user to workspace ([#480](https://github.com/csehatt741/keyshade/issues/480)) ([f5ddf7a](https://github.com/csehatt741/keyshade/commit/f5ddf7a6b869868abcffba0ba71fb6d23851fbd1))
    * **api:** Add email template for sending OTP to the user ([#582](https://github.com/csehatt741/keyshade/issues/582)) ([cb6bbcb](https://github.com/csehatt741/keyshade/commit/cb6bbcbac97427286e3e149c211438ca77c7438e))
    * **api:** Add endpoint to fetch all workspace invitations for a user ([#586](https://github.com/csehatt741/keyshade/issues/586)) ([d45417a](https://github.com/csehatt741/keyshade/commit/d45417a21cb33705e927175b4e52aeb6d310b290))
    * **api:** add event ([#115](https://github.com/csehatt741/keyshade/issues/115)) ([19e6603](https://github.com/csehatt741/keyshade/commit/19e6603341fb7d4d0f752d1c3b3c02695f25ab25))
    * **api:** Add feature to export data of a workspace ([#152](https://github.com/csehatt741/keyshade/issues/152)) ([46833aa](https://github.com/csehatt741/keyshade/commit/46833aa8bd4362cfdf08817d2faaf2a8e8bdeb99))
    * **api:** Add feature to fork projects ([#239](https://github.com/csehatt741/keyshade/issues/239)) ([3bab653](https://github.com/csehatt741/keyshade/commit/3bab653eb801fa561cd9f3c7c375ba32dda00c36))
    * **api:** Add global search in workspace ([c49962b](https://github.com/csehatt741/keyshade/commit/c49962bf1f4441e95dbcbf1e10520f66c60496bb))
    * **api:** Add Integration support ([#203](https://github.com/csehatt741/keyshade/issues/203)) ([f1ae87e](https://github.com/csehatt741/keyshade/commit/f1ae87ecca47e74ab4897f6e5d1c2457abd18a51))
    * **api:** Add logout endpoint to clear token cookie ([#581](https://github.com/csehatt741/keyshade/issues/581)) ([27f81ba](https://github.com/csehatt741/keyshade/commit/27f81ba11ebee87713e1193b97a2ce64ef64d40c))
    * **api:** Add max page size ([#377](https://github.com/csehatt741/keyshade/issues/377)) ([ed18eb0](https://github.com/csehatt741/keyshade/commit/ed18eb0c846430f2263035431c851520f0cf6421))
    * **api:** Add note to [secure] and variable ([#151](https://github.com/csehatt741/keyshade/issues/151)) ([2e62351](https://github.com/csehatt741/keyshade/commit/2e6235104c6cfeb29889a3c9beee81b893b9a26d))
    * **api:** Add OAuth redirection and polished authentication ([#212](https://github.com/csehatt741/keyshade/issues/212)) ([d2968bc](https://github.com/csehatt741/keyshade/commit/d2968bc3122338599031f3671bbcd3a17b0b5129))
    * **api:** Add pagination metadata to Environment module ([#382](https://github.com/csehatt741/keyshade/issues/382)) ([9baa344](https://github.com/csehatt741/keyshade/commit/9baa344e662e8034ab184f9db2218b8d8b279c61))
    * **api:** Add pagination metadata to Event module ([#394](https://github.com/csehatt741/keyshade/issues/394)) ([60010b4](https://github.com/csehatt741/keyshade/commit/60010b434a15082b90b9b858e0dd9c09748661fb))
    * **api:** Add pagination metadata to Integration module ([#391](https://github.com/csehatt741/keyshade/issues/391)) ([0372e36](https://github.com/csehatt741/keyshade/commit/0372e3629d4d96df7d7263215f866ad8a3e70bc0))
    * **api:** Add pagination metadata to Project module ([#393](https://github.com/csehatt741/keyshade/issues/393)) ([bc274fd](https://github.com/csehatt741/keyshade/commit/bc274fdc241395c022fd6f209c0e951ab4c7694f))
    * **api:** Add pagination metadata to Secret module ([#389](https://github.com/csehatt741/keyshade/issues/389)) ([c4cc667](https://github.com/csehatt741/keyshade/commit/c4cc6676f566c6216ba2e196834aea164c682e51))
    * **api:** Add pagination metadata to Variable module ([#390](https://github.com/csehatt741/keyshade/issues/390)) ([be6aabf](https://github.com/csehatt741/keyshade/commit/be6aabfe218b039d65b62aa01518240487bb5836))
    * **api:** Add pagination metadata to Workspace module  ([#387](https://github.com/csehatt741/keyshade/issues/387)) ([a08c924](https://github.com/csehatt741/keyshade/commit/a08c924dbc52ea45e793d639170333f8824eae2c))
    * **api:** Add pagination metadata to Workspace Role module ([#388](https://github.com/csehatt741/keyshade/issues/388)) ([d8e8f49](https://github.com/csehatt741/keyshade/commit/d8e8f491d966cb794057536922c7469ed4f8f448))
    * **api:** Add prod env schema in env file ([#436](https://github.com/csehatt741/keyshade/issues/436)) ([21c3004](https://github.com/csehatt741/keyshade/commit/21c30045ce4c013c8ef15e828c3561ad0abfa897))
    * **api:** Add resend otp implementation ([#445](https://github.com/csehatt741/keyshade/issues/445)) ([4dc6aa1](https://github.com/csehatt741/keyshade/commit/4dc6aa169c51869bdda4cd0706b513f9af9716ed))
    * **api:** Add Sentry Integeration ([#133](https://github.com/csehatt741/keyshade/issues/133)) ([5ae2c92](https://github.com/csehatt741/keyshade/commit/5ae2c92648dffb5f957ac3fb17812bfb504ded4d))
    * **api:** Add slack integration ([#531](https://github.com/csehatt741/keyshade/issues/531)) ([fe124d8](https://github.com/csehatt741/keyshade/commit/fe124d817c9ff63e699c560ee97930ec52082b21))
    * **api:** Add slug in entities ([#415](https://github.com/csehatt741/keyshade/issues/415)) ([89e2fcc](https://github.com/csehatt741/keyshade/commit/89e2fccc390771c925ea9d1c4ede8270ec6e5a80))
    * **api:** Add support for storing and managing variables ([#149](https://github.com/csehatt741/keyshade/issues/149)) ([963a8ae](https://github.com/csehatt741/keyshade/commit/963a8ae529ddee8716b6a688e272dd635cfeaafd))
    * **api:** add user module ([ebfb2ec](https://github.com/csehatt741/keyshade/commit/ebfb2ec1fd17609fadbe63d56bd169ea21c893cf))
    * **api:** add workspace module ([504f0db](https://github.com/csehatt741/keyshade/commit/504f0db3d4363333251daa813843cc90dccdc067))
    * **api:** Add workspace removal notification email template ([#476](https://github.com/csehatt741/keyshade/issues/476)) ([40b754f](https://github.com/csehatt741/keyshade/commit/40b754f7d3acd8f49e9e9a070fc744c501c3136e))
    * **api:** Added feedback form module ([#210](https://github.com/csehatt741/keyshade/issues/210)) ([ae1efd8](https://github.com/csehatt741/keyshade/commit/ae1efd8a9a3437ed8d3955e6091f4f50d0596f39))
    * **api:** Added GitLab OAuth ([#188](https://github.com/csehatt741/keyshade/issues/188)) ([4d3bbe4](https://github.com/csehatt741/keyshade/commit/4d3bbe482e84025201e4a02b7da3ded4972fcd9a))
    * **api:** Added Project Level Access  ([#221](https://github.com/csehatt741/keyshade/issues/221)) ([564f5ed](https://github.com/csehatt741/keyshade/commit/564f5ed52672dc1e7c47c67c60af9cb142594a8a))
    * **api:** Added support for changing email of users ([#233](https://github.com/csehatt741/keyshade/issues/233)) ([5ea9a10](https://github.com/csehatt741/keyshade/commit/5ea9a10d1972cf6865faa0c051ed9de595eb6d47))
    * **api:** Added validation for reason field ([#190](https://github.com/csehatt741/keyshade/issues/190)) ([90b8ff2](https://github.com/csehatt741/keyshade/commit/90b8ff20fa47799bf7267ba45a3deae70f234d9e))
    * **api:** Create a paginate method ([#379](https://github.com/csehatt741/keyshade/issues/379)) ([09576f1](https://github.com/csehatt741/keyshade/commit/09576f130900ea8d89454332bef9353bfe09a0b2))
    * **api:** Create default workspace on user's creation ([#182](https://github.com/csehatt741/keyshade/issues/182)) ([3dc0c4c](https://github.com/csehatt741/keyshade/commit/3dc0c4c95b6dd0a484806fdf0757754ce58a7200))
    * **api:** Create endpoint for fetching all revisions of a [secure] ([#303](https://github.com/csehatt741/keyshade/issues/303)) ([de2b602](https://github.com/csehatt741/keyshade/commit/de2b602dcd5bdab104d910b12761a6ec778103b8))
    * **api:** Create endpoint for fetching all revisions of a variable ([#304](https://github.com/csehatt741/keyshade/issues/304)) ([9abddc1](https://github.com/csehatt741/keyshade/commit/9abddc11691146045e727078b3b963f8b9c2e990))
    * **api:** Fetch total count of environments, [secure]s and variables in project ([#434](https://github.com/csehatt741/keyshade/issues/434)) ([0c9e50a](https://github.com/csehatt741/keyshade/commit/0c9e50aaca91f236aab35570d6d3f4247409593a))
    * **api:** Included default workspace details in getSelf function ([#414](https://github.com/csehatt741/keyshade/issues/414)) ([e67bbd6](https://github.com/csehatt741/keyshade/commit/e67bbd6d37f01732bbfe65e17b71b2ba8202200b))
    * **api:** Reading `port` Dynamically ([#170](https://github.com/csehatt741/keyshade/issues/170)) ([fd46e3e](https://github.com/csehatt741/keyshade/commit/fd46e3e2d37bf90572d2c9c7ec0b042e644878e0))
    * **api:** Replace `projectId` with `name` and `slug` in workspace-role response.  ([#432](https://github.com/csehatt741/keyshade/issues/432)) ([af06071](https://github.com/csehatt741/keyshade/commit/af0607143aa59397c0d794bce722a8a65b1f359a))
    * **api:** Secret rotation ([#652](https://github.com/csehatt741/keyshade/issues/652)) ([ad9a808](https://github.com/csehatt741/keyshade/commit/ad9a808ac6819c34b67ee77a1c86cb87b962d411))
    * **api:** update workspace role mechanism and added functionality to create custom roles ([6144aea](https://github.com/csehatt741/keyshade/commit/6144aea23ea66cdc1fa7e29080e349d299154933))
    * **api:** Updated API key ([fbac312](https://github.com/csehatt741/keyshade/commit/fbac3120b4aa063119f3b09a2b61996fefb17143))
    * **api:** updated functionality of API key ([#114](https://github.com/csehatt741/keyshade/issues/114)) ([308fbf4](https://github.com/csehatt741/keyshade/commit/308fbf4c566bd00bac5e969a51b0d38ba89772d1))
    * **api:** Workspace-membership invitationAccepted included ([#665](https://github.com/csehatt741/keyshade/issues/665)) ([3877249](https://github.com/csehatt741/keyshade/commit/38772498be229c8d83c8a99c395dded9e0a6ef7f))
    * **auth:** Add Google OAuth ([#156](https://github.com/csehatt741/keyshade/issues/156)) ([cf387ea](https://github.com/csehatt741/keyshade/commit/cf387eade9fd72d6894bb5375d791bc722040f00))
    * AutoCreate Admin On Startup ([#101](https://github.com/csehatt741/keyshade/issues/101)) ([32fac3e](https://github.com/csehatt741/keyshade/commit/32fac3e669a6dd6353ed862a8cb367d184038968))
    * **cli:** Add CLI command to check version flag using `--version` or `-v` ([#650](https://github.com/csehatt741/keyshade/issues/650)) ([31b5efe](https://github.com/csehatt741/keyshade/commit/31b5efe10e1b5d32377b9a303d2177300b24add1))
    * **cli:** Add functionality to operate on Environments ([#324](https://github.com/csehatt741/keyshade/issues/324)) ([4c6f3f8](https://github.com/csehatt741/keyshade/commit/4c6f3f8ba20363f598bb85a76a9c1ebb7e849bce))
    * **cli:** Add functionality to operate on Secrets ([#504](https://github.com/csehatt741/keyshade/issues/504)) ([1b4bf2f](https://github.com/csehatt741/keyshade/commit/1b4bf2f6b89fa981e2a008f9b7e508b578c55a95))
    * **cli:** Add functionality to operate on Variables ([#514](https://github.com/csehatt741/keyshade/issues/514)) ([32d93e6](https://github.com/csehatt741/keyshade/commit/32d93e6146a87175674107319d918157dbcec6d3))
    * **cli:** Add functionality to operate on Workspace Membership ([#589](https://github.com/csehatt741/keyshade/issues/589)) ([0fde62b](https://github.com/csehatt741/keyshade/commit/0fde62b1925d6365483ce23339ac5a5c687aaa55))
    * **cli:** Add import sub commmand for project. ([#594](https://github.com/csehatt741/keyshade/issues/594)) ([9896f27](https://github.com/csehatt741/keyshade/commit/9896f2751f87c52aa143d1fc9430cbefd51faf1d))
    * **cli:** Add List-invitation command ([#633](https://github.com/csehatt741/keyshade/issues/633)) ([874f8c2](https://github.com/csehatt741/keyshade/commit/874f8c2a5b8149ba2fc15b1ab9f4ff922315c997))
    * **cli:** Add project command ([#451](https://github.com/csehatt741/keyshade/issues/451)) ([70448e1](https://github.com/csehatt741/keyshade/commit/70448e1fe9899994fca9b202e6a4ed355af45235))
    * **cli:** Add workspace operations ([#441](https://github.com/csehatt741/keyshade/issues/441)) ([ed38d22](https://github.com/csehatt741/keyshade/commit/ed38d2227020a08972658771d211fe2316f41367))
    * **cli:** Added CLI ([#289](https://github.com/csehatt741/keyshade/issues/289)) ([1143d95](https://github.com/csehatt741/keyshade/commit/1143d9547705808230b3cbcf81a3ff2a8604eaa2))
    * **cli:** Added keyshade command to cli ([cf260ae](https://github.com/csehatt741/keyshade/commit/cf260aebe7a99ff4dcd8874cb6e5c96434773da7))
    * **cli:** Api health probe ([#645](https://github.com/csehatt741/keyshade/issues/645)) ([dd854f4](https://github.com/csehatt741/keyshade/commit/dd854f46e2d7d48dd2ee3060622059baf339efd4))
    * **cli:** Create basic README.md ([a1b74e9](https://github.com/csehatt741/keyshade/commit/a1b74e9247b86540bf8026583fe5055e067f4b29))
    * **cli:** implement commands to get, list, update, and delete, workspace roles ([#469](https://github.com/csehatt741/keyshade/issues/469)) ([957ea8d](https://github.com/csehatt741/keyshade/commit/957ea8df4b3e34ece06c3a9c3a15e7aed3b58bfd))
    * **cli:** Implemented pagination support ([#453](https://github.com/csehatt741/keyshade/issues/453)) ([feb1806](https://github.com/csehatt741/keyshade/commit/feb1806e30ee609e06bb0254040414b775f55606))
    * **cli:** Improved the DX for list profile ([#334](https://github.com/csehatt741/keyshade/issues/334)) ([6bff496](https://github.com/csehatt741/keyshade/commit/6bff4964493f9919b221a5dc6fcc578bc47b2832))
    * **cli:** Log publicKey, privacyKey, & accessLevel after project creation ([#623](https://github.com/csehatt741/keyshade/issues/623)) ([5d5b329](https://github.com/csehatt741/keyshade/commit/5d5b3297b1fa4cb9ffeccf7c12e7c496347d90a2))
    * **cli:** Quit on decryption failure ([#381](https://github.com/csehatt741/keyshade/issues/381)) ([1349d15](https://github.com/csehatt741/keyshade/commit/1349d15b3879527876d41001bdb5d85c22d417ff))
    * **cli:** Secret scan ([#438](https://github.com/csehatt741/keyshade/issues/438)) ([85cb8ab](https://github.com/csehatt741/keyshade/commit/85cb8ab3e7e8f302c793408bddd24abf6e3b4b6a))
    * **cli:** Store `metrics_enabled` key in profile config ([#536](https://github.com/csehatt741/keyshade/issues/536)) ([9283b22](https://github.com/csehatt741/keyshade/commit/9283b22e4387a50ebf3e48ce64a3d6862bb0cc8b))
    * **cli:** Supports to specify environment(s) and its optional description ([#634](https://github.com/csehatt741/keyshade/issues/634)) ([62083b1](https://github.com/csehatt741/keyshade/commit/62083b12f4daa023348eb610de53e15a3c6fbb2d))
    * **cli:** Update environment command outputs ([f4af874](https://github.com/csehatt741/keyshade/commit/f4af874e4811a5c11bd93ad1645564b24513b5ad))
    * **cli:** update README with feature and installation ([#644](https://github.com/csehatt741/keyshade/issues/644)) ([a4d2a6a](https://github.com/csehatt741/keyshade/commit/a4d2a6a4c7d429c1de0acc15016b5db3ee49561b))
    * create user endpoint ([53913f5](https://github.com/csehatt741/keyshade/commit/53913f545aee2a87571cd9798cd4979b8b47cb4d))
    * dockerize api ([ce8ee23](https://github.com/csehatt741/keyshade/commit/ce8ee23769f0bbbf5b2517278f8d2ea1e58661c1))
    * dockerize api ([dfbc58e](https://github.com/csehatt741/keyshade/commit/dfbc58eaaa15f0529d00e1441c0f56d46a9c8ce0))
    * dockerize api ([63f0a27](https://github.com/csehatt741/keyshade/commit/63f0a2752885b39d13e596b35f70318f36004dc5))
    * dockerize api ([265cec0](https://github.com/csehatt741/keyshade/commit/265cec0f58a9efa5001528ac7e9f4f71be20f190))
    * dockerize api ([ed595c7](https://github.com/csehatt741/keyshade/commit/ed595c79e5739f6d15cd80a6f18d081587d55b34))
    * dockerize api ([6b756e8](https://github.com/csehatt741/keyshade/commit/6b756e8c70388057823e3ef05ae72a059da84e9c))
    * finish environment module ([aaf6783](https://github.com/csehatt741/keyshade/commit/aaf67834298bd6b4836686c4342dc75cce63d1cf))
    * husky configured ([77bba02](https://github.com/csehatt741/keyshade/commit/77bba023c52c871b9a54499cdbc72b67c5438e4f))
    * implemented auth, ui for most, and fixed cors ([#217](https://github.com/csehatt741/keyshade/issues/217)) ([feace86](https://github.com/csehatt741/keyshade/commit/feace865d60442fea96b5074e16d0d0f48792aa9))
    * invalidate older OTPs ([8ca222a](https://github.com/csehatt741/keyshade/commit/8ca222aedd6e4532a498a8b70d837095cfd53a68))
    * landing page ([e1ec4d1](https://github.com/csehatt741/keyshade/commit/e1ec4d171e184d381efb0768d9a3deadb92d5dba))
    * **nx-cloud:** setup nx workspace ([#108](https://github.com/csehatt741/keyshade/issues/108)) ([cb61d45](https://github.com/csehatt741/keyshade/commit/cb61d458519ff7b06c87e2a9ac99d2109e934895))
    * **oauth:** add github oauth ([5b930a1](https://github.com/csehatt741/keyshade/commit/5b930a19dd98b77616b8023c30f2c8c18eec8b8b))
    * **oauth:** get 'name' and 'avatar' of the user ([20e8dbf](https://github.com/csehatt741/keyshade/commit/20e8dbf081aa8948f71fb7cf999125cb175f4bc2))
    * **package, api, cli:** Add api-key schemas and types; Fix schema inconsistencies; Minor fix for CLI build errors  ([#557](https://github.com/csehatt741/keyshade/issues/557)) ([126d024](https://github.com/csehatt741/keyshade/commit/126d0242b2d975c8e5a7a4eed185f090019b31fa))
    * **platform:** Add a new [secure] and added loader on project screen ([#603](https://github.com/csehatt741/keyshade/issues/603)) ([c3a08cc](https://github.com/csehatt741/keyshade/commit/c3a08ccb9f653671b7200b9e0429257a5e517f72))
    * **platform:** Add CopySVG icon to the Slug component and update imports ([#677](https://github.com/csehatt741/keyshade/issues/677)) ([2ad93ba](https://github.com/csehatt741/keyshade/commit/2ad93baa24e256aafdbeed9d0ee9b268d4781aa4))
    * **platform:** Add Google OAuth ([#689](https://github.com/csehatt741/keyshade/issues/689)) ([ad3a3d2](https://github.com/csehatt741/keyshade/commit/ad3a3d2d94a77fcd5c0d1b3b48564a298d510f4a))
    * **platform:** Add loading skeleton in the [secure]s page ([#423](https://github.com/csehatt741/keyshade/issues/423)) ([a97681e](https://github.com/csehatt741/keyshade/commit/a97681edab4ffb670b4479e3a8d2d2879c75f992))
    * **platform:** Add new access level SVGs and integrate into ProjectCard component ([#678](https://github.com/csehatt741/keyshade/issues/678)) ([cc3ef77](https://github.com/csehatt741/keyshade/commit/cc3ef77b93054e44fc5de01e12ef9d0d707a0a14))
    * **platform:** Add new design for slug ([#675](https://github.com/csehatt741/keyshade/issues/675)) ([2b8985c](https://github.com/csehatt741/keyshade/commit/2b8985c4725dbf062dc66acf560f8433ce5d87dc))
    * **platform:** Add new variables to a project ([#593](https://github.com/csehatt741/keyshade/issues/593)) ([d6c6252](https://github.com/csehatt741/keyshade/commit/d6c6252f471e839b36ee2adeb674b08f99035941))
    * **platform:** Add roles tab in sidebar ([#749](https://github.com/csehatt741/keyshade/issues/749)) ([bbe4366](https://github.com/csehatt741/keyshade/commit/bbe4366c3131ea2991cbde32454b39e02c45c4c9))
    * **platform:** Add SVGs to projectTabs ([#673](https://github.com/csehatt741/keyshade/issues/673)) ([37bfddf](https://github.com/csehatt741/keyshade/commit/37bfddfc993aa76b4688ac1b8693d0bad25809a4))
    * **platform:** Add warning sonner toast for invalid otp ([#335](https://github.com/csehatt741/keyshade/issues/335)) ([21513f5](https://github.com/csehatt741/keyshade/commit/21513f5be6d36b308cd5926e7ad1b475f96cb668))
    * **platform:** Add workspace slug for projects in url ([#683](https://github.com/csehatt741/keyshade/issues/683)) ([8bdd47f](https://github.com/csehatt741/keyshade/commit/8bdd47fb71e902fcaf2558356be0b35bb79c7151))
    * **platform:** Added screen for CREATE NEW PROJECT ([#540](https://github.com/csehatt741/keyshade/issues/540)) ([b644633](https://github.com/csehatt741/keyshade/commit/b64463384d71e7eb246645bbfb6c2a3159baeb50))
    * **platform:** Added the feature for deleting a [secure] ([#674](https://github.com/csehatt741/keyshade/issues/674)) ([37e7960](https://github.com/csehatt741/keyshade/commit/37e796080fe426b69333b134db4031ba2849e401))
    * **platform:** Clearing email field after waitlisting the user email ([#481](https://github.com/csehatt741/keyshade/issues/481)) ([256d659](https://github.com/csehatt741/keyshade/commit/256d65974babd17d525ce2a41a5e17136e6ac12e))
    * **platform:** Create ui link for resend otp ([#489](https://github.com/csehatt741/keyshade/issues/489)) ([46eb5c5](https://github.com/csehatt741/keyshade/commit/46eb5c5aeee76f60015e65174e9cb9ea97f5e771))
    * **platform:** Delete variable from a project ([#600](https://github.com/csehatt741/keyshade/issues/600)) ([e64a738](https://github.com/csehatt741/keyshade/commit/e64a7388451da7a675700d076b9d2554a3ac2435))
    * **platform:** Edit existing variables in a project ([#602](https://github.com/csehatt741/keyshade/issues/602)) ([bb48f6c](https://github.com/csehatt741/keyshade/commit/bb48f6c6a1534040a0e6ad9099ff436e7cc83b80))
    * **platform:** Edit [secure] in project ([#684](https://github.com/csehatt741/keyshade/issues/684)) ([1e34030](https://github.com/csehatt741/keyshade/commit/1e340302bc34ec061683a4af1ee0da178f59aef0))
    * **platform:** Implement delete project ([#671](https://github.com/csehatt741/keyshade/issues/671)) ([d243c89](https://github.com/csehatt741/keyshade/commit/d243c89be2358f104ad893b5c955d814835aa8e8))
    * **platform:** Improved UI of [secure] listing ([#655](https://github.com/csehatt741/keyshade/issues/655)) ([b19de47](https://github.com/csehatt741/keyshade/commit/b19de47bdbe5c098fd2c256d4d9b65989498786c))
    * **platform:** Operate on environments ([#670](https://github.com/csehatt741/keyshade/issues/670)) ([f45c5fa](https://github.com/csehatt741/keyshade/commit/f45c5fa81728832f6ff74c5c26d52e00e32fb546))
    * **platform:** Restructure workspace settings and user settings ([#682](https://github.com/csehatt741/keyshade/issues/682)) ([cd0013a](https://github.com/csehatt741/keyshade/commit/cd0013ade20f224bf9db24ef7431810c142be6b3))
    * **platform:** Show all the existing variables inside a project ([#591](https://github.com/csehatt741/keyshade/issues/591)) ([5276bb8](https://github.com/csehatt741/keyshade/commit/5276bb8bcd104ffdfd979ebdbd46eb155979e521))
    * **platform:** Update table ui and change variable to accordion ([#676](https://github.com/csehatt741/keyshade/issues/676)) ([71e9ae9](https://github.com/csehatt741/keyshade/commit/71e9ae91b6067a18f144eea3e06f06a97fb73457))
    * **platform:** Updated the empty state of dashboard ([#522](https://github.com/csehatt741/keyshade/issues/522)) ([28739d9](https://github.com/csehatt741/keyshade/commit/28739d96c1f5857de0be3a9c6f1d800559d04754))
    * **platform:** View [secure]s ([#313](https://github.com/csehatt741/keyshade/issues/313)) ([97c4541](https://github.com/csehatt741/keyshade/commit/97c45414d4a3e456170369c07d4f936f06189c7a))
    * **platform:** Workspace integrate ([#241](https://github.com/csehatt741/keyshade/issues/241)) ([6107e7d](https://github.com/csehatt741/keyshade/commit/6107e7dd14c1e167a1a12f1c4b189e73f01dde88))
    * **platfrom:** add delete method in api client ([#225](https://github.com/csehatt741/keyshade/issues/225)) ([55cf09f](https://github.com/csehatt741/keyshade/commit/55cf09f7d9c977b7ab5e1a832ea82fd94b7f9984))
    * **platofrm:** Added online/offline status detection in the platform ([#585](https://github.com/csehatt741/keyshade/issues/585)) ([89aa84f](https://github.com/csehatt741/keyshade/commit/89aa84f151eed76ec9ec4c9c224be5d39c2e3b0c))
    * **postman:** add example for get_self and update_self ([e015acf](https://github.com/csehatt741/keyshade/commit/e015acfdca0f694898f27d49ffd447b70faee215))
    * **project:** Edit project feature ([#685](https://github.com/csehatt741/keyshade/issues/685)) ([a906920](https://github.com/csehatt741/keyshade/commit/a9069200d02cb7555ce5265b462d3cffe3a65f0a))
    * Remove project IDs from workspace role export data and update tests ([#448](https://github.com/csehatt741/keyshade/issues/448)) ([8fdb328](https://github.com/csehatt741/keyshade/commit/8fdb3286876eaddd1f1a32cd18762827a736589a))
    * responsive landing ([97bbb0c](https://github.com/csehatt741/keyshade/commit/97bbb0cb42c3b89fd1c9aede9e4d87a215aab7cf))
    * **schema, api-client:** Migrate auth types to @keyshade/schema ([#532](https://github.com/csehatt741/keyshade/issues/532)) ([d880098](https://github.com/csehatt741/keyshade/commit/d8800989185709fd75f6b7a100de248faaf32156))
    * **schema, api-client:** Migrate event schemas and types to @keyshade/schema ([#546](https://github.com/csehatt741/keyshade/issues/546)) ([a3267de](https://github.com/csehatt741/keyshade/commit/a3267dec679d6a76735443ee9332860a0a69196a))
    * **schema, api-client:** Migrate integration schemas and types to @keyshade/schema ([#547](https://github.com/csehatt741/keyshade/issues/547)) ([08868c3](https://github.com/csehatt741/keyshade/commit/08868c3026f7952c8ac6016809e5f7275ec57c07))
    * **schema, api-client:** Migrate project schemas and environment schemas along with their types to @keyshade/schema ([#538](https://github.com/csehatt741/keyshade/issues/538)) ([c468af0](https://github.com/csehatt741/keyshade/commit/c468af00b8b64a10daed5848ce3b200974b1adc3))
    * **schema, api-client:** Migrate [secure] types and schemas to @keyshade/schema ([#539](https://github.com/csehatt741/keyshade/issues/539)) ([bc3100b](https://github.com/csehatt741/keyshade/commit/bc3100b37fb32394d2dba9578993f18e5ba171b4))
    * **schema, api-client:** Migrate user types and schemas to @keyshade/schema ([#535](https://github.com/csehatt741/keyshade/issues/535)) ([c24695e](https://github.com/csehatt741/keyshade/commit/c24695e44ad65405075381628dfcc5f7b4fe0340))
    * **schema, api-client:** Migrate variable schemas and types to @keyshade/schema ([#545](https://github.com/csehatt741/keyshade/issues/545)) ([0ee8f9a](https://github.com/csehatt741/keyshade/commit/0ee8f9a1f8ff1bfc04e9ff7a0eccd0309627159a))
    * **schema, api-client:** Migrate workspace-membership schemas and types to @keyshade/schema ([#569](https://github.com/csehatt741/keyshade/issues/569)) ([4398969](https://github.com/csehatt741/keyshade/commit/4398969a48d4f6863ca872dcc7230048e14b45ac))
    * **schema, api-client:** Migrate workspace-role schemas and types to @keyshade/schema ([#568](https://github.com/csehatt741/keyshade/issues/568)) ([9efbf2d](https://github.com/csehatt741/keyshade/commit/9efbf2d6347670cb2ad1a670384e4b458475ca4c))
    * **schema:** Add User type inference from UserSchema ([#574](https://github.com/csehatt741/keyshade/issues/574)) ([84c1db5](https://github.com/csehatt741/keyshade/commit/84c1db55bf3e20af15221929aea7ac6dff4178b3))
    * **schema:** Add workspace invitation schema ([#612](https://github.com/csehatt741/keyshade/issues/612)) ([1a5721b](https://github.com/csehatt741/keyshade/commit/1a5721b7fa129c56e9487982ffe92daeb3121715))
    * **schema:** Added a schema package ([01ea232](https://github.com/csehatt741/keyshade/commit/01ea232a9d1bc51a0b0cae3fd6edd378b88a5755))
    * Update details in listing [secure]s ([#686](https://github.com/csehatt741/keyshade/issues/686)) ([84aa5f4](https://github.com/csehatt741/keyshade/commit/84aa5f46083826ce9f84752f5abae0a61da7f90e))
    * Variables listing revamp ([#735](https://github.com/csehatt741/keyshade/issues/735)) ([38b42fa](https://github.com/csehatt741/keyshade/commit/38b42fadb791871f48dfbd3527e9b81cdbb36d1c))
    * **web:** Add and link privacy and tnc page ([#226](https://github.com/csehatt741/keyshade/issues/226)) ([ec81eb9](https://github.com/csehatt741/keyshade/commit/ec81eb919d9370ff3772ed2732f30a0f9ac74be8))
    * **web:** Add Google Analytics integration ([#649](https://github.com/csehatt741/keyshade/issues/649)) ([397d6da](https://github.com/csehatt741/keyshade/commit/397d6da505fd08e0b82852e89cad17a3afa5424c))
    * **web:** Add Pricing Page ([#243](https://github.com/csehatt741/keyshade/issues/243)) ([2c7f1d6](https://github.com/csehatt741/keyshade/commit/2c7f1d6171ac0563a13279676ddaf3d098855fee))
    * **web:** Added waitlist ([#168](https://github.com/csehatt741/keyshade/issues/168)) ([1084c77](https://github.com/csehatt741/keyshade/commit/1084c772199382ee56cb3c515032ae1cc05d211b))
    * **web:** Configured extra check for waitlisted users already in the list and created toast message for them ([#492](https://github.com/csehatt741/keyshade/issues/492)) ([2ddd0ef](https://github.com/csehatt741/keyshade/commit/2ddd0ef59cd1f178059a815d156c73ff6662bd41))
    * **web:** Landing revamp ([#165](https://github.com/csehatt741/keyshade/issues/165)) ([0bc723b](https://github.com/csehatt741/keyshade/commit/0bc723b5c71f7db0c2ab6e99a6ffe5e49cfd0e3d))
    * **web:** show the toast only when email add successfully ([#490](https://github.com/csehatt741/keyshade/issues/490)) ([783c411](https://github.com/csehatt741/keyshade/commit/783c4119ebddce6b1e934b1e25ae3e667a0519d6))
    * **web:** Update about and careers page ([e167f53](https://github.com/csehatt741/keyshade/commit/e167f537bca0218eb071b42e31d963e9852e2885))
    * **workflows:** Tag user on attempt's reply body ([9d01698](https://github.com/csehatt741/keyshade/commit/9d0169881d9ba7a0d84cee6d4de0e5e9c7c1e6ad))
    
    ### 🐛 Bug Fixes
    
    * Added lockfile ([856eb3c](https://github.com/csehatt741/keyshade/commit/856eb3c1446752b3312854e3b63b60cff223140c))
    * **api-client:** Fixed broken export ([096df2c](https://github.com/csehatt741/keyshade/commit/096df2c4971570d093885f9be2392b14c65c4e7f))
    * **api,api-client:** Add environmentSlug in multiple places across the [secure] module ([#509](https://github.com/csehatt741/keyshade/issues/509)) ([ee58f07](https://github.com/csehatt741/keyshade/commit/ee58f071e30c24f12cd657c11e24e01f8a648a93))
    * **api,api-client:** Add environmentSlug in multiple places across the variable module ([#468](https://github.com/csehatt741/keyshade/issues/468)) ([d970aff](https://github.com/csehatt741/keyshade/commit/d970aff1e08a3e4b2bd9bce671c75bafd536a686))
    * **api:** Add NotFound exception on passing an invalid roleId while inviting user in workspace ([#408](https://github.com/csehatt741/keyshade/issues/408)) ([ab441db](https://github.com/csehatt741/keyshade/commit/ab441dbd3f60f2deae36465653c7665296c453d7))
    * **api:** addressed logical errors ([fc14179](https://github.com/csehatt741/keyshade/commit/fc14179b2186711a79c4e6fc025fac2b82588fbc))
    * **api:** Convert email to lowercase ([#694](https://github.com/csehatt741/keyshade/issues/694)) ([b41db33](https://github.com/csehatt741/keyshade/commit/b41db33045091a47afcda0278884caeaffebfccc))
    * **api:** Empty name `""` accepted as a valid name while creating environments ([#583](https://github.com/csehatt741/keyshade/issues/583)) ([a33f4b5](https://github.com/csehatt741/keyshade/commit/a33f4b546db772362e1979845e3e0f0f3f6c175c))
    * **api:** Enable global project access ([#580](https://github.com/csehatt741/keyshade/issues/580)) ([b3a0309](https://github.com/csehatt741/keyshade/commit/b3a0309e3eb902d722672a42837da05874851971))
    * **api:** Error messages fixed in api-key service ([#418](https://github.com/csehatt741/keyshade/issues/418)) ([edfbce0](https://github.com/csehatt741/keyshade/commit/edfbce068dc0c3d23a92ce3a9d69c06f8457b7d8))
    * **api:** Github OAuth redirect not working ([#692](https://github.com/csehatt741/keyshade/issues/692)) ([3495f8a](https://github.com/csehatt741/keyshade/commit/3495f8ad425018e49bb1d85ada76e13594709b99))
    * **api:** Incorrect oauth redirect url ([58d96e5](https://github.com/csehatt741/keyshade/commit/58d96e524a6676fe61cd15b5cfe64deff74e6e45))
    * **api:** Only user's default workspace returns isDefault: true ([#647](https://github.com/csehatt741/keyshade/issues/647)) ([870b4dc](https://github.com/csehatt741/keyshade/commit/870b4dc7b68f57fbd09a51099f701a57fb0c998d))
    * **api:** Project hard sync existing entities deleted ([#660](https://github.com/csehatt741/keyshade/issues/660)) ([3632217](https://github.com/csehatt741/keyshade/commit/36322175290723089b8bd9a1a479925efd00f6f1))
    * **api:** removed api-keys.types.ts ([2b5b1f8](https://github.com/csehatt741/keyshade/commit/2b5b1f8b5ff4b8e13e2b4cfa918e6f6a9a7c2086))
    * **api:** Replace the id with slug in the global-search service ([#455](https://github.com/csehatt741/keyshade/issues/455)) ([74804b1](https://github.com/csehatt741/keyshade/commit/74804b13f33e95af8b69e38fbf4afc9d1f179ebc))
    * **api:** Secrets with empty names ([#738](https://github.com/csehatt741/keyshade/issues/738)) ([5e9c57f](https://github.com/csehatt741/keyshade/commit/5e9c57fce1122289d2ee3cea1b9baae4f1c8ed11))
    * **api:** Update build command ([0ddfa59](https://github.com/csehatt741/keyshade/commit/0ddfa5964b2b64286d055692e3005236a18ec8a6))
    * **api:** Update CORS settings ([4597eea](https://github.com/csehatt741/keyshade/commit/4597eea04998619f95d96a591f1e8206be5fa64b))
    * **api:** update role based access ([5e3456c](https://github.com/csehatt741/keyshade/commit/5e3456cf40ae8a9befa7dba8a9a59be6b95cefb1))
    * **cli:** Add keywords for improved package discoverability ([#641](https://github.com/csehatt741/keyshade/issues/641)) ([57ce10b](https://github.com/csehatt741/keyshade/commit/57ce10bff848b6efe596b50fc18bf0d357e61aab))
    * **cli:** Added parent directory check ([#359](https://github.com/csehatt741/keyshade/issues/359)) ([538ea7f](https://github.com/csehatt741/keyshade/commit/538ea7f2654e4f3ea06fde9fe653342ca769ce44))
    * **cli:** Check for .keyshade dir if profile isn't found ([#636](https://github.com/csehatt741/keyshade/issues/636)) ([a69665d](https://github.com/csehatt741/keyshade/commit/a69665d38b38d0f4db6aaa5cb9f0ad81d883d05b))
    * **cli:** Create project --store-private-key option default value removed ([#638](https://github.com/csehatt741/keyshade/issues/638)) ([20f16c6](https://github.com/csehatt741/keyshade/commit/20f16c64cbffe51b411458c294147a1fd0d83354))
    * **cli:** Fixed binary path in package.json ([e531af0](https://github.com/csehatt741/keyshade/commit/e531af0923e99fd79a39004017cabfc1fc1c4abd))
    * **cli:** Fixed binary path in package.json ([81d674d](https://github.com/csehatt741/keyshade/commit/81d674dd1bd332cd70effac25beb3ee7bd939a57))
    * **cli:** Fixed missing module ([f7a091f](https://github.com/csehatt741/keyshade/commit/f7a091ff21ddef89d12b0208bba5e38e1549ffe6))
    * **cli:** Incorrect message on listing projects ([#624](https://github.com/csehatt741/keyshade/issues/624)) ([eeffa42](https://github.com/csehatt741/keyshade/commit/eeffa428b0d5c429d5e1dc0353ca210c547b2fa5))
    * **cli:** Module errors ([d3432c5](https://github.com/csehatt741/keyshade/commit/d3432c5b5f35b695f44309ef3c03bf0a0d9168c2))
    * **cli:** Module errors ([a639065](https://github.com/csehatt741/keyshade/commit/a6390658abef8d4f50c24be66a8b10e9827e51da))
    * **cli:** Module errors ([a7742b1](https://github.com/csehatt741/keyshade/commit/a7742b19bf80e03b299419032f197de7f73d112a))
    * **cli:** Module errors ([e96300e](https://github.com/csehatt741/keyshade/commit/e96300e8cf4d3d80e6b556a6bcb247b3c73dcb87))
    * **cli:** Profile name now can use - and _ and updated error message ([#639](https://github.com/csehatt741/keyshade/issues/639)) ([00dd66a](https://github.com/csehatt741/keyshade/commit/00dd66a7b712d1a2a73b69b5fd016f46a3b9f3e9))
    * **cli:** Prompt users for all values if no option set and show default values ([#640](https://github.com/csehatt741/keyshade/issues/640)) ([fe862ab](https://github.com/csehatt741/keyshade/commit/fe862abe46b64d880124b81318c39c15254dd658))
    * **cli:** Removed unnecessary console log in [secure]s ([#515](https://github.com/csehatt741/keyshade/issues/515)) ([9403cc4](https://github.com/csehatt741/keyshade/commit/9403cc4a0147528815244fa425534c70156d5dad))
    * **cli:** Version flag causing errors ([#679](https://github.com/csehatt741/keyshade/issues/679)) ([65bb70b](https://github.com/csehatt741/keyshade/commit/65bb70b118f643a3079ece64c8b6ffd7949b8e95))
    * **cli:** Workspace membership API client payload fixed ([#614](https://github.com/csehatt741/keyshade/issues/614)) ([#648](https://github.com/csehatt741/keyshade/issues/648)) ([e23057b](https://github.com/csehatt741/keyshade/commit/e23057b382f0f0d407a9d457876868b9cc39dda1))
    * **docker:** Update build script ([40ef3e2](https://github.com/csehatt741/keyshade/commit/40ef3e24933315c1ec4e264d900148228f170432))
    * fix syntax error in auto-assign.yaml ([e59d410](https://github.com/csehatt741/keyshade/commit/e59d410f714d89daf53f7e99fd7b1ce30a67e059))
    * indendation errors ([8212d59](https://github.com/csehatt741/keyshade/commit/8212d591df508605d011ce0ad7e4c14162351d16))
    * issue auto assign cannot read properties of undefined assignees ([0ecc749](https://github.com/csehatt741/keyshade/commit/0ecc7494dade74d8ad59da25a73430564808f013))
    * **landing-page:** Make mobile responsive ([3fd5a1d](https://github.com/csehatt741/keyshade/commit/3fd5a1d51671483089da6c6390720d80798f8373)), closes [#41](https://github.com/csehatt741/keyshade/issues/41)
    * **landing-page:** Make mobile responsive ([0596473](https://github.com/csehatt741/keyshade/commit/0596473718a6b46e8bbad1b46340a44cbbe33bd9)), closes [#41](https://github.com/csehatt741/keyshade/issues/41)
    * **landing-page:** Make mobile responsive  ([2afaf0d](https://github.com/csehatt741/keyshade/commit/2afaf0dda9d164f4c3a1ed05630a1aa45acf5cda)), closes [#41](https://github.com/csehatt741/keyshade/issues/41)
    * made images not selectable and undraggable ([b8c200e](https://github.com/csehatt741/keyshade/commit/b8c200e7ac33b201a552ca128f6de0938b316313))
    * Merge main and made a small fix ([89b0d71](https://github.com/csehatt741/keyshade/commit/89b0d7181abb198404d37e5f8aabce51d7849e30))
    * nx run dev:api failing due to DI error ([81c63ca](https://github.com/csehatt741/keyshade/commit/81c63ca8c89e0dba801167f0216bb4a8b0b79599))
    * **platform:**  Build failure in platform ([#385](https://github.com/csehatt741/keyshade/issues/385)) ([90dcb2c](https://github.com/csehatt741/keyshade/commit/90dcb2c6f6cb3d89705f4374e66a7f1dc098b0c2))
    * **platform:** Adjust grid layout for environment cards ([#724](https://github.com/csehatt741/keyshade/issues/724)) ([029d3da](https://github.com/csehatt741/keyshade/commit/029d3da61afd70527cd9a561d4d35c86f68ca988))
    * **platform:** Check if `Env. Name` is left empty ([#646](https://github.com/csehatt741/keyshade/issues/646)) ([5f3fac8](https://github.com/csehatt741/keyshade/commit/5f3fac830e3ef341ae239080ce09b67f1a6e0fc6))
    * **platform:** Clickable Workspaces combobox options ([#630](https://github.com/csehatt741/keyshade/issues/630)) ([acc96f7](https://github.com/csehatt741/keyshade/commit/acc96f77123889df0af6d453af7da52d288a3a13))
    * **platform:** ContextMenu not working on variable card ([#688](https://github.com/csehatt741/keyshade/issues/688)) ([fbb147a](https://github.com/csehatt741/keyshade/commit/fbb147a9be27d0510112789fd0e7eaaa4db96083))
    * **platform:** Fixed duplicate Google Logo UI fix  ([#450](https://github.com/csehatt741/keyshade/issues/450)) ([fb0d6f7](https://github.com/csehatt741/keyshade/commit/fb0d6f7fff7814fb7df8cfbd967e1bf469cd6ee3))
    * **platform:** Fixed the typo in query params ([#723](https://github.com/csehatt741/keyshade/issues/723)) ([6c6bb7f](https://github.com/csehatt741/keyshade/commit/6c6bb7f6f20c0110c3f4e94d120a61cdad60b847))
    * **platform:** Follow-up for remaining changes from PR [#724](https://github.com/csehatt741/keyshade/issues/724) ([#736](https://github.com/csehatt741/keyshade/issues/736)) ([271c561](https://github.com/csehatt741/keyshade/commit/271c561b155d7b4c18c5059a33688f8b3e182e7c))
    * **platform:** Optimized user update request body ([#605](https://github.com/csehatt741/keyshade/issues/605)) ([ee1adf0](https://github.com/csehatt741/keyshade/commit/ee1adf0899ef7f15553b2b38aa4c1d51afa4a3d0))
    * **platform:** Platform types fixes ([#374](https://github.com/csehatt741/keyshade/issues/374)) ([8e9d9ff](https://github.com/csehatt741/keyshade/commit/8e9d9ffac0af1f93bb5513bf94aa3a75fb3c31c6))
    * **platform:** Refactor layout structure to improve Navbar positioning & child component ([#661](https://github.com/csehatt741/keyshade/issues/661)) ([31067f3](https://github.com/csehatt741/keyshade/commit/31067f309914fc8cd4ac2c1b854e4d8039af5494))
    * **platform:** Resolve loading SVG blocking input field interaction ([#571](https://github.com/csehatt741/keyshade/issues/571)) ([30f4f65](https://github.com/csehatt741/keyshade/commit/30f4f656eb686b0ca8879cb18560069dbeaad8a6))
    * **platform:** Type error in navbar ([8199de8](https://github.com/csehatt741/keyshade/commit/8199de84a1028128cb033287dbc8304c68ac12ad))
    * **Platfrom:** Replace manual date calculation with dayjs to improve better calculation ([#668](https://github.com/csehatt741/keyshade/issues/668)) ([990eb86](https://github.com/csehatt741/keyshade/commit/990eb86aa5bdeb911c3907df6ea7b52c510e64ad))
    * **README:** Update Discord badge ([6f9382e](https://github.com/csehatt741/keyshade/commit/6f9382ee7bdd9aa8f62ca4fa7307f2e77ed77e8c))
    * remove hardcoded email from adminUserCreateEmail mail function ([b2b9a9e](https://github.com/csehatt741/keyshade/commit/b2b9a9ed87ec999f4d428b819d44f3b129fe4c5d))
    * remove pnpm-lock as it is causing issues in pnpm install ([d3b54d8](https://github.com/csehatt741/keyshade/commit/d3b54d85d9a2c576c3b5964a939538e2dcae33fb))
    * resolve footer website name cut-off or overlap issue ([#444](https://github.com/csehatt741/keyshade/issues/444)) ([fe03ba2](https://github.com/csehatt741/keyshade/commit/fe03ba22aa37741646e48738e4ff3117ee5217db))
    * resolved merge conflict ([7ff7afb](https://github.com/csehatt741/keyshade/commit/7ff7afbd97665bee359399d18f6b6560206fed87))
    * **schema:** Add versions field to project [secure]s and variables response ([#590](https://github.com/csehatt741/keyshade/issues/590)) ([755ea46](https://github.com/csehatt741/keyshade/commit/755ea464835f4929b0cdee840da5be1a1a826ba4))
    * typo ([587f06b](https://github.com/csehatt741/keyshade/commit/587f06b4f0497df22cc5a453c8db13fe0c53f2ef))
    * Update discord link in README.md ([c7e4b5a](https://github.com/csehatt741/keyshade/commit/c7e4b5aac24e04a181a1ab21bad9417cf814c7e4))
    * update lockfile ([b6f6e80](https://github.com/csehatt741/keyshade/commit/b6f6e80b66f8531e9bacce8876bfe3d9ec67fb75))
    * update pnpm scripts ([e73a877](https://github.com/csehatt741/keyshade/commit/e73a87769d235f9c61e5f69d9e0ec73bb4f3eaad))
    * update web workflow ([add46dd](https://github.com/csehatt741/keyshade/commit/add46ddd6fc01f4a9202e4b4adb52e847e18d39f))
    * **web:** alignment issue in “Collaboration made easy” section ([#178](https://github.com/csehatt741/keyshade/issues/178)) ([df5ca75](https://github.com/csehatt741/keyshade/commit/df5ca75471e7bdf611406d76b276e05fccb36db0))
    * **web:** docker next config not found ([#228](https://github.com/csehatt741/keyshade/issues/228)) ([afe3160](https://github.com/csehatt741/keyshade/commit/afe3160d5c25db863e40000d2c4b82ccb82978aa))
    * **web:** Horizontal Scrolling issue on the website ([#440](https://github.com/csehatt741/keyshade/issues/440)) ([655177b](https://github.com/csehatt741/keyshade/commit/655177b47bffbc6892db3c701ddafe676e772f3e))
    * **web:** Resolve encryption glitch in footer text  ([#267](https://github.com/csehatt741/keyshade/issues/267)) ([2b5cb39](https://github.com/csehatt741/keyshade/commit/2b5cb39351d7412002514fd5a7ee6f75e02006aa))
    * **workspace:** delete duplicate tailwind config ([99d922a](https://github.com/csehatt741/keyshade/commit/99d922ac185474435303efd4613daeb251de4bf4))
    
    ### 📚 Documentation
    
    * Add CHANGELOG.md ([184220e](https://github.com/csehatt741/keyshade/commit/184220e511016d8762fa587375b6a1fa3c651062))
    * add contributor list ([f37569a](https://github.com/csehatt741/keyshade/commit/f37569a21091e5cd4b982b588096cc9e116e33a9))
    * add docs folder ([e252d68](https://github.com/csehatt741/keyshade/commit/e252d688357c8bcb0cb4c7d360edca6f2957a945))
    * Add documentation for environment in CLI ([#462](https://github.com/csehatt741/keyshade/issues/462)) ([dad7394](https://github.com/csehatt741/keyshade/commit/dad7394a16c8f98845c0423be0ff9f6d5560343f))
    * Add documentation for project in CLI ([#466](https://github.com/csehatt741/keyshade/issues/466)) ([341fb32](https://github.com/csehatt741/keyshade/commit/341fb32ada96513e6746e7d9df41892b8e1c7929))
    * Add documentation for scan in CLI ([#461](https://github.com/csehatt741/keyshade/issues/461)) ([72281e6](https://github.com/csehatt741/keyshade/commit/72281e66569b05011a7b79a94ae502eaac0b3a6d))
    * Add documentation for workspace command ([#464](https://github.com/csehatt741/keyshade/issues/464)) ([4aad8a2](https://github.com/csehatt741/keyshade/commit/4aad8a2d69c14dc933cfb6fe96ba506db54baa92))
    * Add getting-started.md ([617c346](https://github.com/csehatt741/keyshade/commit/617c3460f6debf6f08bddc38010dc62a7e13b59a))
    * Add instructions for resetting the local Prisma database ([#495](https://github.com/csehatt741/keyshade/issues/495)) ([#501](https://github.com/csehatt741/keyshade/issues/501)) ([b07ea17](https://github.com/csehatt741/keyshade/commit/b07ea178d0835354b8acdc5365f59b9ae782fcc7))
    * Add integration docs ([#204](https://github.com/csehatt741/keyshade/issues/204)) ([406ddb7](https://github.com/csehatt741/keyshade/commit/406ddb7e25198d98e8bf60e4b0273f05dc47435d))
    * Add pictures to Bruno setup ([#541](https://github.com/csehatt741/keyshade/issues/541)) ([210c0fd](https://github.com/csehatt741/keyshade/commit/210c0fdbf1ac815a8f7878e98b604c616d6fdd73))
    * Added docker details in setting-things-up.md ([#358](https://github.com/csehatt741/keyshade/issues/358)) ([ed5093a](https://github.com/csehatt741/keyshade/commit/ed5093ac5df17f8dbf4c7e286af739121b51a692))
    * Added docker support documentation ([#465](https://github.com/csehatt741/keyshade/issues/465)) ([bc04be4](https://github.com/csehatt741/keyshade/commit/bc04be4de99c0b4e86196a1e5e0fbc14f8d8b499))
    * Added docs regarding postman, and refactored architecture diagrams ([f1c9777](https://github.com/csehatt741/keyshade/commit/f1c9777e037bcf7f627624f5ca2a46b087b4a6af))
    * Added documentation for running the platform ([#473](https://github.com/csehatt741/keyshade/issues/473)) ([8b8386b](https://github.com/csehatt741/keyshade/commit/8b8386bb43b8d08ff2744ccd115b1bf515041600))
    * Added integration docs to gitbook summary ([ab37530](https://github.com/csehatt741/keyshade/commit/ab375309fc93218355d1ab12aefa20377c04604c))
    * Added missing mappings to pages ([5de9fd8](https://github.com/csehatt741/keyshade/commit/5de9fd81e4a6c8a9cfa68a6e5f09ecf9c2430130))
    * added running-the-web-app.md ([#269](https://github.com/csehatt741/keyshade/issues/269)) ([755ea12](https://github.com/csehatt741/keyshade/commit/755ea120ae90e62aaaf6b5dccf62d1d633b38c46))
    * Added section for building packages ([#720](https://github.com/csehatt741/keyshade/issues/720)) ([ecfde92](https://github.com/csehatt741/keyshade/commit/ecfde929f7554396ced6dbdc7c6cfb5bb5620edd))
    * **api:** Add swagger docs of API key controller ([#167](https://github.com/csehatt741/keyshade/issues/167)) ([2910476](https://github.com/csehatt741/keyshade/commit/2910476ce1fcf35abf1d6d196ec34811b7f1d943))
    * **api:** Add swagger docs of User Controller ([#166](https://github.com/csehatt741/keyshade/issues/166)) ([fd59522](https://github.com/csehatt741/keyshade/commit/fd5952227663a68393ef5a3a10bcc9faca1683b9))
    * **cli:** Added docs for the CLI package ([#329](https://github.com/csehatt741/keyshade/issues/329)) ([edad166](https://github.com/csehatt741/keyshade/commit/edad166c1a05507da481158f42571d1724179e36))
    * **cli:** Added usage docs ([#330](https://github.com/csehatt741/keyshade/issues/330)) ([b6963d5](https://github.com/csehatt741/keyshade/commit/b6963d5093f9031cd76821eb5faab840ea979d53))
    * **cli:** Update changelog to include missed out changes ([8910c5c](https://github.com/csehatt741/keyshade/commit/8910c5c3d34703445931b8e899fd0a368edba9c3))
    * Fix broken links in README.md ([9266788](https://github.com/csehatt741/keyshade/commit/92667881bbce4d0c2cce186178806054d998808a))
    * Fix Documentation Hyperlink and update expired Discord invite link ([#496](https://github.com/csehatt741/keyshade/issues/496)) ([5a10e39](https://github.com/csehatt741/keyshade/commit/5a10e3940562aa80462f71cabe29fdd4de9e12a8))
    * fix typo in environment-variables.md ([#163](https://github.com/csehatt741/keyshade/issues/163)) ([48294c9](https://github.com/csehatt741/keyshade/commit/48294c978df805a0543dd05375d07aafa43e31c4))
    * Fix typo in organization-of-code.md ([#234](https://github.com/csehatt741/keyshade/issues/234)) ([11244a2](https://github.com/csehatt741/keyshade/commit/11244a26b26c915d3bdd62b4ef93b505a274f35b))
    * Fixed minor typo in postman workspace link ([#411](https://github.com/csehatt741/keyshade/issues/411)) ([ed23116](https://github.com/csehatt741/keyshade/commit/ed231165e341be91f753b02200f8d4d11d42c3b3))
    * Migrate to Bruno ([#525](https://github.com/csehatt741/keyshade/issues/525)) ([1793d92](https://github.com/csehatt741/keyshade/commit/1793d925f248b175ea2115eb8926f4de26d670e5))
    * Modified environment-variable.md ([#256](https://github.com/csehatt741/keyshade/issues/256)) ([4974756](https://github.com/csehatt741/keyshade/commit/497475600467e039745a695a6e69635cebd8f8da))
    * Remove supabase from docs ([#169](https://github.com/csehatt741/keyshade/issues/169)) ([eddbce8](https://github.com/csehatt741/keyshade/commit/eddbce81fe11cca8e3e759aac1524b185e1c18f8))
    * **setup:** replace NX with Turbo in setup instructions ([#175](https://github.com/csehatt741/keyshade/issues/175)) ([af8a460](https://github.com/csehatt741/keyshade/commit/af8a460690b17e68b204d734a94705a61183b64d))
    * update CHANGELOG.md ([b01b5ca](https://github.com/csehatt741/keyshade/commit/b01b5ca6dc5ebce476cdbdfb341236b66484e7bc))
    * Update CONTRIBUTING.md ([7fc895d](https://github.com/csehatt741/keyshade/commit/7fc895d39c128dacb16f184440722fab71f523cf))
    * update DB_URL in .env.example ([325880e](https://github.com/csehatt741/keyshade/commit/325880e42f2ce43736a53a82c1bab0a9c83f4d64))
    * Update Discord link ([871b6cd](https://github.com/csehatt741/keyshade/commit/871b6cdef19fed55d7b34bc1e8b418b6974e9f38))
    * Update postman workspace link ([d6aba27](https://github.com/csehatt741/keyshade/commit/d6aba270a97f03f16e35b5cde75ff472641fe1a7))
    * update PULL_REQUEST_TEMPLATE.md ([e091d40](https://github.com/csehatt741/keyshade/commit/e091d40213fd238c74fbd3ec9f8282fb90c99ca2))
    * update README.md ([fb902e5](https://github.com/csehatt741/keyshade/commit/fb902e5052e6707eae09af296aa93d8dbb6869f4))
    * update README.md ([d3d0d86](https://github.com/csehatt741/keyshade/commit/d3d0d861b8d78348dc050d7c3b16f1bc32359e60))
    * Update README.md ([e66fcd2](https://github.com/csehatt741/keyshade/commit/e66fcd2caf75f75cd3a195139e92c5b27a7321ef))
    * Update README.md ([b59f16b](https://github.com/csehatt741/keyshade/commit/b59f16beead8b7a549182e41abba90592f31a8cb))
    * Update running-the-api.md ([177dbbf](https://github.com/csehatt741/keyshade/commit/177dbbf9e7737246acf3a4c241688e3a000ce66f))
    * Update running-the-api.md ([#193](https://github.com/csehatt741/keyshade/issues/193)) ([3d5bcac](https://github.com/csehatt741/keyshade/commit/3d5bcac76d5c5f64b13eb0f8e7bbd14a3101e322))
    * Updated alignment of pictures in API Testing page ([5d69223](https://github.com/csehatt741/keyshade/commit/5d6922334a23a31e952f80d05bb42e2b1e496a20))
    * Updated alignment of pictures in API Testing page ([e31eeca](https://github.com/csehatt741/keyshade/commit/e31eeca2108167c0cb81d8f11ee7d8701e39a378))
    * Updated CLI docs ([#460](https://github.com/csehatt741/keyshade/issues/460)) ([c7e0f13](https://github.com/csehatt741/keyshade/commit/c7e0f13debea9ec89c98be415f5076f156985533))
    * Updated env and cli docs ([1213d2a](https://github.com/csehatt741/keyshade/commit/1213d2a9b5689d44a260eff9c2e0eb8e6968c7da))
    * Updated Postman links ([444bfb1](https://github.com/csehatt741/keyshade/commit/444bfb1a5d85656ce98011c442e5238d2b786a72))
    * **web:** Add documentation about our web package ([#268](https://github.com/csehatt741/keyshade/issues/268)) ([3d848e7](https://github.com/csehatt741/keyshade/commit/3d848e7e2e20623edcc6c8dec3741f2de506c2c5))
    
    ### 🔧 Miscellaneous Chores
    
    * ad start:api script in package.json ([ee3bc19](https://github.com/csehatt741/keyshade/commit/ee3bc19bcbe83a1840ae64d466065e95b0c827f4))
    * add `getAllUsers` test  ([0b51a02](https://github.com/csehatt741/keyshade/commit/0b51a02c7799d010637dacb357fa6c5a478698b5))
    * Add api client build script and updated CI ([da0e27a](https://github.com/csehatt741/keyshade/commit/da0e27aab1f725adf28d60592e73818bb1584df7))
    * add auto release and commit config ([0fe7d19](https://github.com/csehatt741/keyshade/commit/0fe7d19614621deaec83904721ad97c49d691748))
    * add husky pre-commit check ([62bf77e](https://github.com/csehatt741/keyshade/commit/62bf77ebe3c9941c722c126e2bda325b66275b30))
    * Add more logging to Sentry init ([#470](https://github.com/csehatt741/keyshade/issues/470)) ([de4925d](https://github.com/csehatt741/keyshade/commit/de4925d9691b7bbc5c2322e01ab6787681215cf0))
    * add pr auto tag workflow ([7a44137](https://github.com/csehatt741/keyshade/commit/7a44137bc6dd9e7c64baf8c4dd468b2676d378e3))
    * add PR lint ([bb28cb7](https://github.com/csehatt741/keyshade/commit/bb28cb7b2e6d1501c6525690a744068fc5c6e56c))
    * add prettier:fix in package.json and husky ([2451301](https://github.com/csehatt741/keyshade/commit/2451301fe9bf0f32b354a7b3ffb548866cd6b265))
    * add release drafter config ([de36d9f](https://github.com/csehatt741/keyshade/commit/de36d9f5f5de639be300115b7dd62826613d15a6))
    * add render hook in web to auto-deploy ([b0228d0](https://github.com/csehatt741/keyshade/commit/b0228d021e524a8eaf1760f58b74b623ea6ef64a))
    * add semantic release ([af12daa](https://github.com/csehatt741/keyshade/commit/af12daa7e8947d50bf346246412962738b2c9ee0))
    * Add Sentry and update CI ([#653](https://github.com/csehatt741/keyshade/issues/653)) ([ca96862](https://github.com/csehatt741/keyshade/commit/ca96862ce3ab708d99cb0a99b7b84945bac37cdb))
    * add test workflow ([77c49de](https://github.com/csehatt741/keyshade/commit/77c49def7fc0b9ec06ce2ccd0790b141fb0a4839))
    * add workflow for CI and deployment of web ([f49b7db](https://github.com/csehatt741/keyshade/commit/f49b7db41458583a74a84f4433e2d685ab1855f9))
    * Added back disabled platform CI ([912b02a](https://github.com/csehatt741/keyshade/commit/912b02a782bfe5a74f9ad607928d568f09ba86f0))
    * Added docker build and run commands to` package.json` ([#258](https://github.com/csehatt741/keyshade/issues/258)) ([af61791](https://github.com/csehatt741/keyshade/commit/af61791b18b827de8369cbeac51a22a93ce8be2e))
    * Added lockfile ([60a3b9b](https://github.com/csehatt741/keyshade/commit/60a3b9bbc643beb0af1f6ec4dd7861944c6a1547))
    * Added lockfile ([6bb512c](https://github.com/csehatt741/keyshade/commit/6bb512c2e4ae2dd3bbdaecd2dc51c308772bbd84))
    * Added next backend url in .env.example ([5695254](https://github.com/csehatt741/keyshade/commit/5695254b64d3c504f7ca7cd17681f42947fef232))
    * adding test command to pre commit ([09805a5](https://github.com/csehatt741/keyshade/commit/09805a545639ce4d107dc067e7f50db1a8f4955b))
    * **api-client:** Added pagination structure ([a70e957](https://github.com/csehatt741/keyshade/commit/a70e957afc828be1e72d0ea958de8ba860a04b9c))
    * **api-client:** Fixed test script ([ad70819](https://github.com/csehatt741/keyshade/commit/ad708190771f40596646b54fdda49a01c4742644))
    * **api-client:** Removed try-catch from tests in environment ([a64e48c](https://github.com/csehatt741/keyshade/commit/a64e48cb171b3996bddb74f2cf256d4760e3ccb3))
    * **api:** Add SMTP_SECURE environment variable to Mail Service ([#741](https://github.com/csehatt741/keyshade/issues/741)) ([dd89d57](https://github.com/csehatt741/keyshade/commit/dd89d57d9c5aee3979b31f8036b0870bba20ffa1))
    * **api:** Add user cache for optimization ([#386](https://github.com/csehatt741/keyshade/issues/386)) ([8d730b5](https://github.com/csehatt741/keyshade/commit/8d730b58830a8a0e6be6bf0fe86b3021a2d473eb))
    * **api:** Added type inference and runtime validation to `process.env` ([#200](https://github.com/csehatt741/keyshade/issues/200)) ([249e07d](https://github.com/csehatt741/keyshade/commit/249e07d9b7d6ac699f4a2167eb5b4c3068acb4db))
    * **api:** Alter cache rehydration interval ([f5f9eec](https://github.com/csehatt741/keyshade/commit/f5f9eec5c81b29d7f8eb1e233c4e80e4d36eb0cf))
    * **api:** Fix inconsistencies in zod schema ([#240](https://github.com/csehatt741/keyshade/issues/240)) ([f3a3632](https://github.com/csehatt741/keyshade/commit/f3a36326b4f5c945fb2725620ff92ab31e44e053))
    * **api:** Fixed naming error in variable controller ([0c5a380](https://github.com/csehatt741/keyshade/commit/0c5a380fba843a2eb8a84753cfbe8b3ef86b6e31))
    * **api:** Fixed prisma script env errors ([#209](https://github.com/csehatt741/keyshade/issues/209)) ([8762354](https://github.com/csehatt741/keyshade/commit/8762354f1f70e48614655d10760440cb7d7e60d9))
    * **api:** Get feedback forward email from process.env ([#236](https://github.com/csehatt741/keyshade/issues/236)) ([204c9d1](https://github.com/csehatt741/keyshade/commit/204c9d133df04fb93f965cdb58ea948bcf44df12))
    * **api:** Improve handling of edge cases for paginate module ([#402](https://github.com/csehatt741/keyshade/issues/402)) ([8591487](https://github.com/csehatt741/keyshade/commit/8591487623c5e817ff31aedd6e8cd15074bcfc1c))
    * **api:** Minor updates to user service ([249d778](https://github.com/csehatt741/keyshade/commit/249d778b94a5587b6c7da6d7afe04b9bfee5c0d6))
    * **api:** Optimise API docker image size ([#360](https://github.com/csehatt741/keyshade/issues/360)) ([ea40dc1](https://github.com/csehatt741/keyshade/commit/ea40dc1f7bb8db14dcb20d82a8e106c6e79cf560))
    * **API:** Refactor authority check functions in API ([#189](https://github.com/csehatt741/keyshade/issues/189)) ([e9d710d](https://github.com/csehatt741/keyshade/commit/e9d710d49a872f6c3ca974780bcf1039f31104de))
    * **api:** Refactor user e2e tests ([b38d45a](https://github.com/csehatt741/keyshade/commit/b38d45a4314257030cc3bbcd90dd02cfd3574469))
    * **api:** Remove failing environment tests ([d1b9767](https://github.com/csehatt741/keyshade/commit/d1b9767a9714ee7dfa38b9f066beb80db40b4757))
    * **api:** Reorganized import using path alias ([d5befd1](https://github.com/csehatt741/keyshade/commit/d5befd15a5324e217bff76ef834c4387f6a168ba))
    * **api:** Skip workspace creation when user is admin ([#376](https://github.com/csehatt741/keyshade/issues/376)) ([13f6c59](https://github.com/csehatt741/keyshade/commit/13f6c59fda07e4a8b6f991e670ab055964fb2fb1))
    * **api:** Suppressed version check test in [secure] ([4688e8c](https://github.com/csehatt741/keyshade/commit/4688e8c429e63b3fb18ba0bb77d53fa875999792))
    * **api:** update dockerfile and ci ([ae2d944](https://github.com/csehatt741/keyshade/commit/ae2d9441ab9d73ea61e5924a6157da7260aaf9c7))
    * **api:** update dockerfile entrypoint ([3962beb](https://github.com/csehatt741/keyshade/commit/3962bebf91973e5ca18f47bf5dab5c4fd94cf873))
    * **api:** update sentry log messages ([976026c](https://github.com/csehatt741/keyshade/commit/976026c74f2f1e7de7cab284b751ea87a8ce573d))
    * **api:** Update slug generation method ([#420](https://github.com/csehatt741/keyshade/issues/420)) ([1f864df](https://github.com/csehatt741/keyshade/commit/1f864df4180f65c8f42f8984b6a014d44c366901))
    * **api:** Updated lockfile ([a968e78](https://github.com/csehatt741/keyshade/commit/a968e78198cfe437af4a9b95ecfb47a7452c1678))
    * **api:** Updated response types in environment service ([b8a3ddd](https://github.com/csehatt741/keyshade/commit/b8a3ddd5c2c1f8a9c24f7df6f193eff4fc2da691))
    * **auth:** loading github module optionally ([#112](https://github.com/csehatt741/keyshade/issues/112)) ([9263737](https://github.com/csehatt741/keyshade/commit/9263737bcf7c7e4ed247f8ae8dc69351a30def6a))
    * **ci:** Add CLI deployment script ([51de9d1](https://github.com/csehatt741/keyshade/commit/51de9d115de8e21d0ffd3732b020f4b514c614c4))
    * **ci:** Add docker check   ([#383](https://github.com/csehatt741/keyshade/issues/383)) ([3119001](https://github.com/csehatt741/keyshade/commit/311900177b85035d777acb6d86549cfffc71dbef))
    * **ci:** add [secure] envs to api workflow ([4f6bb44](https://github.com/csehatt741/keyshade/commit/4f6bb4492a47676d56439d730f49c71275c8d60a))
    * **ci:** add fly.io ([46bcd22](https://github.com/csehatt741/keyshade/commit/46bcd225f66aba763ee4619531d3cfec5cb68e11))
    * **ci:** Add internal package dependencies to existing workflows ([#592](https://github.com/csehatt741/keyshade/issues/592)) ([a9fc39e](https://github.com/csehatt741/keyshade/commit/a9fc39ee4ae1f2b3869c1bc8addfa20958049022))
    * **ci:** Add manual trigger ([cfbf4b9](https://github.com/csehatt741/keyshade/comm…
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    type: enhancement New feature or request
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    Support for managing configurations
    1 participant