diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 8b8dd4885f9..af252903131 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "8.12.4" + ".": "8.13.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 212f572c340..2e6b5a953bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ This project adheres to [Semantic Versioning](http://semver.org/). This CHANGELOG follows conventions [outlined here](http://keepachangelog.com/). +## [8.13.0](https://github.com/ParabolInc/parabol/compare/v8.12.4...v8.13.0) (2024-12-17) + + +### Added + +* remove sso without emailing all users ([#10608](https://github.com/ParabolInc/parabol/issues/10608)) ([670c5a0](https://github.com/ParabolInc/parabol/commit/670c5a05e10969ac7da7d9e92b24c1e65b9a83e0)) + ## [8.12.4](https://github.com/ParabolInc/parabol/compare/v8.12.3...v8.12.4) (2024-12-16) diff --git a/package.json b/package.json index 4e1182014be..eb25ac65199 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "An open-source app for building smarter, more agile teams.", "author": "Parabol Inc. (http://github.com/ParabolInc)", "license": "AGPL-3.0", - "version": "8.12.4", + "version": "8.13.0", "repository": { "type": "git", "url": "https://github.com/ParabolInc/parabol" diff --git a/packages/chronos/package.json b/packages/chronos/package.json index f9efafd3705..0210b7d1302 100644 --- a/packages/chronos/package.json +++ b/packages/chronos/package.json @@ -1,6 +1,6 @@ { "name": "chronos", - "version": "8.12.4", + "version": "8.13.0", "description": "A cron job scheduler", "author": "Matt Krick ", "homepage": "https://github.com/ParabolInc/parabol/tree/master/packages/chronos#readme", @@ -25,6 +25,6 @@ }, "dependencies": { "cron": "^2.3.1", - "parabol-server": "8.12.4" + "parabol-server": "8.13.0" } } diff --git a/packages/client/package.json b/packages/client/package.json index 1c6e90346f8..7ea7c1c2299 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -3,7 +3,7 @@ "description": "An open-source app for building smarter, more agile teams.", "author": "Parabol Inc. (http://github.com/ParabolInc)", "license": "AGPL-3.0", - "version": "8.12.4", + "version": "8.13.0", "repository": { "type": "git", "url": "https://github.com/ParabolInc/parabol" diff --git a/packages/embedder/package.json b/packages/embedder/package.json index ffc66e7c1d0..7c6814b98bd 100644 --- a/packages/embedder/package.json +++ b/packages/embedder/package.json @@ -1,6 +1,6 @@ { "name": "parabol-embedder", - "version": "8.12.4", + "version": "8.13.0", "description": "A service that computes embedding vectors from Parabol objects", "author": "Jordan Husney ", "homepage": "https://github.com/ParabolInc/parabol/tree/master/packages/embedder#readme", diff --git a/packages/gql-executor/package.json b/packages/gql-executor/package.json index f71d34e6270..32cb6f0ab6f 100644 --- a/packages/gql-executor/package.json +++ b/packages/gql-executor/package.json @@ -1,6 +1,6 @@ { "name": "gql-executor", - "version": "8.12.4", + "version": "8.13.0", "description": "A Stateless GraphQL Executor", "author": "Matt Krick ", "homepage": "https://github.com/ParabolInc/parabol/tree/master/packages/gqlExecutor#readme", @@ -25,8 +25,8 @@ }, "dependencies": { "dd-trace": "^5.0.0", - "parabol-client": "8.12.4", - "parabol-server": "8.12.4", + "parabol-client": "8.13.0", + "parabol-server": "8.13.0", "undici": "^5.26.2" } } diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index 0fb4fafa7e2..81e63f18994 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -2,7 +2,7 @@ "name": "integration-tests", "author": "Parabol Inc. (http://github.com/ParabolInc)", "license": "AGPL-3.0", - "version": "8.12.4", + "version": "8.13.0", "description": "", "main": "index.js", "scripts": { diff --git a/packages/server/graphql/mutations/helpers/processEmailPasswordReset.ts b/packages/server/graphql/mutations/helpers/processEmailPasswordReset.ts index f9b94215737..3e3fc7b52cf 100644 --- a/packages/server/graphql/mutations/helpers/processEmailPasswordReset.ts +++ b/packages/server/graphql/mutations/helpers/processEmailPasswordReset.ts @@ -14,7 +14,8 @@ const processEmailPasswordReset = async ( ip: string, email: string, identities: AuthIdentity[], - userId: string + userId: string, + sendEmail?: boolean | null ) => { const pg = getKysely() const tokenBuffer = await randomBytes(48) @@ -38,6 +39,8 @@ const processEmailPasswordReset = async ( await updateUser({identities}, userId) + if (sendEmail === false) return {success: true} + const {subject, body, html} = resetPasswordEmailCreator({resetPasswordToken}) const success = await getMailManager().sendEmail({ to: email, diff --git a/packages/server/graphql/private/mutations/removeAuthIdentity.ts b/packages/server/graphql/private/mutations/removeAuthIdentity.ts index 88b4d689cf8..11d8ab4aadb 100644 --- a/packages/server/graphql/private/mutations/removeAuthIdentity.ts +++ b/packages/server/graphql/private/mutations/removeAuthIdentity.ts @@ -8,7 +8,7 @@ import {MutationResolvers} from '../../private/resolverTypes' const removeAuthIdentity: MutationResolvers['removeAuthIdentity'] = async ( _source, - {domain, identityType, addLocal}, + {domain, identityType, addLocal, sendEmail = true}, {ip} ) => { // VALIDATION @@ -44,7 +44,7 @@ const removeAuthIdentity: MutationResolvers['removeAuthIdentity'] = async ( await Promise.all( usersWithUpdatedIdentities.map(({identities, id: userId, email}) => - processEmailPasswordReset(ip, email, identities, userId) + processEmailPasswordReset(ip, email, identities, userId, sendEmail) ) ) diff --git a/packages/server/graphql/private/typeDefs/Mutation.graphql b/packages/server/graphql/private/typeDefs/Mutation.graphql index 4eba09faf86..d1483933201 100644 --- a/packages/server/graphql/private/typeDefs/Mutation.graphql +++ b/packages/server/graphql/private/typeDefs/Mutation.graphql @@ -474,6 +474,11 @@ type Mutation { Add a local auth with a dummy hashed password """ addLocal: Boolean! + + """ + Send an email to the user to let them know their auth identity has been removed and they need to reset their password. Defaults to true. + """ + sendEmail: Boolean ): RemoveAuthIdentityPayload! """ diff --git a/packages/server/package.json b/packages/server/package.json index 871df657994..f49666d2f6f 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -3,7 +3,7 @@ "description": "An open-source app for building smarter, more agile teams.", "author": "Parabol Inc. (http://github.com/ParabolInc)", "license": "AGPL-3.0", - "version": "8.12.4", + "version": "8.13.0", "repository": { "type": "git", "url": "https://github.com/ParabolInc/parabol" @@ -131,7 +131,7 @@ "oauth-1.0a": "^2.2.6", "openai": "^4.53.0", "oy-vey": "^0.12.1", - "parabol-client": "8.12.4", + "parabol-client": "8.13.0", "pg": "^8.5.1", "react": "^17.0.2", "react-dom": "^17.0.2",