What's Changed
- update readme file for meeting bot by @ehconitin in #22069
- chore: bump version to 2.17.0 by @twenty-pr[bot] in #22088
- feat(billing): invoice on seat increase by @etiennejouan in #22083
- fix(email-settings): enable independent message folder and subfolder selection by @rish106-hub in #21853
- Reduce published twenty-ui npm package size by @bosiraphael in #22087
- feat(front): add search to the language picker by @FelixMalfait in #22095
- rename twenty meeting bot to call recorder by @ehconitin in #22093
- fix: update skill to fit requirements by @rashad in #22097
- i18n - docs translations by @github-actions[bot] in #22102
- chore(apps): move public apps to packages/twenty-apps/public and generalize CI workflow by @martmull in #22096
- Add backend primitive to credit a workspace's billing balance by @bosiraphael in #22094
- docs: rewrite billing credits page to clarify credit value and usage by @FelixMalfait in #22099
- chore(deps): bump react-error-boundary from 4.0.13 to 4.1.2 by @dependabot[bot] in #22105
- chore(deps-dev): bump @storybook/addon-a11y from 10.4.1 to 10.4.6 by @dependabot[bot] in #22103
- chore(deps): bump @e2b/code-interpreter from 2.6.0 to 2.6.1 by @dependabot[bot] in #22106
- chore(deps): bump @nestjs/schedule from 6.1.0 to 6.1.3 by @dependabot[bot] in #22112
- chore(deps): bump @sentry/react from 10.51.0 to 10.60.0 by @dependabot[bot] in #22111
- chore(deps): bump @scalar/api-reference-react from 0.9.46 to 0.9.48 by @dependabot[bot] in #22115
- Enforce server route app configuration requirements by @martmull in #22091
- fix(server): scope server-route target dispatch to the resolver's application by @martmull in #22101
- Update workspace domain card layout by @Bonapara in #22108
- chore: disable dependabot version-update PRs by @charlesBochet in #22119
- chore(deps): bump @ai-sdk/mistral from 3.0.39 to 3.0.40 by @dependabot[bot] in #22117
- chore(deps-dev): bump @storybook/addon-docs from 10.3.4 to 10.4.6 by @dependabot[bot] in #22110
- fix(website): force-dynamic partner profiles to stop OpenNext 404 cache by @rashad in #22120
- chore: replace vite-tsconfig-paths with resolve.tsconfigPaths by @parshipcy in #22100
- fix(ux): input error messages no longer overlap adjacent fields in forms by @emmanuelhb56 in #21886
- i18n - docs translations by @github-actions[bot] in #22122
- Add v2 create-workspace onboarding screen by @bosiraphael in #22075
- fix(server): dispatch each cron trigger exactly once by @charlesBochet in #22113
- Close side panel after command menu actions by @Bonapara in #22118
- Update TypeScript moduleResolution to bundler by @martmull in #22127
- chore(apps): move call-recorder to public, remove stale meeting-bot duplicate by @ehconitin in #22132
- docs(user-guide): remove unsupported Between operator for Date filters by @luizgabrielnaoseioq in #22136
- feat(billing): clarify subscription, credits, and add-credits sections by @FelixMalfait in #22126
- feat(billing): embed credit card form in the add-card trial-end modal by @FelixMalfait in #22125
- i18n - docs translations by @github-actions[bot] in #22142
- fix(sdk): render CLI OAuth success page on localhost (twenty dev) by @martmull in #22131
- fix(billing): widen embedded add-card modal and align its buttons by @FelixMalfait in #22141
- chore(website): remove partners marketplace route lint guard by @rashad in #22121
- fix(server): skip defaultValue null check for relation/morph fields on update by @abhinavapasok in #21875
- fix(client-sdk): bundle metadata client into a single self-contained file by @prastoin in #22085
- chore(create-twenty-app): align scaffold with unified app test/lint/typecheck configs by @martmull in #22128
- Rework website FilesVisual to match twenty-front files tab by @mabdullahabaid in #22147
- fix(calendar): mark channel completed on no-events fetch by @neo773 in #22137
- feat(apps): let front components open a record in the side panel by @FelixMalfait in #22140
- rename sync-completion methods to avoid confusion with stage setters by @neo773 in #22138
- chore(call-recorder): drop FAILED status schema bridge by @ehconitin in #22134
- fix(sdk): evict compiled manifest modules from require cache in dev mode by @martmull in #22129
- fix(ci): retry Danger.js on transient GitHub API fetch errors by @charlesBochet in #22151
- i18n - docs translations by @github-actions[bot] in #22154
- Rework website EmailsVisual to match twenty-front emails tab by @mabdullahabaid in #22146
- fix(server): allow moving menu items into a folder created in the same sync by @martmull in #22130
- Tidy website ImportVisual markup and CSS by @mabdullahabaid in #22148
- Rework website TasksVisual to match twenty-front tasks tab by @mabdullahabaid in #22143
- i18n - website translations by @github-actions[bot] in #22158
- Split website stepper into home-stepper and product-stepper sections by @mabdullahabaid in #22149
- feat(applications): remove the application custom settings tab by @martmull in #22156
- i18n - website translations by @github-actions[bot] in #22160
- IMAP support non RFC compliant servers by @neo773 in #22153
- fix: stabilize tooltip anchor ID with useRef to prevent hover glitch by @emmanuelhb56 in #21888
- i18n - website translations by @github-actions[bot] in #22162
- v1.1.16 — Restore Partner slug in side panel and Notes tab by @rashad in #22165
- Support CSS imports in front-components via runtime style injection by @bosiraphael in #22150
- API key creation triggers unnecessary ORMEntityMetadatas cache recomputation by @Weiko in #22168
- Feat: group records by many to one relation by @abdulrahmancodes in #22123
- Flatten system object pickers by @Bonapara in #22161
- fix(ci): patch danger to decline gzip, fixing ERR_STREAM_PREMATURE_CLOSE on Node 24 by @charlesBochet in #22171
- fix(filter): resolve filter-derived date defaults with Temporal (fixes create/update crash in date-filtered views) by @charlesBochet in #22124
- fix mobile side panel close by @Weiko in #22169
- call recorder polishes by @ehconitin in #22170
- Forward parent commits to Argos visual regression dispatch by @bosiraphael in #22174
- fix(ask-ai): resolve stream subscription race condition on new thread… by @Akash5908 in #21916
- fix(docs): correct typos in multiple files by @kylenngu135 in #22173
- [BREAKING CHANGE] remove call recording feature flag and backfill upgrade command for existing command menu items navigation command by @ehconitin in #22176
- Fix source icon SVG ID collisions by @Bonapara in #22177
- fix(front): wrap long note/markdown text on mobile browsers by @ak800i in #21909
- call recorder readme billing update by @ehconitin in #22184
- feat(messaging): skip webhook-active channels in list-fetch crons until sync is stale by @neo773 in #22183
- Call recorder readme nitpick by @ehconitin in #22185
- Add command menu items to people data labs by @martmull in #22180
- i18n - docs translations by @github-actions[bot] in #22189
- fix(server): wrap file storage upsert and read in transaction by @alibildir in #21924
- fix(server): preserve anyFieldFilterValue in view manifest sync by @parshipcy in #22004
- Fix threaded draft email replies by @Bonapara in #22175
- Add logging on sync catalog job by @martmull in #22192
- fix: uneven spacing in date picker calendar grid by @parshipcy in #21881
- feat(billing): replace Stripe trial emails with fair, well-timed reminders by @FelixMalfait in #22186
- [Workflows] Allow iterator to take whole item as variable by @ijreilly in #22031
- fix: relative date picker calendar display by @parshipcy in #21895
- fix(twenty-front): apply object type translations to details panel relation labels by @Manibharadwaj in #22090
- Reorder validation execution to match migration action order by @martmull in #22200
- Frameless ProductStepper with twenty-front-faithful scenes by @mabdullahabaid in #22197
- Set record card header height and calendar spacing by @Bonapara in #22187
- i18n - website translations by @github-actions[bot] in #22203
- fix(ai-chat) - improvements by @etiennejouan in #22193
- fix: hide "Create Workspace" button when multi-workspace is disabled by @Akash5908 in #22202
- Add v2 onboarding loading screen while creating workspace by @bosiraphael in #22152
- Use settings icon in settings drawer tab by @Bonapara in #22204
- Bump call-recorder and people-data-lab apps by @martmull in #22208
- Fix settings page root overflow by @Bonapara in #22207
- Bump call-recorder and people-data-lab apps by @martmull in #22213
- Fix rounded page layout tab edit outline by @Bonapara in #22214
- Fix favorite showing non-readable objects by @Weiko in #22217
- feat(messaging): link emails by Reply-To as a REPLY_TO participant by @neo773 in #22216
- Add v2 onboarding import contacts page and unify the onboarding v2 shell by @bosiraphael in #22212
- fix(ai-chat): keep streams alive on silent SSE death + make the stream job idempotent by @FelixMalfait in #22201
- Fix navigation opened section spacing by @Bonapara in #22222
- fix(workflow): avoid 'file not found' when duplicating unbuilt code steps by @Weiko in #22179
- fix(website): polish product hero AI transition (panel reveal timing + title wrapping) by @mabdullahabaid in #22223
- feat(website): show partner location instead of served regions in marketplace by @FelixMalfait in #22224
- Add author to twenty apps by @martmull in #22226
- Add v2 onboarding create profile page by @bosiraphael in #22221
- fix: stamp MCP and AI Agent writes with FieldActorSource.AGENT by @Amresh-01 in #22215
- Update public app names by @martmull in #22228
- feat(website): rebuild dashboard visual faithful to twenty-front by @mabdullahabaid in #22218
- Add backfill installation feature for pre-installed apps by @martmull in #22199
- feat(website): swap product Demo for a register Signoff; make signoff headings width-driven by @mabdullahabaid in #22232
- fix(ai) - fixes by @etiennejouan in #22227
- i18n - website translations by @github-actions[bot] in #22225
- i18n - website translations by @github-actions[bot] in #22234
- chore: sync AI model catalog from models.dev by @github-actions[bot] in #22242
- feat(website): menu adapts to the section beneath it by @mabdullahabaid in #22241
- ci(preview-env): run preview environments on free ci-public Actions by @FelixMalfait in #22245
- feat: create calendar events on Google and Microsoft accounts by @FelixMalfait in #22231
- i18n - website translations by @github-actions[bot] in #22244
- perf: cap to-many relation records per parent and inline chips in table by @FelixMalfait in #22206
- feat(website): rework the product-stepper Layout visual by @mabdullahabaid in #22249
- feat(dpa): self-serve Data Processing Agreement generator by @FelixMalfait in #22243
- feat(server): resolve app-owned metadata translations at runtime by @FelixMalfait in #22235
- feat(twenty-sdk): extract & compile app translations into the manifest by @FelixMalfait in #22236
New Contributors
- @rish106-hub made their first contribution in #21853
- @luizgabrielnaoseioq made their first contribution in #22136
- @abhinavapasok made their first contribution in #21875
- @Akash5908 made their first contribution in #21916
- @kylenngu135 made their first contribution in #22173
- @ak800i made their first contribution in #21909
- @alibildir made their first contribution in #21924
- @Amresh-01 made their first contribution in #22215
Full Changelog: twenty/v2.16.0...twenty/v2.17.0