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 workspace removal notification email template #476

Conversation

Allan2000-Git
Copy link
Contributor

@Allan2000-Git Allan2000-Git commented Oct 4, 2024

User description

Description

This PR adds a project removal notification email template. It provides users with key information regarding the project removal, including project name and removal date.

Fixes #56

Dependencies

No new dependencies introduced.

Future Improvements

Make it consistent with Keyshade's theme.

Mentions

@rajdip-b

Screenshots of relevant screens

Screenshot 2024-10-04 232418

Developer's checklist

  • My PR follows the style guidelines of this project
  • I have performed a self-check on my work

If changes are made in the code:

  • I have followed the coding guidelines
  • My changes in code generate no new warnings
  • My changes are breaking another fix/feature of the project
  • I have added test cases to show that my feature works
  • I have added relevant screenshots in my PR
  • There are no UI/UX issues

Documentation Update

  • This PR requires an update to the documentation at docs.keyshade.xyz
  • I have made the necessary updates to the documentation, or no documentation changes are required.

PR Type

Enhancement, Dependencies


Description

  • Added a new email template for notifying users when they are removed from a workspace, using @react-email/components.
  • Implemented the removedFromWorkspace method in the mail service to send the new email template.
  • Updated Jest configurations to support .tsx and .jsx files.
  • Added new dependencies for React Email components and rendering, and updated React to version 18.3.1.
  • Updated TypeScript configuration to enable JSX support.

Changes walkthrough 📝

Relevant files
Enhancement
3 files
workspace-removal.tsx
Add workspace removal notification email template               

