Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
514 commits
Select commit Hold shift + click to select a range
6a6b983
matched colour of icons across website (#26394)
Recxsmacx Jan 2, 2026
421936d
fix(auth): resolve session user by token subject ID (#26399)
pedroccastro Jan 2, 2026
0099c72
chore: release v6.0.7
emrysal Jan 2, 2026
c58e0ca
fix: Custom time input for availability (#26373)
Manas-Kenge Jan 2, 2026
60a4d3f
feat(companion): Add DropdownMenu and Alert Dialog for Android (#26385)
dhairyashiil Jan 2, 2026
048a9b0
chore: add logging in next-auth (#26404)
joeauyeung Jan 2, 2026
78826a3
fix: Make incomplete booking form mobile-responsive (#26413)
eeshm Jan 3, 2026
0c724dd
fix: update bundle identifier (#26402)
betomoedano Jan 3, 2026
9c08c5f
fix: patch React 19 vulnerabilities by upgrading to 19.2.3 (#26411)
shashank-100 Jan 3, 2026
285f161
refactor(companion): event type details screen improvements (#26415)
betomoedano Jan 3, 2026
c6e74e6
fix: add vertical spacing when hovered (#26419)
KartikLabhshetwar Jan 3, 2026
f9dc3f2
fix(seed): add missing Host entries for seeded round‑robin team event…
abhayymishraa Jan 4, 2026
c1e5e0a
feat(companion): new availability detail and actions pages for ios (#…
dhairyashiil Jan 4, 2026
897c9d6
fix(auth): enhance SAML login handling by introducing userId field an…
hariombalhara Jan 4, 2026
aca3b1e
fix(ci): delete old prod build caches on cache miss (#26437)
keithwillcode Jan 4, 2026
64b2cf0
fix(ci): add yarn prisma generate before cache key generation (#26439)
keithwillcode Jan 5, 2026
acee514
fix: show empty screen from event type availability tab (#26396)
anikdhabal Jan 5, 2026
87cf321
feat: queue or cancel payment reminder flow (#24889)
dhairyashiil Jan 5, 2026
a7fd789
feat: integrate BookingHistory with Bookings V3 design (#26301)
hariombalhara Jan 5, 2026
9d39590
feat: create BookingHistoryViewerService to combine audit logs with r…
hariombalhara Jan 5, 2026
e61e66e
chore: Ensure that uuid is available in server session[Booking Audit …
hariombalhara Jan 5, 2026
f8e7051
fix: add @calcom/trpc#build dependency to @calcom/web#dev task (#26460)
sean-brydon Jan 5, 2026
0109427
fix(auth): make identityProviderId lookup case-insensitive (#26405)
pedroccastro Jan 5, 2026
3ab6d90
fix: cancel running CI workflow before re-triggering and allow truste…
keithwillcode Jan 5, 2026
bbfb17a
feat: update translations via @LingoDotDev (#26445)
cal-com-ci[bot] Jan 5, 2026
3d73238
fix: remove installation requirement from trusted bot check (#26466)
keithwillcode Jan 5, 2026
404d46c
refactor: Move trpc-dependent components from features to web [2] (#2…
hbjORbj Jan 5, 2026
23848e7
chore(deps): update dependencies and add version constraints (#26390)
pedroccastro Jan 5, 2026
e0fd01e
feat: add lightweight E2E session warmup page (#26451)
eunjae-lee Jan 5, 2026
66b398b
Disable noReactSpecificProps as we use react (#26479)
volnei Jan 5, 2026
920320d
fix(auth): fix SAML tenant extraction and validation (#26482)
pedroccastro Jan 5, 2026
6ed18bb
fix: atoms build by updating import paths (#26489)
hbjORbj Jan 6, 2026
6672fd4
fix: "New" button sizing inconsistent between Workflows and Event Typ…
Anshumancanrock Jan 6, 2026
fca818a
test: fix unit test flake (#25557)
anikdhabal Jan 6, 2026
a056c32
chore: Add impersonation context support to booking audit (#26014)
hariombalhara Jan 6, 2026
437d7d9
perf: improve cal video webhook (#26495)
Udit-takkar Jan 6, 2026
9e0ba50
chore: change API codeowner to Foundation (#26504)
keithwillcode Jan 6, 2026
208a9ea
chore(auth): add error logging for saml-idp silent failures (#26484)
pedroccastro Jan 6, 2026
81b5d62
feat(api): add team event-types webhooks controller (#26449)
ThyMinimalDev Jan 6, 2026
5794584
chore: remove Mintlify AI chat from CMD+K widget (#26485)
PeerRich Jan 6, 2026
750408e
feat: update translations via @LingoDotDev (#26497)
cal-com-ci[bot] Jan 6, 2026
f4248bf
feat: implement FeatureOptInService (#25805)
eunjae-lee Jan 6, 2026
8ad5f7b
feat: add organization banner to user profile page (#26514)
PeerRich Jan 6, 2026
eacfcd1
feat: Hubspot write to meeting object (#26039)
Amit91848 Jan 6, 2026
6fa5258
docs: add DTO location and naming conventions to knowledge base (#26478)
eunjae-lee Jan 6, 2026
8b5d920
refactor: convert PrismaAttributeToUserRepository to accept Prisma as…
joeauyeung Jan 6, 2026
1702030
fix: handle existing users on invite token flow (#26217)
pedroccastro Jan 6, 2026
1ebe7aa
chore: release v6.0.8
emrysal Jan 6, 2026
b8b9251
fix: Support 10-digit phone numbers for Ivory Coast (+225) (#26465)
kartik-212004 Jan 6, 2026
0df161e
fix(ci): use env vars for input interpolation in workflow run steps (…
pedroccastro Jan 6, 2026
30ef388
refactor: use structured logger in video adapters (#26285)
pedroccastro Jan 7, 2026
01be9f1
fix: validate owner email on platform org creation (#26286)
pedroccastro Jan 7, 2026
701c4cd
perf: batch booking queries in output service (#25900)
pedroccastro Jan 7, 2026
010ac9e
Make booking-audit integration test utils reusable (#26526)
hariombalhara Jan 7, 2026
110491e
fix: generate compliant passwords using meeting_password_requirement …
anikdhabal Jan 7, 2026
6d2491b
refactor: Clean up the /tests in the root (#26525)
hbjORbj Jan 7, 2026
9e84f59
feat(companion): UI Enhancements for Android and Extension (#26434)
dhairyashiil Jan 7, 2026
ca32f04
chore: Integrate booking cancellation audit (#26458)
hariombalhara Jan 7, 2026
61a932f
feat: OAuth2 controller api v2 + refactor oAuth Trpc handlers (#25989)
ThyMinimalDev Jan 7, 2026
c3668d3
fix: added team badge in event types (#26536)
Adarsh9977 Jan 7, 2026
4571215
feat(calendar-subscription): add telemetry metrics for cache performa…
volnei Jan 7, 2026
dcf1093
feat: add missing event type fields for advanced settings in api v2 (…
dhairyashiil Jan 7, 2026
0d905a6
fix: add arrayLimit (#26542)
Udit-takkar Jan 7, 2026
2cadc0b
fix: remove shouldServeCache in getCalendarEvent getAvailability call…
ThyMinimalDev Jan 7, 2026
f9635df
chore: load .env for seed-insights.ts (#26545)
eunjae-lee Jan 7, 2026
4585d74
fix: BOOKING_PAID webhook & workflow isn't triggering after payment s…
anikdhabal Jan 7, 2026
444b7b7
Add flex biome adoption (#26550)
volnei Jan 7, 2026
cd6dbd5
fix: prevent disabled apps from appearing in app store category pages…
anikdhabal Jan 7, 2026
cdd946c
refactor: single line app feature desc (#26553)
pallava-joshi Jan 7, 2026
ae6e068
docs: update google calendar guide (#26549)
eunjae-lee Jan 7, 2026
2d19003
style: use Tailwind color tokens instead of hardcoded hex values (#26…
volnei Jan 7, 2026
f54a3d1
test: all flaky unit tests (#26558)
anikdhabal Jan 7, 2026
2aed990
fix: replace gray-matter with direct yaml.load for js-yaml 4.x compat…
pedroccastro Jan 7, 2026
0cf5de5
fix: log Zoom token refresh errors at ERROR level (#26547)
joeauyeung Jan 7, 2026
04e4470
fix: Add `copy-app-store-static` to docker file (#26565)
joeauyeung Jan 8, 2026
f5d345b
refactor: remove @calcom/web imports from @calcom/features and add @c…
hbjORbj Jan 8, 2026
2f92563
refactor: Use confirmHandler directly in link and verify-booking-toke…
hariombalhara Jan 8, 2026
2b8a0a4
chore: biome ternary rules changes (#26576)
volnei Jan 8, 2026
ea7e5b3
docs: fix missing log level number in README (#26574)
aminjaoui Jan 8, 2026
a68fcf8
fix refresh token endpoint (#26577)
CarinaWolli Jan 8, 2026
2762392
test: improve flaky E2E tests (#26473)
keithwillcode Jan 8, 2026
59fca85
fix: use graceful filtering for previously hard failing blocked users…
alishaz-polymath Jan 8, 2026
64828ab
fix: added seed credentials for signin (#26559)
kartik-212004 Jan 8, 2026
a62eb2b
refactor: replace shouldServeCache with mode parameter for calendar c…
volnei Jan 8, 2026
ac3699d
fix: set attendeeSeatId in evt for seated booking reschedule emails (…
ThyMinimalDev Jan 8, 2026
dbc6b15
fix: time and timeUnit partial update workflows api v2 (#26503)
ThyMinimalDev Jan 8, 2026
9c4754d
fix(ui): prevent nested <p> hydration errors in confirmation dialogs …
mehmetsungurmutlu Jan 8, 2026
2f932f6
fix: remove "+" from Add Guests translations (#26582)
kartik-212004 Jan 8, 2026
f629b61
fix: capitalize German 'Uhr' in 24-hour time format (#25403)
xDipzz Jan 8, 2026
f8dcc6b
fix: filter Google Workspace credentials by current user (#26216)
pedroccastro Jan 8, 2026
23ecd1c
refactor: First high level changes to getUsersAvailability (#26566)
emrysal Jan 8, 2026
03bb948
fix: update E2E test to match German translation without '+' prefix (…
eunjae-lee Jan 8, 2026
ccff004
fix: Add email verification requirement for API v1 and v2 email updat…
anikdhabal Jan 8, 2026
dc308a9
fix: prevent seed-app-store startup crash by removing undefined seedA…
abhayymishraa Jan 8, 2026
a748a75
chore: Update CODEOWNERS for GitHub actions/workflows (#26591)
keithwillcode Jan 8, 2026
84d1ce5
feat(companion): availability detail page for android and extension (…
dhairyashiil Jan 8, 2026
53833f1
fix: add waitFor calls to prevent flaky time slot selection tests (#2…
keithwillcode Jan 8, 2026
a5387bb
update yarn lock (#26596)
volnei Jan 8, 2026
d9aef5b
fix: add URL validation for logo fields (#26522)
pedroccastro Jan 8, 2026
4cd6643
feat: update translations via @LingoDotDev (#26511)
cal-com-ci[bot] Jan 8, 2026
4c336fb
chore: release v6.0.9
emrysal Jan 9, 2026
3cb59b7
test: cleanup & revived old skipped e2e tests (#26597)
anikdhabal Jan 9, 2026
f3a3788
chore: Integrate reschedule request booking audit (#26527)
hariombalhara Jan 9, 2026
b78ca7b
fix: Update Dockerfile since /tests directory no longer exists (#26601)
hbjORbj Jan 9, 2026
b6c243f
fix: improve cleanup for managed event types and fix flaky api v2 e2e…
anikdhabal Jan 9, 2026
56b29b5
chore: rename app.ts to bootstrap.ts on api-v2 (#26604)
ThyMinimalDev Jan 9, 2026
c380ea8
feat: rename --font-cal to --font-heading + use Cal Sans UI (#26064)
pasqualevitiello Jan 9, 2026
51639e3
fix(auth): block OAuth linking for unverified accounts (#26598)
pedroccastro Jan 9, 2026
d865f6c
feat: companion add missing advanced event type (#26594)
dhairyashiil Jan 9, 2026
0330d14
feat: system admin blocklist table (#25039)
Udit-takkar Jan 9, 2026
67faf45
fix: skip stale run-ci label check on workflow re-runs (#26590)
anikdhabal Jan 9, 2026
5b1ee1a
fix: Text cursor barely visible in calendar event name field (#26563)
Anshumancanrock Jan 9, 2026
3a5c975
fix: PayPal setup page inconsistent spacing and button styling (#26612)
Anshumancanrock Jan 9, 2026
02a334e
chore: api v2 generate swagger only in dev (#26617)
ThyMinimalDev Jan 9, 2026
0e3b9f0
feat: add BUILD_FROM_BRANCH option to release-docker workflow (#26615)
keithwillcode Jan 9, 2026
87a2f85
feat: add Cubic AI to Devin review integration workflow (#26618)
keithwillcode Jan 9, 2026
8666efa
chore: enable/disable slots workers via env (#26621)
ThyMinimalDev Jan 9, 2026
a970926
chore: USE_POOL env var for api v2 prisma pooling
ThyMinimalDev Jan 9, 2026
0500056
fix list numbering in Manual setup section of README (#26620)
anzz14 Jan 9, 2026
7172981
Revert "chore: USE_POOL env var for api v2 prisma pooling"
ThyMinimalDev Jan 9, 2026
2b7c087
feat: limit badges to 2 with hover/click popover in UserListTable (#2…
eunjae-lee Jan 9, 2026
a12ab5b
chore: add database-backed feature flag for sidebar tips section (#26…
Amit91848 Jan 9, 2026
bd36184
feat: add automated stale PR completion workflow with Devin API (#26627)
anikdhabal Jan 9, 2026
b367e15
feat: add Devin PR conflict resolver workflow (#26624)
keithwillcode Jan 9, 2026
e995e24
feat: make stale PR workflow fork-aware with workflow_dispatch suppor…
keithwillcode Jan 9, 2026
d0e942b
feat: reuse existing Devin session for Cubic AI review feedback (#26632)
keithwillcode Jan 9, 2026
52cff68
chore: Remove stale label when work is completed (#26638)
keithwillcode Jan 9, 2026
a931447
feat: add retry mechanism for UNKNOWN mergeable status PRs (#26635)
keithwillcode Jan 9, 2026
4819be0
chore: Add sentry http integration (#26634)
volnei Jan 9, 2026
2a26a59
chore: ignore fork PRs in devin-conflict-resolver workflow (#26640)
keithwillcode Jan 9, 2026
f6d3b11
refactor: `Membership.findByUserIdAndTeamId` to instance method (#26…
joeauyeung Jan 10, 2026
e4ead13
fix: improve Devin conflict resolver for fork PRs and label cleanup (…
keithwillcode Jan 10, 2026
32ecb92
chore: USE_POOL env var for api v2 prisma pooling (#26622)
ThyMinimalDev Jan 10, 2026
49e3924
feat: reuse PR-creator Devin session when addressing Cubic AI reviews…
anikdhabal Jan 10, 2026
2d514a2
feat: companion alert system for browser extension (#26613)
dhairyashiil Jan 10, 2026
cbb56f6
feat: implement git checkout caching to speed up CI workflows (#26636)
keithwillcode Jan 10, 2026
d3e7554
refactor: move WebWrapper files from packages/platform to apps/web/mo…
hbjORbj Jan 10, 2026
728f55e
fix: use PR head SHA for cache-checkout key in pull_request_target ev…
keithwillcode Jan 10, 2026
d9b49b2
fix: mock salesforce graphql queries to prevent flaky test failures (…
keithwillcode Jan 10, 2026
f86a8dc
feat: update translations via @LingoDotDev (#26599)
cal-com-ci[bot] Jan 10, 2026
46b1bc3
fix: switch conflict resolver from push to schedule trigger to save r…
keithwillcode Jan 10, 2026
7a9462b
fix: parsing error in stale PR workflow for workflow_dispatch (#26691)
keithwillcode Jan 10, 2026
6aa1dba
chore: delete cached build after bundle analysis completes (#26689)
keithwillcode Jan 10, 2026
9c4ed1a
fix(ci): improve conflict resolver prompt to prevent bad merge commit…
keithwillcode Jan 10, 2026
2b4be9c
fix: remove proactive cache deletion to prevent race condition (#26698)
keithwillcode Jan 10, 2026
eecf9e1
fix: make BookingReferenceRepository integration tests use unique ide…
anikdhabal Jan 10, 2026
bf4cdf6
fix: refactor cache-checkout to use actions/cache@v4 with fallback (#…
keithwillcode Jan 10, 2026
3dd0b2d
fix: add fallback for ref parameter in cache-checkout action (#26703)
keithwillcode Jan 10, 2026
560598d
fix: Check for existing Devin sessions from conflict resolver in cubi…
keithwillcode Jan 10, 2026
9d9a85d
docs: calendso encryption key of length 24 (#23045)
bandhan-majumder Jan 10, 2026
539214b
fix: improve BookingReferenceRepository integration test isolation (#…
keithwillcode Jan 11, 2026
8b9c3dc
feat(companion): add skeleton loading for Event Types, Bookings, and …
dhairyashiil Jan 11, 2026
08edd4f
chore: Add logging to `msteams` (#23684)
joeauyeung Jan 11, 2026
f24f5b2
feat: update translations via @LingoDotDev (#26700)
cal-com-ci[bot] Jan 11, 2026
75962f7
fix: update iOS app configuration to disable tablet support (#26705)
betomoedano Jan 11, 2026
784db75
ci: optimize sparse-checkout and cache to reduce cache size (#26692)
keithwillcode Jan 11, 2026
c826e9c
refactor: Remove `trpc/react` dependency from @calcom/atoms (#26694)
hbjORbj Jan 11, 2026
7a6f4b2
fix: add global CRM services mock to prevent test flakes (#26716)
keithwillcode Jan 11, 2026
1e98652
feat: reuse existing Devin sessions when resolving conflicts (#26711)
anikdhabal Jan 11, 2026
98ef45b
fix: prevent calendar event creation for unconfirmed round robin resc…
anikdhabal Jan 11, 2026
5eacd6b
refactor(companion)(ios): Improve header right button in booking deta…
betomoedano Jan 11, 2026
f0ffc24
chore: Improve Devin prompt for resolving conflicts (#26714)
keithwillcode Jan 11, 2026
478ca05
feat(companion): update Android booking detail page to match iOS desi…
dhairyashiil Jan 11, 2026
58798f2
feat: add source: 'onboarding' metadata to subscriptions from onboard…
sean-brydon Jan 11, 2026
312733c
refactor: Extract schedule determination to seperate fn (#26600)
emrysal Jan 11, 2026
d675f82
chore: migrate e2e-atoms and nextjs-bundle-analysis to cache-checkout…
keithwillcode Jan 11, 2026
258b1a7
fix: make travel schedule delete icon red (#26725)
Anshumancanrock Jan 11, 2026
2e571ea
docs: Enhanced Booker Atom Documentation (#24773)
mintlify[bot] Jan 12, 2026
a03e64d
feat: implemented skeleton loader (#23654)
pallava-joshi Jan 12, 2026
93cac5a
fix: don't include ics for unconfirmed booking (#26718)
anikdhabal Jan 12, 2026
3e7e376
chore: Some minor fixes and follow up to #26446 (#26587)
alishaz-polymath Jan 12, 2026
0994050
fix(api): return original email without OAuth suffix in bookings (#25…
pedroccastro Jan 12, 2026
a8e4097
test: fix flaky (#26728)
anikdhabal Jan 12, 2026
f7dee53
fix: dont import directly from @calcom/trpc or @calom/features (#26734)
Ryukemeister Jan 12, 2026
fc0a2b5
refactor: Remove trpc/server dependency from @calcom/atoms (#26717)
hbjORbj Jan 12, 2026
e3eaa69
fix: return 400 instead of 500 for invalid eventTypeId in booking flo…
hbjORbj Jan 12, 2026
aed80cd
chore: release v6.0.10
emrysal Jan 12, 2026
ec87eee
added the API v2 Imports section to your AGENTS.md (#26737)
dhairyashiil Jan 12, 2026
4c0b011
remove explicity json check as it is already in included files (#26739)
volnei Jan 12, 2026
ac90caa
feat: add DAL for monthly proration tracking (#26588)
sean-brydon Jan 12, 2026
b517adf
fix: auto-scroll active installed-apps category tab into view on mobi…
abhayymishraa Jan 12, 2026
c9bb03b
chore: Integrate add guests booking audit (#26568)
hariombalhara Jan 12, 2026
77f59b1
chore: Integrate confirmation booking audit (#26523)
hariombalhara Jan 12, 2026
b6df61d
fixes for safari extension (#26741)
CarinaWolli Jan 12, 2026
6fb42b6
feat: add comprehensive validation tests for event-types/[id] GET end…
emrysal Jan 12, 2026
dd4e834
fix: add withSentryConfig to enable Sentry tracing in production (#26…
volnei Jan 12, 2026
c36f4d4
Revert "fix: add withSentryConfig to enable Sentry tracing in product…
volnei Jan 12, 2026
cf6581e
ci: only auto-fix Cubic suggestions with confidence >= 9/10 (#26745)
keithwillcode Jan 12, 2026
77a0d69
fix(ui): fixing the hover bug in the dropdown component (#26257)
KartikLabhshetwar Jan 12, 2026
ea20366
fix: normalize backslashes in glob paths for Windows compatibility (#…
Anshumancanrock Jan 12, 2026
70d5a78
docs: add DI pattern guide to knowledge-base.md (#26751)
eunjae-lee Jan 12, 2026
dd4e1ba
fix: api v2 dev server error (#26748)
dhairyashiil Jan 12, 2026
023dfc2
feat: request maintainer access for fork PRs without edit permissions…
keithwillcode Jan 12, 2026
c5cb2ed
feat: add Biome rule to restrict @calcom imports in API v2 (#26749)
keithwillcode Jan 12, 2026
d5c2212
chore: Add logging `eventId` from Stripe webhook (#26623)
joeauyeung Jan 12, 2026
6840642
chore: esModuleInterop: true api v2 tsconfig (#26752)
ThyMinimalDev Jan 12, 2026
d24807e
fix: make OOO team member select close after selection (#26736)
keithwillcode Jan 12, 2026
c7cd25b
chore: api v2 esModuleInterop more imports (#26755)
ThyMinimalDev Jan 12, 2026
1e29582
refactor: change conflict resolver from cron to label-based trigger (…
keithwillcode Jan 12, 2026
92f13cd
fix: strengthen validation in conflict resolver to prevent bad merge …
keithwillcode Jan 12, 2026
0413783
docs: extract DI pattern guide to separate file with moduleLoader pat…
eunjae-lee Jan 12, 2026
3e063d6
fix: use HEAD^2 and relative threshold in conflict (#26758)
pedroccastro Jan 12, 2026
a4d4626
revert: "feat: rename --font-cal to --font-heading + use Cal Sans UI …
keithwillcode Jan 12, 2026
7718422
ci: use pull_request_target for conflict resolver label trigger (#26762)
keithwillcode Jan 12, 2026
5c9a5c5
fix: use cross-platform rimraf for build scripts (#25814)
Anshumancanrock Jan 12, 2026
ae2ea19
feat: add DEVIN_ACTIONS_PAT instructions for pushing to forked PRs (#…
keithwillcode Jan 12, 2026
e879c92
feat(api): add bookingUrl field to event types API v2 response (#26195)
dhairyashiil Jan 12, 2026
913eb47
fix: weekly view scheduler breaking on view switch (#25891)
abhix4 Jan 12, 2026
41dcfe0
chore: update company email banner copy (#26767)
devin-ai-integration[bot] Jan 12, 2026
2f90138
feat: update translations via @LingoDotDev (#26773)
cal-com-ci[bot] Jan 12, 2026
9202028
fix: resolve API v2 test flakes with cleanup and simplified slug (#26…
anikdhabal Jan 12, 2026
8dbe384
feat: Create Integration Attribute Sync records (#26007)
joeauyeung Jan 12, 2026
95688b3
fix(companion): event type links for org user (#26775)
dhairyashiil Jan 13, 2026
3a6ca9e
chore: update dependencies (#26710)
pedroccastro Jan 13, 2026
5f21f54
feat: Add compliance page to settings (#26777)
pumfleet Jan 13, 2026
a6d7e4f
Add claude.md (#26778)
volnei Jan 13, 2026
a20ad44
feat: filter generic calendars from subscription batch (#26774)
volnei Jan 13, 2026
32d97fb
Add parentId condition to findOrganizationIdBySlug (#26729)
alishaz-polymath Jan 13, 2026
7c66f33
chore: UX Fixes (#26643)
pumfleet Jan 13, 2026
cee3195
fix: optimize routing form mutation to avoid costly name update trigg…
hariombalhara Jan 13, 2026
383314d
feat: add skip trial feature for teams/orgs billing page (#26584)
sean-brydon Jan 13, 2026
fd6e2a9
fix: enable DI for FeatureOptInService (#26061)
eunjae-lee Jan 13, 2026
829d6c4
feat(pbac): add FeatureOptIn resource to permission registry (#26761)
eunjae-lee Jan 13, 2026
80941c1
feat: companion unique id firefox (#26791)
dhairyashiil Jan 13, 2026
aaf5958
feat: adds admin billing section (#26747)
sean-brydon Jan 13, 2026
1e67f98
fix: add Icelandic, Lithuanian, and Norwegian locale support for Book…
pedroccastro Jan 13, 2026
3aa6499
fix: remove header bug (#26438)
Adarsh9977 Jan 13, 2026
d381c2c
init (#26782)
alishaz-polymath Jan 13, 2026
5818da4
feat: update recording, transcript endpoint and add tests (#25771)
Udit-takkar Jan 13, 2026
0408ce0
chore: release v6.0.11
emrysal Jan 13, 2026
75d611c
chore: Integrate creation/rescheduling booking audit for Recurring/re…
hariombalhara Jan 13, 2026
bb9581d
fix: oauth flow for safari extension (companion) (#26795)
CarinaWolli Jan 13, 2026
9ad8aa9
chore: deploy api v2 on vercel (#26735)
ThyMinimalDev Jan 13, 2026
5c686d9
feat: add tri-state UI settings pages and auto opt-in preference (#25…
eunjae-lee Jan 13, 2026
573756e
docs: fix CALENDSO_ENCRYPTION_KEY generation command (#26658)
simiondolha Jan 13, 2026
0b73491
refactor: split large org creation transaction into smaller batches (…
emrysal Jan 13, 2026
455973b
fix(ui): improve Variables Dropdown styling consistency (#26675)
simiondolha Jan 13, 2026
36cf6e3
fix: Yarn installation fails in windows due to mixed path separators …
Anshumancanrock Jan 13, 2026
f32ea8b
fix: Booker reschedule behaviour for org admin (#26530)
Ryukemeister Jan 13, 2026
c13fce4
fix: changes to error on schedule name empty save (#24044)
KirankumarAmbati Jan 13, 2026
69695d3
feat(companion): manifest id for safari extension & add delete accoun…
dhairyashiil Jan 13, 2026
4226231
perf: batch user queries in schedules output service (#25901)
pedroccastro Jan 13, 2026
5fa76f9
fix(phone-input): add Austria mask and prevent double plus prefix (#…
abhayymishraa Jan 13, 2026
ce99744
fix: fix email exclusion validation for full emails and and @-prefixe…
anikdhabal Jan 13, 2026
2664eb4
feat: Init Cal.com Salesforce package (#26330)
joeauyeung Jan 13, 2026
851aa30
fix: respect `hideCalendarNotes` setting during booking reschedule (#…
Ryukemeister Jan 13, 2026
f4303d8
icalsequence fix (#26815)
alishaz-polymath Jan 14, 2026
3860717
fix: workflow locale (#26509)
Udit-takkar Jan 14, 2026
92dd5f4
chore: resolve merge conflicts with main
devin-ai-integration[bot] Jan 14, 2026
a9bf3cc
fix: update import paths for BookingReferenceRepository
devin-ai-integration[bot] Jan 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 0 additions & 5 deletions .changeset/rude-candies-scream.md

This file was deleted.

57 changes: 57 additions & 0 deletions .easignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# EAS Build ignore file for monorepo
# Only upload the companion app folder

# ===========================================
# IGNORE EVERYTHING AT ROOT LEVEL
# ===========================================
/*

# ===========================================
# EXCEPT THE COMPANION APP
# ===========================================
!companion

# ===========================================
# BUT IGNORE THESE INSIDE COMPANION
# ===========================================

# Native folders - EAS generates these during builds (~2.1 GB)
companion/ios
companion/android

# Dependencies - EAS installs these during builds (~1.6 GB)
companion/node_modules

# Expo build cache
companion/.expo
companion/dist
companion/web-build

# Metro
companion/.metro-health-check*

# WXT Chrome Extension outputs (not needed for mobile builds)
companion/.output
companion/.wxt
companion/dev

# Kotlin cache
companion/.kotlin

# Build artifacts
companion/*.jks
companion/*.p8
companion/*.p12
companion/*.key
companion/*.mobileprovision

# Debug logs
companion/*.log

# TypeScript build info
companion/*.tsbuildinfo

# Environment files
companion/.env
companion/.env.*
!companion/.env.example
26 changes: 16 additions & 10 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ CRON_ENABLE_APP_SYNC=false

# Application Key for symmetric encryption and decryption
# must be 32 bytes for AES256 encryption algorithm
# You can use: `openssl rand -base64 32` to generate one
# You can use: `openssl rand -base64 24` to generate a 32-character key
CALENDSO_ENCRYPTION_KEY=

# Intercom Config
Expand Down Expand Up @@ -261,6 +261,9 @@ EMAIL_SERVER_PORT=1025
## @see https://support.google.com/accounts/answer/185833
# EMAIL_SERVER_PASSWORD='<gmail_app_password>'

# queue or cancel payment reminder email/flow
AWAITING_PAYMENT_EMAIL_DELAY_MINUTES=

# Used for E2E for email testing
# Set it to "1" if you need to email checks in E2E tests locally
# Make sure to run mailhog container manually or with `yarn dx`
Expand Down Expand Up @@ -431,14 +434,7 @@ BLACKLISTED_GUEST_EMAILS=
NEXT_PUBLIC_VAPID_PUBLIC_KEY=
VAPID_PRIVATE_KEY=

# Mintlify chat api
# Power AI chat in for docs
MINTLIFY_CHAT_API_KEY=
NEXT_PUBLIC_ENABLE_MINTLIFY_CHAT=
NEXT_PUBLIC_CHAT_API_URL=
NEXT_PUBLIC_DOCS_URL=

# Custom privacy policy / terms URLs (for self-hosters: change to your privacy policy / terms URLs)
# Custom privacy policy/ terms URLs (for self-hosters: change to your privacy policy / terms URLs)
NEXT_PUBLIC_WEBSITE_PRIVACY_POLICY_URL=
NEXT_PUBLIC_WEBSITE_TERMS_URL=

Expand Down Expand Up @@ -509,4 +505,14 @@ SEED_PLATFORM_OAUTH_CLIENT_SECRET=
ENABLE_ASYNC_TASKER="false" # set to "true" to enable
TRIGGER_SECRET_KEY=
TRIGGER_API_URL=https://api.trigger.dev
TRIGGER_DEV_PROJECT_REF=
TRIGGER_DEV_PROJECT_REF=

GOOGLE_ADS_ENABLED=1 # To enable Google Ads tracking (gclid)
LINKEDIN_ADS_ENABLED=1 # To enable LinkedIn Ads tracking (li_fat_id)

# - BACKBLAZE B2 (Compliance Documents) *************************************************************************
# Used for storing and serving compliance documents (SOC 2, ISO 27001, pentest reports)
B2_APPLICATION_KEY_ID=
B2_APPLICATION_KEY=
B2_BUCKET_ID=
B2_BUCKET_NAME=
8 changes: 5 additions & 3 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
.github/actions/**/* @calcom/Foundation
.github/workflows/**/* @calcom/Foundation
/**/package.json @calcom/Foundation
/apps/api/**/* @calcom/API
/apps/api/**/* @calcom/Foundation
/apps/web/**/layout.tsx @calcom/Consumer @calcom/Foundation
/apps/web/lib/csp.ts @calcom/Foundation
/apps/web/lib/buildNonce.ts @calcom/Foundation
/apps/web/lib/daily-webhook/**/* @calcom/Foundation
/apps/web/lib/core/**/* @calcom/Foundation
/apps/web/lib/booking.ts @calcom/Foundation
/apps/web/lib/handleOrgRedirect.ts @calcom/Foundation
/apps/web/middleware.ts @calcom/Foundation
/apps/web/proxy.ts @calcom/Foundation
/deploy/**/* @calcom/Foundation
/packages/app-store/applecalendar/**/* @calcom/Foundation
/packages/app-store/caldavcalendar/**/* @calcom/Foundation
Expand All @@ -28,7 +30,7 @@
/packages/features/bookings/lib/getLuckyUser.ts @calcom/Foundation
/packages/features/schedules/lib/slots.ts @calcom/Foundation
/packages/platform/atoms/**/*WebWrapper.tsx @calcom/Consumer
/packages/platform/**/* @calcom/Platform @calcom/Foundation
/packages/platform/**/* @calcom/Consumer @calcom/Foundation
/packages/prisma/**/* @calcom/Foundation
/packages/trpc/server/routers/viewer/bookings/confirm.handler.ts @calcom/Foundation
/packages/trpc/server/routers/viewer/bookings/get.handler.ts @calcom/Foundation
Expand Down
23 changes: 23 additions & 0 deletions .github/actions/cache-build-key/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Generate cache-build key
description: "Generate the cache key for production build caching"
inputs:
branch_key:
required: true
description: "Branch key for cache scoping (e.g., github.head_ref for PRs)"
outputs:
key:
description: "The generated cache key"
value: ${{ steps.generate-key.outputs.key }}
runs:
using: "composite"
steps:
- name: Generate cache key
id: generate-key
shell: bash
env:
CACHE_NAME: prod-build
BRANCH_KEY: ${{ inputs.branch_key }}
LOCKFILE_HASH: ${{ hashFiles('yarn.lock') }}
SOURCE_HASH: ${{ hashFiles('apps/**/**.[jt]s', 'apps/**/**.[jt]sx', 'apps/**/*.json', 'apps/**/*.css', 'packages/**/**.[jt]s', 'packages/**/**.[jt]sx', 'packages/prisma/schema.prisma', 'packages/prisma/migrations/**/*.sql', '!**/node_modules/**', '!packages/prisma/generated/**', '!packages/prisma/client/**', '!packages/prisma/zod/**', '!packages/kysely/**') }}
run: |
echo "key=${CACHE_NAME}-${BRANCH_KEY}-${LOCKFILE_HASH}-${SOURCE_HASH}" >> $GITHUB_OUTPUT
24 changes: 7 additions & 17 deletions .github/actions/cache-build/action.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,23 @@
name: Cache production build binaries
description: "Cache or restore if necessary"
inputs:
node_version:
required: false
default: v18.x
runs:
using: "composite"
steps:
- name: Generate cache key
id: cache-key
uses: ./.github/actions/cache-build-key
with:
branch_key: ${{ github.head_ref || github.ref_name }}
- name: Cache production build
uses: buildjet/cache@v4
uses: actions/cache@v4
id: cache-build
env:
# WARN: Don't touch this cache key. Currently github.sha refers to the latest commit in main
# and not the branch that's attempting to merge to main, which causes CI errors when merged
# to main.
# TODO: Fix this problem if intending to modify this cache key.
cache-name: prod-build
key-1: ${{ inputs.node_version }}-${{ hashFiles('yarn.lock') }}
key-2: ${{ hashFiles('apps/**/**.[jt]s', 'apps/**/**.[jt]sx', 'packages/**/**.[jt]s', 'packages/**/**.[jt]sx', '!**/node_modules') }}
key-3: ${{ github.event.pull_request.number || github.ref }}
key-4: ${{ github.sha }}
key-5: ${{ github.event.pull_request.head.sha }}
with:
path: |
${{ github.workspace }}/apps/web/.next
${{ github.workspace }}/apps/web/public/embed
**/.turbo/**
**/dist/**
key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.key-1 }}-${{ env.key-2 }}-${{ env.key-3 }}-${{ env.key-4 }}-${{ env.key-5 }}
key: ${{ steps.cache-key.outputs.key }}
- run: |
export NODE_OPTIONS="--max_old_space_size=8192"
yarn build
Expand Down
32 changes: 32 additions & 0 deletions .github/actions/cache-checkout/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Cache Git Checkout
description: "Cache or restore git checkout to speed up CI workflows"
runs:
using: "composite"
steps:
- name: Cache git checkout
uses: actions/cache@v4
id: cache-checkout
with:
path: |
.
!.git
!node_modules
!**/node_modules
!apps/web/public/app-store
key: git-checkout-${{ github.head_ref || github.ref_name }}-${{ github.event.pull_request.head.sha || github.sha }}
- name: Checkout PR code (on cache miss)
if: steps.cache-checkout.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
fetch-depth: 2
sparse-checkout-cone-mode: false
sparse-checkout: |
/*
!/example-apps/
!**/*.mp4
!/docs/images/
!packages/app-store/*/static/*.png
!packages/app-store/*/static/*.jpg
!packages/app-store/*/static/*.jpeg
!packages/app-store/*/static/*.gif
23 changes: 23 additions & 0 deletions .github/actions/cache-db-key/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Generate cache-db key
description: "Generate the cache key for database caching"
inputs:
path:
required: false
default: "backups/backup.sql"
description: "Path to the backup file"
outputs:
key:
description: "The generated cache key"
value: ${{ steps.generate-key.outputs.key }}
runs:
using: "composite"
steps:
- name: Generate cache key
id: generate-key
shell: bash
env:
CACHE_NAME: cache-db
PATH_KEY: ${{ inputs.path }}
PRISMA_HASH: ${{ hashFiles('packages/prisma/schema.prisma', 'packages/prisma/migrations/**/**.sql', 'packages/prisma/*.ts') }}
run: |
echo "key=${CACHE_NAME}-${PATH_KEY}-${PRISMA_HASH}" >> $GITHUB_OUTPUT
13 changes: 7 additions & 6 deletions .github/actions/cache-db/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,23 @@ inputs:
runs:
using: "composite"
steps:
- name: Generate cache key
id: cache-key
uses: ./.github/actions/cache-db-key
with:
path: ${{ inputs.path }}
- name: Cache database
id: cache-db
uses: buildjet/cache@v4
uses: actions/cache@v4
env:
cache-name: cache-db
key-1: ${{ hashFiles('packages/prisma/schema.prisma', 'packages/prisma/migrations/**/**.sql', 'packages/prisma/*.ts') }}
key-2: ${{ github.event.pull_request.number || github.ref }}
key-3: ${{ github.event.pull_request.head.sha }}
DATABASE_URL: ${{ inputs.DATABASE_URL }}
DATABASE_DIRECT_URL: ${{ inputs.DATABASE_URL }}
E2E_TEST_CALCOM_QA_EMAIL: ${{ inputs.E2E_TEST_CALCOM_QA_EMAIL }}
E2E_TEST_CALCOM_QA_PASSWORD: ${{ inputs.E2E_TEST_CALCOM_QA_PASSWORD }}
E2E_TEST_CALCOM_QA_GCAL_CREDENTIALS: ${{ inputs.E2E_TEST_CALCOM_QA_GCAL_CREDENTIALS }}
with:
path: ${{ inputs.path }}
key: ${{ runner.os }}-${{ env.cache-name }}-${{ inputs.path }}-${{ env.key-1 }}-${{ env.key-2 }}-${{ env.key-3 }}
key: ${{ steps.cache-key.outputs.key }}
- run: yarn db-seed
if: steps.cache-db.outputs.cache-hit != 'true'
shell: bash
Expand Down
10 changes: 0 additions & 10 deletions .github/actions/dangerous-git-checkout/action.yml

This file was deleted.

12 changes: 8 additions & 4 deletions .github/actions/docker-build-and-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ inputs:
description: "Whether to push the built image"
required: false
default: "false"
use-as-latest:
description: "Publish as latest"
required: false
default: "false"

runs:
using: "composite"
Expand Down Expand Up @@ -61,7 +65,7 @@ runs:
docker.io/calcom/cal.com
ghcr.io/calcom/cal.com
flavor: |
latest=${{ !github.event.release.prerelease }}
latest=${{ !github.event.release.prerelease && inputs.use-as-latest == 'true' }}
suffix=${{ inputs.platform-suffix }}

- name: Copy env
Expand All @@ -87,7 +91,7 @@ runs:
docker compose logs database

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: useblacksmith/setup-docker-builder@v1
with:
driver-opts: |
network=container:database
Expand All @@ -96,7 +100,7 @@ runs:

- name: Build image
id: docker_build
uses: docker/build-push-action@v6
uses: useblacksmith/build-push-action@v2
with:
context: ./
file: ./Dockerfile
Expand Down Expand Up @@ -155,7 +159,7 @@ runs:

- name: Push image
id: docker_push
uses: docker/build-push-action@v6
uses: useblacksmith/build-push-action@v2
if: ${{ inputs.push-image == 'true' && !github.event.release.prerelease }}
with:
context: ./
Expand Down
Loading