apps/api/src/mail/emails/workspace-removal.tsx

  • Added a new email template for notifying users of workspace removal.
  • Utilized @react-email/components for email structure.
  • Included workspace name and removal date in the email.
  • +145/-0 
    interface.service.ts
    Extend mail service interface for workspace removal           

    apps/api/src/mail/services/interface.service.ts

  • Added a new method removedFromWorkspace to the mail service interface.

  • +6/-0     
    mail.service.ts
    Implement workspace removal email sending functionality   

    apps/api/src/mail/services/mail.service.ts

  • Implemented removedFromWorkspace method to send workspace removal
    emails.
  • Integrated @react-email/render for email rendering.
  • +17/-1   
    Tests
    1 files
    mock.service.ts
    Add mock service for workspace removal email                         

    apps/api/src/mail/services/mock.service.ts

    • Added mock implementation for removedFromWorkspace method.
    +10/-0   
    Configuration changes
    3 files
    jest.config.ts
    Update Jest config for JSX/TSX support                                     

    apps/api/jest.config.ts

    • Updated Jest configuration to support .tsx and .jsx files.
    +2/-2     
    jest.e2e-config.ts
    Update Jest E2E config for JSX/TSX support                             

    apps/api/jest.e2e-config.ts

    • Updated Jest E2E configuration to support .tsx and .jsx files.
    +2/-2     
    tsconfig.json
    Enable JSX support in TypeScript config                                   

    apps/api/tsconfig.json

    • Enabled JSX support in TypeScript configuration.
    +2/-1     
    Dependencies
    3 files
    package.json
    Add React Email dependencies and update React version       

    apps/api/package.json

  • Added new dependencies for @react-email components and rendering.
  • Updated React version to 18.3.1.
  • +6/-0     
    package-lock.json
    Update package-lock for new email dependencies                     

    apps/api/package-lock.json

    • Updated lock file to include new dependencies for email rendering.
    +2/-0     
    pnpm-lock.yaml
    Update pnpm lock file for React Email dependencies             

    pnpm-lock.yaml

  • Updated lock file with new dependencies for React Email components.
  • +483/-38

    💡 PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

    Copy link
    Contributor

    codiumai-pr-agent-free bot commented Oct 4, 2024

    PR Reviewer Guide 🔍

    (Review updated until commit 055755c)

    Here are some key observations to aid the review process:

    🎫 Ticket compliance analysis ✅

    56 - Fully compliant

    Compliant requirements:

    • Created email template with project name and removal date variables
    • Template sends notification when user is removed
    ⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Possible Bug
    The admin email address is accessed with non-null assertion (!). This could cause runtime errors if the environment variable is not set.

    Code Smell
    The email template hardcodes styling values. Consider extracting these into a shared styles configuration file for consistency and maintainability.

    Copy link
    Contributor

    codiumai-pr-agent-free bot commented Oct 4, 2024

    PR Code Suggestions ✨

    Latest suggestions up to 055755c
    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Score
    Possible issue
    Add proper null checking for environment variables instead of using non-null assertion operator

    Add null check for email parameter in sendEmail call to prevent potential runtime
    errors when environment variable is undefined.

    apps/api/src/mail/services/mail.service.ts [138]

    -await this.sendEmail(process.env.ADMIN_EMAIL!, subject, body)
    +const adminEmail = process.env.ADMIN_EMAIL
    +if (!adminEmail) throw new Error('ADMIN_EMAIL environment variable is not set')
    +await this.sendEmail(adminEmail, subject, body)
    • Apply this suggestion
    Suggestion importance[1-10]: 8

    Why: The suggestion improves code safety by replacing the non-null assertion operator (!) with proper null checking, preventing potential runtime errors if the environment variable is undefined.

    8
    Validate required email template parameters to prevent sending emails with missing information

    Add input validation for workspaceName and removedOn parameters to ensure they are
    not empty strings.

    apps/api/src/mail/emails/workspace-removal.tsx [18-21]

     export const RemovedFromWorkspaceEmail = ({
       workspaceName,
       removedOn
     }: WorkspaceRemovalEmailProps) => {
    +  if (!workspaceName?.trim() || !removedOn?.trim()) {
    +    throw new Error('Workspace name and removal date are required')
    +  }
    • Apply this suggestion
    Suggestion importance[1-10]: 7

    Why: Adding input validation for required parameters helps prevent sending incomplete or invalid emails, improving the robustness of the email template component.

    7
    General
    Use exact dependency versions for email template packages to ensure consistent rendering

    The React Email dependencies should specify exact versions instead of using caret
    ranges (^) to ensure consistent email template rendering across deployments. This is
    critical for email templates that need to look identical every time.

    apps/api/package.json [37-39]

    -"@react-email/components": "^0.0.25",
    -"@react-email/preview": "0.0.11", 
    -"@react-email/render": "^1.0.1",
    +"@react-email/components": "0.0.25",
    +"@react-email/preview": "0.0.11",
    +"@react-email/render": "1.0.1",
    • Apply this suggestion
    Suggestion importance[1-10]: 7

    Why: Using exact versions for email template dependencies is important for ensuring consistent email rendering across deployments. Version mismatches could lead to visual inconsistencies in production emails.

    7

    💡 Need additional feedback ? start a PR chat


    Previous suggestions

    ✅ Suggestions up to commit 0a1f923
    CategorySuggestion                                                                                                                                    Score
    Error handling
    Implement specific error handling for the email sending process

    Consider using a more specific error handling mechanism for the sendEmail method
    call. This will help in identifying and handling potential errors that may occur
    during the email sending process.

    apps/api/src/mail/services/mail.service.ts [261]

    -await this.sendEmail(email, subject, body)
    +try {
    +  await this.sendEmail(email, subject, body);
    +} catch (error) {
    +  this.logger.error(`Failed to send project removal email to ${email}`, error);
    +  throw new Error('Failed to send project removal notification email');
    +}
    Suggestion importance[1-10]: 8

    Why: Adding specific error handling for the sendEmail method is a valuable enhancement. It improves the robustness of the code by allowing for better error tracking and handling, which is crucial for maintaining reliable email functionality.

    8
    Maintainability
    ✅ Extract the HTML email template into a separate file for better separation of concerns
    Suggestion Impact:The HTML email template was extracted from the inline definition to a separate component, which is then imported and rendered, aligning with the suggestion to improve separation of concerns.

    code diff:

    +import RemovedFromWorkspaceEmail from '../emails/workspace-removal'
    +import { render } from '@react-email/render'
     
     @Injectable()
     export class MailService implements IMailService {
    @@ -133,7 +135,7 @@
                <p>keyshade Team</p>
             </body>
             `
    -    await this.sendEmail(process.env.ADMIN_EMAIL, subject, body)
    +    await this.sendEmail(process.env.ADMIN_EMAIL!, subject, body)
       }
     
       async feedbackEmail(email: string, feedback: string): Promise<void> {
    @@ -158,106 +160,17 @@
         await this.sendEmail(email, subject, body)
       }
     
    -  async projectRemoval(
    +  async removedFromWorkspace(
         email: string,
    -    projectName: string,
    +    workspaceName: string,
         removedOn: string
       ): Promise<void> {
    -    const subject = 'Project Removal Notification'
    -    const body = `<!DOCTYPE html>
    -      <html lang="en">
    -      <head>
    -          <style>
    -              body {
    -                  font-family: 'Segoe UI', 'Roboto', sans-serif;
    -                  line-height: 1.6;
    -                  color: #04050a;
    -                  background-color: #fafafa;
    -                  margin: 0;
    -                  padding: 20px;
    -              }
    +    const subject = `Your access was revoked from ${workspaceName}`
     
    -              table {
    -                  max-width: 600px;
    -                  margin: 0 auto;
    -                  background-color: #fff;
    -                  border-radius: 5px;
    -                  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    -                  border-spacing: 0;
    -                  width: 100%;
    -              }
    +    const body = await render(
    +      RemovedFromWorkspaceEmail({ removedOn, workspaceName })
    +    )

    Consider extracting the HTML email template into a separate file and importing it.
    This will improve separation of concerns and make the code more maintainable.

    apps/api/src/mail/services/mail.service.ts [167-260]

    -const body = `<!DOCTYPE html>
    -  <html lang="en">
    -  <head>
    -      <style>
    -          body {
    -              font-family: 'Segoe UI', 'Roboto', sans-serif;
    -              line-height: 1.6;
    -              color: #04050a;
    -              background-color: #fafafa;
    -              margin: 0;
    -              padding: 20px;
    -          }
    -          ...
    -      </style>
    -  </head>
    -  <body>
    -      ...
    -  </body>
    -  </html>
    -`
    +import { projectRemovalTemplate } from '../templates/projectRemoval.template';
     
    +const body = projectRemovalTemplate(projectName, removedOn);
    +
    Suggestion importance[1-10]: 7

    Why: Extracting the HTML email template into a separate file can enhance separation of concerns and improve maintainability. This suggestion is relevant and could significantly improve the code structure.

    7
    Enhancement
    Use template literals for the entire HTML email template to improve readability and maintainability

    Consider using template literals for the entire HTML email template instead of
    concatenating strings. This will improve readability and make it easier to maintain
    the template.

    apps/api/src/mail/services/mail.service.ts [167-260]

    -const body = `<!DOCTYPE html>
    -  <html lang="en">
    -  <head>
    -      <style>
    -          body {
    -              font-family: 'Segoe UI', 'Roboto', sans-serif;
    -              line-height: 1.6;
    -              color: #04050a;
    -              background-color: #fafafa;
    -              margin: 0;
    -              padding: 20px;
    -          }
    -
    -          table {
    -              max-width: 600px;
    -              margin: 0 auto;
    -              background-color: #fff;
    -              border-radius: 5px;
    -              box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    -              border-spacing: 0;
    -              width: 100%;
    -          }
    -
    -          h1 {
    -              color: #000;
    -              margin-bottom: 20px;
    -              font-size: 24px;
    -              font-weight: 600;
    -          }
    -
    -          p {
    -              margin-bottom: 15px;
    -              color: #666;
    -          }
    -
    -          .p-40 {
    -              padding: 40px;
    -          }
    -
    -          table tr td:first-child {
    -              color: #000;
    -          }
    -
    -          table tr td:last-child {
    -              color: #666;
    -          }
    -
    -          .info-table {
    -              background-color: #fafafa;
    -              border-radius: 5px;
    -              margin-bottom: 20px;
    -          }
    -
    -          hr {
    -              border: none;
    -              border-top: 1px solid #eaeaea;
    -              margin: 20px 0;
    -          }
    -
    -          .footer-text {
    -              font-size: 12px;
    -              color: #999;
    -              text-align: center;
    -          }
    -      </style>
    -  </head>
    -  <body>
    -      <table cellpadding="0" cellspacing="0" border="0" width="100%">
    -          <tr>
    -              <td class="p-40">
    -                  <h1>Project Removal Notification</h1>
    -                  <p>Dear User,</p>
    -                  <p>We hope this email finds you well. We wanted to inform you that your access to the following project has been removed:</p>
    -                  <table cellpadding="10" cellspacing="0" border="0" width="100%" style="background-color: #fafafa; border-radius: 5px; margin-bottom: 20px;">
    -                      <tr>
    -                          <td>Project Name:</td>
    -                          <td>${projectName}</td>
    -                      </tr>
    -                      <tr>
    -                          <td>Removed On:</td>
    -                          <td>${removedOn}</td>
    -                      </tr>
    -                  </table>
    -                  <p>If you believe this action was taken in error or have any questions regarding this change, please don't hesitate to contact your project administrator or our support team.</p>
    -                  <p>We appreciate your understanding and thank you for your contributions to the project.</p>
    -                  <p>Best regards,<br>Team Keyshade</p>
    -                  <hr />
    -                  <p class="footer-text">This is an automated message. Please do not reply to this email.</p>
    -              </td>
    -          </tr>
    -      </table>
    -  </body>
    -  </html>
    +const body = `
    +<!DOCTYPE html>
    +<html lang="en">
    +<head>
    +    <style>
    +        body {
    +            font-family: 'Segoe UI', 'Roboto', sans-serif;
    +            line-height: 1.6;
    +            color: #04050a;
    +            background-color: #fafafa;
    +            margin: 0;
    +            padding: 20px;
    +        }
    +        table {
    +            max-width: 600px;
    +            margin: 0 auto;
    +            background-color: #fff;
    +            border-radius: 5px;
    +            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    +            border-spacing: 0;
    +            width: 100%;
    +        }
    +        h1 {
    +            color: #000;
    +            margin-bottom: 20px;
    +            font-size: 24px;
    +            font-weight: 600;
    +        }
    +        p {
    +            margin-bottom: 15px;
    +            color: #666;
    +        }
    +        .p-40 {
    +            padding: 40px;
    +        }
    +        table tr td:first-child {
    +            color: #000;
    +        }
    +        table tr td:last-child {
    +            color: #666;
    +        }
    +        .info-table {
    +            background-color: #fafafa;
    +            border-radius: 5px;
    +            margin-bottom: 20px;
    +        }
    +        hr {
    +            border: none;
    +            border-top: 1px solid #eaeaea;
    +            margin: 20px 0;
    +        }
    +        .footer-text {
    +            font-size: 12px;
    +            color: #999;
    +            text-align: center;
    +        }
    +    </style>
    +</head>
    +<body>
    +    <table cellpadding="0" cellspacing="0" border="0" width="100%">
    +        <tr>
    +            <td class="p-40">
    +                <h1>Project Removal Notification</h1>
    +                <p>Dear User,</p>
    +                <p>We hope this email finds you well. We wanted to inform you that your access to the following project has been removed:</p>
    +                <table cellpadding="10" cellspacing="0" border="0" width="100%" style="background-color: #fafafa; border-radius: 5px; margin-bottom: 20px;">
    +                    <tr>
    +                        <td>Project Name:</td>
    +                        <td>${projectName}</td>
    +                    </tr>
    +                    <tr>
    +                        <td>Removed On:</td>
    +                        <td>${removedOn}</td>
    +                    </tr>
    +                </table>
    +                <p>If you believe this action was taken in error or have any questions regarding this change, please don't hesitate to contact your project administrator or our support team.</p>
    +                <p>We appreciate your understanding and thank you for your contributions to the project.</p>
    +                <p>Best regards,<br>Team Keyshade</p>
    +                <hr />
    +                <p class="footer-text">This is an automated message. Please do not reply to this email.</p>
    +            </td>
    +        </tr>
    +    </table>
    +</body>
    +</html>
     `
    Suggestion importance[1-10]: 5

    Why: The suggestion to use template literals for the entire HTML email template is valid as it can improve readability and maintainability. However, the existing code already uses template literals, so the impact of this suggestion is minimal.

    5

    @Allan2000-Git Allan2000-Git changed the title feat: add project removal notification email template feat: Add project removal notification email template Oct 4, 2024
    @rajdip-b
    Copy link
    Member

    rajdip-b commented Oct 4, 2024

    Hey man! Nice work on the PR. Although, I think there's a bit of slack from our end. We created that issue at the very initial days. So it would be "Removal frrom Workspace" and not project. Can you please make the changes accordingly?

    @Allan2000-Git
    Copy link
    Contributor Author

    Allan2000-Git commented Oct 5, 2024

    Hey man! Nice work on the PR. Although, I think there's a bit of slack from our end. We created that issue at the very initial days. So it would be "Removal frrom Workspace" and not project. Can you please make the changes accordingly?

    @rajdip-b Can you also share a URL of your logo if it's deployed on S3 or hosted anywhere, so that I can include in template. Also can you send the URL so that user can visit that page to know what workspaces he/she currently has, I can add a button also

    @rajdip-b
    Copy link
    Member

    rajdip-b commented Oct 6, 2024

    Hey man! Nice work on the PR. Although, I think there's a bit of slack from our end. We created that issue at the very initial days. So it would be "Removal frrom Workspace" and not project. Can you please make the changes accordingly?

    @rajdip-b Can you also share a URL of your logo if it's deployed on S3 or hosted anywhere, so that I can include in template. Also can you send the URL so that user can visit that page to know what workspaces he/she currently has, I can add a button also

    Unfortunately, currently we have none! This issue is a design issue so most of our things are in figma. Your PR will be closing the code-related stuff only. Eitherways, we will be working on a proper email template. So you won't need to worry too much about that.

    @Allan2000-Git
    Copy link
    Contributor Author

    Allan2000-Git commented Oct 6, 2024

    @rajdip-b I have made the changes. UI will now look like below ss
    email-ss

    @Allan2000-Git Allan2000-Git changed the title feat: Add project removal notification email template feat: Add workspace removal notification email template Oct 6, 2024
    @rajdip-b
    Copy link
    Member

    rajdip-b commented Oct 7, 2024

    @darksaiii @kriptonian1 thoughts on the UI?

    @Allan2000-Git
    Copy link
    Contributor Author

    @darksaiii @kriptonian1 thoughts on the UI?

    I'll have to create template using React email. Will update once completed

    @Allan2000-Git
    Copy link
    Contributor Author

    @rajdip-b Where should I place the templates?

    Should I create folder names templates in mail?

    @rajdip-b
    Copy link
    Member

    rajdip-b commented Oct 8, 2024

    Yes, I think that will work fine.

    @Allan2000-Git Allan2000-Git force-pushed the feat/project-removal-email-template branch from 2fff238 to 05cfe56 Compare October 8, 2024 18:19
    Copy link
    Member

    @rajdip-b rajdip-b left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    • I'm not sure why we have the email in two files.
    • We can reuse the CSS designs, so maybe you can move them into some place reusable

    @Allan2000-Git
    Copy link
    Contributor Author

    @rajdip-b I'm facing issue. I have imported react component, but it's not detecting the component. Anything I'm missing?

    @rajdip-b
    Copy link
    Member

    rajdip-b commented Oct 9, 2024

    @kriptonian1 would be able to help you out in here, but he's on a leave until the upcoming Monday. So, im afraid your PR has to wait :/

    @Allan2000-Git
    Copy link
    Contributor Author

    @kriptonian1 would be able to help you out in here, but he's on a leave until the upcoming Monday. So, im afraid your PR has to wait :/

    Hey @rajdip-b, the issue is mail.service.ts is a typescript file, it won't detect JSX syntax. Maybe we will need to convert to JSX

    @rajdip-b
    Copy link
    Member

    TSX sounds fine to me. Eitherways we shouldnt be using js

    @rajdip-b rajdip-b force-pushed the feat/project-removal-email-template branch from 05cfe56 to f64752a Compare October 13, 2024 14:04
    @kriptonian1
    Copy link
    Contributor

    React email supports typescript

    @Allan2000-Git
    Copy link
    Contributor Author

    @rajdip-b @kriptonian1 Can you review it? UI looks the same as above image.

    @rajdip-b
    Copy link
    Member

    @Allan2000-Git can you update your lockfile using pnpm i and push it?

    @Allan2000-Git
    Copy link
    Contributor Author

    @rajdip-b Any idea why is this happening?
    web:lint: Failed to load plugin 'turbo' declared in '.eslintrc.js » eslint-config-custom/next » C:\Users\HP\Documents\open-source\keyshade\node_modules\.pnpm\[email protected][email protected]\node_modules\eslint-config-turbo\index.js': Cannot convert undefined or null to object

    @rajdip-b
    Copy link
    Member

    This might be because turbo was updated. try deleting all the node modules folder and do pnpm i

    @Allan2000-Git
    Copy link
    Contributor Author

    No luck, its still the same error

    @muntaxir4
    Copy link
    Contributor

    No luck, its still the same error

    This is hopefully going to fix the lint issue. Update packages/eslint-config-custom/package.json to have the "eslint-config-turbo": "^2.3.1". This will reflect changes for the new turbo version.

    @Allan2000-Git
    Copy link
    Contributor Author

    @rajdip-b Can you review the changes? Once merged, I can use this as a base codepath for creating other email templates

    Copy link
    Contributor

    Persistent review updated to latest commit 055755c

    @rajdip-b
    Copy link
    Member

    @muntaxir4 tried the flow. He says he didn't get any emails after he left a workspace. Maybe you forgot to call the function in workspace-membership.service.ts?

    @muntaxir4
    Copy link
    Contributor

    muntaxir4 commented Nov 27, 2024

    @rajdip-b Can you review the changes? Once merged, I can use this as a base codepath for creating other email templates

    The sending of email upon removal from workspace isnt't implemented yet at https://github.com/keyshade-xyz/keyshade/blob/3a638239a216a7919254222c04fbac0391c85d43/apps/api/src/workspace-membership/service/workspace-membership.service.ts#L276C1-L293C6.

    Creating a rough implementation for that, I was able to receive the desired email. Currently, the removedOn string will be a Date's ISO strring : 2024-11-27T18:39:41.793Z can you format it to be more readable?

    UPDATE 1: Choose a type for removedOn (string/Date), preferably Date. Then format the removedOn to a more readable time.
    image

    @muntaxir4
    Copy link
    Contributor

    @Allan2000-Git I have pushed the changes that implements sending of email once user is removed from workspace. You may continue with formatting the removedOn, and then this PR could be merged.

    @rajdip-b rajdip-b merged commit 40b754f into keyshade-xyz:develop Dec 1, 2024
    4 checks passed
    rajdip-b pushed a commit that referenced this pull request Dec 3, 2024
    ## [2.8.0](v2.7.0...v2.8.0) (2024-12-03)
    
    ### 🚀 Features
    
    * **api:** Add workspace removal notification email template ([#476](#476)) ([40b754f](40b754f))
    * **cli:** Store `metrics_enabled` key in profile config ([#536](#536)) ([9283b22](9283b22))
    * **package, api, cli:** Add api-key schemas and types; Fix schema inconsistencies; Minor fix for CLI build errors  ([#557](#557)) ([126d024](126d024))
    * **platform:** Added screen for CREATE NEW PROJECT ([#540](#540)) ([b644633](b644633))
    * **platform:** Updated the empty state of dashboard ([#522](#522)) ([28739d9](28739d9))
    * **schema, api-client:** Migrate auth types to @keyshade/schema ([#532](#532)) ([d880098](d880098))
    * **schema, api-client:** Migrate event schemas and types to @keyshade/schema ([#546](#546)) ([a3267de](a3267de))
    * **schema, api-client:** Migrate integration schemas and types to @keyshade/schema ([#547](#547)) ([08868c3](08868c3))
    * **schema, api-client:** Migrate project schemas and environment schemas along with their types to @keyshade/schema ([#538](#538)) ([c468af0](c468af0))
    * **schema, api-client:** Migrate [secure] types and schemas to @keyshade/schema ([#539](#539)) ([bc3100b](bc3100b))
    * **schema, api-client:** Migrate user types and schemas to @keyshade/schema ([#535](#535)) ([c24695e](c24695e))
    * **schema, api-client:** Migrate variable schemas and types to @keyshade/schema ([#545](#545)) ([0ee8f9a](0ee8f9a))
    * **schema, api-client:** Migrate workspace-membership schemas and types to @keyshade/schema ([#569](#569)) ([4398969](4398969))
    * **schema, api-client:** Migrate workspace-role schemas and types to @keyshade/schema ([#568](#568)) ([9efbf2d](9efbf2d))
    * **schema:** Add User type inference from UserSchema ([#574](#574)) ([84c1db5](84c1db5))
    
    ### 🐛 Bug Fixes
    
    * **api:** Incorrect oauth redirect url ([58d96e5](58d96e5))
    * **platform:** Resolve loading SVG blocking input field interaction ([#571](#571)) ([30f4f65](30f4f65))
    
    ### 📚 Documentation
    
    * Add pictures to Bruno setup ([#541](#541)) ([210c0fd](210c0fd))
    * Migrate to Bruno ([#525](#525)) ([1793d92](1793d92))
    
    ### 🔧 Miscellaneous Chores
    
    * **ci:** Add script to validate schema package ([59e4280](59e4280))
    * Fixed codecov client version ([a998ae4](a998ae4))
    * **package:** Fixed tests and did housekeeping ([#544](#544)) ([40008e3](40008e3))
    * Update test coverage settings ([5b27e32](5b27e32))
    * Update Turbo to 2.3.1 ([#564](#564)) ([3a63823](3a63823))
    * **web:** Update dockerfile ([10d9cc5](10d9cc5))
    
    ### 🔨 Code Refactoring
    
    * **api-client, schema:** Add workspace's schemas and types in @keyshade/schema ([#520](#520)) ([7c8ee5d](7c8ee5d))
    muntaxir4 pushed a commit to muntaxir4/keyshade that referenced this pull request Jan 1, 2025
    ## [2.8.0](keyshade-xyz/keyshade@v2.7.0...v2.8.0) (2024-12-03)
    
    ### 🚀 Features
    
    * **api:** Add workspace removal notification email template ([keyshade-xyz#476](keyshade-xyz#476)) ([40b754f](keyshade-xyz@40b754f))
    * **cli:** Store `metrics_enabled` key in profile config ([keyshade-xyz#536](keyshade-xyz#536)) ([9283b22](keyshade-xyz@9283b22))
    * **package, api, cli:** Add api-key schemas and types; Fix schema inconsistencies; Minor fix for CLI build errors  ([keyshade-xyz#557](keyshade-xyz#557)) ([126d024](keyshade-xyz@126d024))
    * **platform:** Added screen for CREATE NEW PROJECT ([keyshade-xyz#540](keyshade-xyz#540)) ([b644633](keyshade-xyz@b644633))
    * **platform:** Updated the empty state of dashboard ([keyshade-xyz#522](keyshade-xyz#522)) ([28739d9](keyshade-xyz@28739d9))
    * **schema, api-client:** Migrate auth types to @keyshade/schema ([keyshade-xyz#532](keyshade-xyz#532)) ([d880098](keyshade-xyz@d880098))
    * **schema, api-client:** Migrate event schemas and types to @keyshade/schema ([keyshade-xyz#546](keyshade-xyz#546)) ([a3267de](keyshade-xyz@a3267de))
    * **schema, api-client:** Migrate integration schemas and types to @keyshade/schema ([keyshade-xyz#547](keyshade-xyz#547)) ([08868c3](keyshade-xyz@08868c3))
    * **schema, api-client:** Migrate project schemas and environment schemas along with their types to @keyshade/schema ([keyshade-xyz#538](keyshade-xyz#538)) ([c468af0](keyshade-xyz@c468af0))
    * **schema, api-client:** Migrate [secure] types and schemas to @keyshade/schema ([keyshade-xyz#539](keyshade-xyz#539)) ([bc3100b](keyshade-xyz@bc3100b))
    * **schema, api-client:** Migrate user types and schemas to @keyshade/schema ([keyshade-xyz#535](keyshade-xyz#535)) ([c24695e](keyshade-xyz@c24695e))
    * **schema, api-client:** Migrate variable schemas and types to @keyshade/schema ([keyshade-xyz#545](keyshade-xyz#545)) ([0ee8f9a](keyshade-xyz@0ee8f9a))
    * **schema, api-client:** Migrate workspace-membership schemas and types to @keyshade/schema ([keyshade-xyz#569](keyshade-xyz#569)) ([4398969](keyshade-xyz@4398969))
    * **schema, api-client:** Migrate workspace-role schemas and types to @keyshade/schema ([keyshade-xyz#568](keyshade-xyz#568)) ([9efbf2d](keyshade-xyz@9efbf2d))
    * **schema:** Add User type inference from UserSchema ([keyshade-xyz#574](keyshade-xyz#574)) ([84c1db5](keyshade-xyz@84c1db5))
    
    ### 🐛 Bug Fixes
    
    * **api:** Incorrect oauth redirect url ([58d96e5](keyshade-xyz@58d96e5))
    * **platform:** Resolve loading SVG blocking input field interaction ([keyshade-xyz#571](keyshade-xyz#571)) ([30f4f65](keyshade-xyz@30f4f65))
    
    ### 📚 Documentation
    
    * Add pictures to Bruno setup ([keyshade-xyz#541](keyshade-xyz#541)) ([210c0fd](keyshade-xyz@210c0fd))
    * Migrate to Bruno ([keyshade-xyz#525](keyshade-xyz#525)) ([1793d92](keyshade-xyz@1793d92))
    
    ### 🔧 Miscellaneous Chores
    
    * **ci:** Add script to validate schema package ([59e4280](keyshade-xyz@59e4280))
    * Fixed codecov client version ([a998ae4](keyshade-xyz@a998ae4))
    * **package:** Fixed tests and did housekeeping ([keyshade-xyz#544](keyshade-xyz#544)) ([40008e3](keyshade-xyz@40008e3))
    * Update test coverage settings ([5b27e32](keyshade-xyz@5b27e32))
    * Update Turbo to 2.3.1 ([keyshade-xyz#564](keyshade-xyz#564)) ([3a63823](keyshade-xyz@3a63823))
    * **web:** Update dockerfile ([10d9cc5](keyshade-xyz@10d9cc5))
    
    ### 🔨 Code Refactoring
    
    * **api-client, schema:** Add workspace's schemas and types in @keyshade/schema ([keyshade-xyz#520](keyshade-xyz#520)) ([7c8ee5d](keyshade-xyz@7c8ee5d))
    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
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    Mail template to notify user being removed from project
    4 participants