Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1019 commits
Select commit Hold shift + click to select a range
edbbe5f
feat(docs): add docsPath to MEM and email menu items
github-actions[bot] Aug 31, 2026
a503ef2
fix(purview): show correct retention policy scope, rule count, and Te…
github-actions[bot] Aug 31, 2026
c77e013
Merge pull request #434 from CyberDrain/preview/PIM-management
github-actions[bot] Aug 31, 2026
2e0d981
Merge pull request #437 from sfaxluke/feature/configurable-apn-dep-vp…
github-actions[bot] Aug 31, 2026
5a79d19
Merge pull request #440 from sfaxluke/feature/store-app-install-as-sy…
github-actions[bot] Aug 31, 2026
6cda210
Merge pull request #444 from sfaxluke/feature/domain-analyser-column-…
github-actions[bot] Aug 31, 2026
6309fbf
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Aug 31, 2026
2c4840f
disabled flag
github-actions[bot] Aug 31, 2026
890fbc6
Merge pull request #448 from CyberDrain/feat/mfa-push-and-otp-verify
github-actions[bot] Aug 31, 2026
cd40ccb
feat(pdf): add mail flow PDF report
github-actions[bot] Sep 1, 2026
10f81df
fix(shadow-ai): sort byRisk chart slices by severity
github-actions[bot] Sep 1, 2026
6172de1
feat(sharepoint): use SPO admin RLD for site usage and site browser s…
github-actions[bot] Sep 1, 2026
1f5f7b7
fix(auth): surface signed-in identity on denial page across auth hosts
github-actions[bot] Sep 1, 2026
fcba3b6
Merge pull request #453 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 1, 2026
c0a439e
Merge pull request #452 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 1, 2026
5a6ce7c
Merge pull request #101 from TecharyJames/jit-role-permissions
github-actions[bot] Sep 1, 2026
fa17964
Merge pull request #454 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 1, 2026
9f73b4b
Merge pull request #445 from sfaxluke/feature/template-package-manager
github-actions[bot] Sep 1, 2026
a49688c
Merge pull request #460 from CyberDrain/feature/jsx-extension-migration
github-actions[bot] Sep 1, 2026
37a8724
Merge pull request #461 from joaadvi/feat/edge-app-deployment
github-actions[bot] Sep 1, 2026
33306c7
feat(shadow-ai): enhance risk charting with color mapping and sorting
github-actions[bot] Sep 1, 2026
7c63d6b
Merge pull request #193 from Renada-Solutions/feat/psa-ticket-priority
github-actions[bot] Sep 1, 2026
15d8205
feat: add minimal mode to listmailboxes for improved perf
github-actions[bot] Sep 1, 2026
fd4ece0
Merge pull request #466 from CyberDrain/feature/mui-v9-upgrade
github-actions[bot] Sep 1, 2026
f7468ed
fix the clobbered changes
github-actions[bot] Sep 1, 2026
8301ac4
fix: apply minimal parameter for mailbox lookups
github-actions[bot] Sep 1, 2026
d5713fc
feat: add OneDriveLongPaths functionality and alerting
github-actions[bot] Sep 2, 2026
44cd48e
Merge pull request #471 from k-grube/chore/frontend-msw-worker-sync
github-actions[bot] Sep 2, 2026
7510317
Merge pull request #470 from k-grube/chore/frontend-peer-devdeps
github-actions[bot] Sep 2, 2026
d504a58
Merge pull request #468 from k-grube/test/unit-suite-shared-context
github-actions[bot] Sep 2, 2026
e3608cd
fix(frontend): resolve mobile layout and render-loop issues
github-actions[bot] Sep 2, 2026
112bbd9
test(standards): expect the missing-template wording for CA report rows
github-actions[bot] Sep 2, 2026
f261d46
Merge pull request #464 from CyberDrain/preview/server-side-paging
github-actions[bot] Sep 2, 2026
f1510ca
feat(frontend): add central route-redirect map for retired routes
github-actions[bot] Sep 2, 2026
29b269e
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 2, 2026
d882494
feat(ca): show names and search the directory when editing a policy's…
github-actions[bot] Sep 2, 2026
cea8d1b
fix(frontend): guard edit pages when no id is selected
github-actions[bot] Sep 2, 2026
cad56c2
fix(exchange): only show api results on error
github-actions[bot] Sep 2, 2026
44e9172
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 2, 2026
65c1d48
fix(standards): judge guest inactivity on newest sign-in attempt
github-actions[bot] Sep 2, 2026
16cff84
fix(frontend): improve mobile responsiveness across pages
github-actions[bot] Sep 2, 2026
064d04f
docs(jit): document JIT Role Templates and fix speed-dial doc links
github-actions[bot] Sep 2, 2026
d941430
fix(theme): improve dark mode contrast and layout issues
github-actions[bot] Sep 2, 2026
5ef0bd7
feat(frontend): dismiss all bulk action results from the summary alert
github-actions[bot] Sep 2, 2026
6d7e918
Merge pull request #476 from CyberDrain/feat/gdap-role-templates
github-actions[bot] Sep 3, 2026
255ac35
chore(openapi): regenerate ExecBackendURLs description for the App Se…
github-actions[bot] Sep 3, 2026
0528b82
feat(role-templates): reorder and emphasize add template button
github-actions[bot] Sep 3, 2026
2064aed
fix(ui): improve mobile responsiveness and Intune policy naming
github-actions[bot] Sep 3, 2026
c0b12d8
Update yarn.lock
github-actions[bot] Sep 3, 2026
4707341
Merge pull request #481 from kris6673/fix/mfa-methods-normalization
github-actions[bot] Sep 3, 2026
f1c7c5d
test(tables): update row-selection test for export-driven default
github-actions[bot] Sep 3, 2026
ea61dae
test(tables): assert boolean card cell renders as an accessible icon
github-actions[bot] Sep 3, 2026
eae6e1a
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 3, 2026
90ab86c
feat(identity): move user templates under users
github-actions[bot] Sep 3, 2026
21bdb5a
refactor(standards): make SPOSites a generic per-site cache
github-actions[bot] Sep 3, 2026
db900bd
fix(cippdb-cache): run the producing collector for derived cache types
github-actions[bot] Sep 3, 2026
3b17e7b
fix(email): correct message trace window and error display
github-actions[bot] Sep 3, 2026
17688d9
feat(cippdb-cache): enrich SPOSites with authoritative per-site field…
github-actions[bot] Sep 3, 2026
be33a02
fix(exchange): find older messages in message trace
github-actions[bot] Sep 3, 2026
3a32f6d
fix(gdap): recreate missing groups during role repair
github-actions[bot] Sep 3, 2026
d137786
feat(pdfExport): enhance logo handling in PDF export with format dete…
github-actions[bot] Sep 3, 2026
e1f84de
fix(setup): redirect to root after setup gate completes
github-actions[bot] Sep 3, 2026
2e88368
fix(CIPPTableToptoolbar): update bulk action handling for customFunction
github-actions[bot] Sep 3, 2026
86254ab
feat(patch-wizard): enhance user addition functionality in UsersDispl…
github-actions[bot] Sep 3, 2026
698cdc9
chore: Add vacation mode to redirect config and drop old page
github-actions[bot] Sep 4, 2026
7767bd9
chore: test fixes
github-actions[bot] Sep 4, 2026
290af6a
feat(api): add Storage Cleanup Scan endpoint and update related confi…
github-actions[bot] Sep 4, 2026
e4cf69e
feat(groups): add 'Set Group Visibility' functionality to group manag…
github-actions[bot] Sep 4, 2026
d4658f2
chore(frontend): upgrade tiptap to v3.31.3, drop react-quill
github-actions[bot] Sep 5, 2026
e3de068
chore: update browserslist and related deps
github-actions[bot] Sep 5, 2026
f125029
Merge pull request #495 from sfaxluke/feature/groups-missing-owner-co…
github-actions[bot] Sep 6, 2026
dadf286
Update openapi.json
github-actions[bot] Sep 7, 2026
25ee4e4
feat(integrations): warn when an MCP client's role restricts IPs
github-actions[bot] Sep 7, 2026
f1490a9
feat: expose exsting tenant library syncing jobs in the config page
github-actions[bot] Sep 7, 2026
a5d6b93
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 7, 2026
1891be5
Enhance CippCellText component with tooltip support for text overflow
github-actions[bot] Sep 7, 2026
4c01baa
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 7, 2026
88ce6d8
version up
github-actions[bot] Sep 7, 2026
6c75492
ci: consolidate CodeQL into one workflow with a scoped config
github-actions[bot] Sep 7, 2026
44edf0e
fix: express CodeQL guards in a form the analyser recognises
github-actions[bot] Sep 7, 2026
ca076e5
feat(identity): surface PIM role settings templates in the community …
github-actions[bot] Sep 7, 2026
47654c0
fix(auth): show sign-in page instead of blank on expired session
github-actions[bot] Sep 8, 2026
71e932e
feat(worker-health): surface OS thread breakdown on the worker health…
github-actions[bot] Sep 8, 2026
41834be
feat(oneDrive): add destination parameter for shortcut creation
github-actions[bot] Sep 8, 2026
2fc2269
Merge pull request #512 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 8, 2026
6bf8b20
Merge pull request #513 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 8, 2026
32a2d5a
Merge pull request #515 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 8, 2026
15739de
Merge pull request #516 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 8, 2026
d9b0dec
feat(oneDrive): add API endpoints and frontend actions for migrating …
github-actions[bot] Sep 8, 2026
dfccd53
fix(standards): update documentation for OneDrive shortcut migration
github-actions[bot] Sep 8, 2026
23c612d
chore: bump version to 10.10.1
github-actions[bot] Sep 8, 2026
b792916
feat(guests): enhance guest account standard with soft-delete option
github-actions[bot] Sep 9, 2026
74db541
fix(cipp-table): prevent corrupted preset echo loop
github-actions[bot] Sep 9, 2026
fae55d8
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 9, 2026
068ebfc
Merge pull request #542 from SamPCS/fix/copilot-hide-actions
github-actions[bot] Sep 9, 2026
340c6bf
fix(theme): keep mobile dialogs below iOS status bar inset
github-actions[bot] Sep 9, 2026
e69676c
feat(policies): add identity coverage view and enhance policy actions
github-actions[bot] Sep 10, 2026
e50c7eb
fix(backend): correct diagnostics and report values
github-actions[bot] Sep 10, 2026
16efd2d
feat(diagnostics): add instance health sampling and self diagnostics
github-actions[bot] Sep 10, 2026
a590d97
fix(roles): stop overwriting role permissions with undefined
github-actions[bot] Sep 10, 2026
a7df855
fix(settings): wait for permissions before building role grid
github-actions[bot] Sep 10, 2026
78b89da
feat(intune): bind Apple enrollment (ADE) templates to the tenant tok…
github-actions[bot] Sep 11, 2026
f303a3d
chore(intune): refresh settings catalog and definitions
github-actions[bot] Sep 11, 2026
c57f6f2
chore(config): update self-service license management and documentation
github-actions[bot] Sep 11, 2026
d6a7e61
fix(mfa): dedupe methods, remove Windows Hello option
github-actions[bot] Sep 11, 2026
10c0ca0
docs(sso): add offline_access to CIPP-SSO permission references
github-actions[bot] Sep 11, 2026
6f39169
feat(diagnostics): track and surface API egress usage
github-actions[bot] Sep 11, 2026
ef547dc
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 11, 2026
871f448
chore(frontend): bump next to 16.3.5 and vitest to 4.1.11
github-actions[bot] Sep 14, 2026
016d11b
Merge pull request #602 from kris6673/onedrive-shortcut-resubmit
github-actions[bot] Sep 14, 2026
45abcec
refactor(diagnostics): generalize request series into buildStackedSeries
github-actions[bot] Sep 14, 2026
57a5a19
chore: bump version to 10.10.3
github-actions[bot] Sep 14, 2026
b65ec64
fix(teams-voice): disable multiPost for phone number actions
github-actions[bot] Sep 14, 2026
26f3809
fix(table): guard data fetch effects by api url
github-actions[bot] Sep 15, 2026
94df7be
Merge pull request #628 from kris6673/feat/message-encryption-options
github-actions[bot] Sep 16, 2026
cf1b7f1
Merge pull request #615 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 16, 2026
8da1ad9
Merge pull request #614 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 16, 2026
c253a21
Merge pull request #612 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 16, 2026
291d35f
Merge pull request #609 from kris6673/feat/deploy-drawer-group-picker
github-actions[bot] Sep 16, 2026
7dd63be
Merge pull request #543 from kris6673/shortcutfolderDefault
github-actions[bot] Sep 16, 2026
4dff450
Merge pull request #576 from Flagstream-Technologies-Inc/fix/registra…
github-actions[bot] Sep 16, 2026
dd2eaa8
Merge pull request #585 from kris6673/feat/sharepoint-group-connected…
github-actions[bot] Sep 16, 2026
c9ef6de
Merge pull request #579 from sfaxluke/claude/jit-vacation-mode-2f61a8
github-actions[bot] Sep 16, 2026
b49b536
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 16, 2026
3315298
Fix countrylist is couple of components.
github-actions[bot] Sep 16, 2026
214fe4c
add remove member
github-actions[bot] Sep 16, 2026
4767c59
add tap option as pwpush
github-actions[bot] Sep 16, 2026
a6b0e16
Add 90 days to manage alert options.
github-actions[bot] Sep 16, 2026
6ff0875
feat(dbcache): cache tenant sharepoint usage
github-actions[bot] Sep 16, 2026
35d5c0b
Merge pull request #637 from kris6673/feat/teams-voice-backup
github-actions[bot] Sep 16, 2026
7bea995
Merge pull request #634 from kris6673/feat/clear-onprem-attributes
github-actions[bot] Sep 16, 2026
9170017
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 16, 2026
d0828db
refactor(planner): update help and documentation text for task deleti…
github-actions[bot] Sep 16, 2026
01ab109
feat: wire cancelation token into get requests to allow craft worker …
github-actions[bot] Sep 17, 2026
6fc52b1
Merge pull request #639 from kris6673/fix/force-refresh-tenant-result
github-actions[bot] Sep 17, 2026
ab381ef
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 17, 2026
a515e2e
fixes hudu sync typo and tenant issue
github-actions[bot] Sep 17, 2026
ce1b92b
Merge pull request #635 from kris6673/feat/custom-test-prompt-link
github-actions[bot] Sep 17, 2026
2eda233
Fixed FAB size
github-actions[bot] Sep 17, 2026
f482fb7
docs updates
github-actions[bot] Sep 18, 2026
7027f2b
improvements to whatifreports
github-actions[bot] Sep 18, 2026
b42c2f1
Merge pull request #638 from kris6673/fix/json-view-flat-record-drill…
github-actions[bot] Sep 18, 2026
9054a62
Merge pull request #651 from matstocks/fix/nav-group-permission-filter
github-actions[bot] Sep 18, 2026
d781765
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 19, 2026
890b735
Merge pull request #658 from kris6673/fix/autopilot-add-device-batch-…
github-actions[bot] Sep 19, 2026
029d10b
new license report
github-actions[bot] Sep 19, 2026
c9b2841
Merge pull request #661 from luimen6/feat/mfa-alert-new-user-grace
github-actions[bot] Sep 19, 2026
daa79ae
Merge pull request #662 from luimen6/feat/sharepoint-bulk-add-members
github-actions[bot] Sep 19, 2026
24090d1
Merge pull request #660 from luimen6/fix/preferred-columns-on-load
github-actions[bot] Sep 19, 2026
32479d5
Merge pull request #659 from luimen6/feat/onboarding-tenant-groups
github-actions[bot] Sep 19, 2026
33872b6
Merge pull request #664 from luimen6/feat/user-template-sharepoint-sites
github-actions[bot] Sep 19, 2026
ceddb8d
fixes permissions
github-actions[bot] Sep 19, 2026
27592d7
fixes Ability to Saved Preferred Columns for Specific Tables for All …
github-actions[bot] Sep 19, 2026
a60f6ef
improve test
github-actions[bot] Sep 19, 2026
d1b55b6
Merge pull request #656 from CyberDrain/preview/mcptokenfixes
github-actions[bot] Sep 20, 2026
042b431
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 20, 2026
315015a
Merge pull request #604 from Aaronkatz0/feat/hudu-laps-bitlocker
github-actions[bot] Sep 20, 2026
6c23998
add reasoning for ninjaone non compliant device.
github-actions[bot] Sep 20, 2026
ba3baff
disable alerts
github-actions[bot] Sep 20, 2026
c441bcf
Merge pull request #672 from CyberDrain/feature/security-simulations
github-actions[bot] Sep 21, 2026
5cffe05
feat(logs): add server-side API filter to logbook
github-actions[bot] Sep 21, 2026
52107c3
Merge pull request #673 from ddunkijaco/dev
github-actions[bot] Sep 21, 2026
4839525
fix: correct user default query statement
github-actions[bot] Sep 21, 2026
77fddcd
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 21, 2026
f46d44e
add amdx resolver
github-actions[bot] Sep 21, 2026
8c81455
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 22, 2026
cba8058
Merge pull request #679 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 22, 2026
7aec7c3
Merge pull request #681 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 22, 2026
9cc6c76
Merge pull request #682 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Sep 22, 2026
6210d08
Merge pull request #684 from kris6673/feat/autopilot-profile-assignme…
github-actions[bot] Sep 22, 2026
8f0bfab
Merge pull request #675 from kris6673/feat/jit-template-technician-va…
github-actions[bot] Sep 22, 2026
6527828
fix(settings): clarify access check refresh
github-actions[bot] Sep 22, 2026
7884796
Merge pull request #674 from kris6673/fix/user-template-default-attri…
github-actions[bot] Sep 22, 2026
fe6de7e
universal search improvements.
github-actions[bot] Sep 22, 2026
95a7924
update alert management
github-actions[bot] Sep 22, 2026
e038d7c
fix(mcp): pre-authorize clients and split URIs
github-actions[bot] Sep 22, 2026
75a413e
fix(features): invalidate related queries on toggle
github-actions[bot] Sep 22, 2026
80ef174
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 22, 2026
afd9e43
Security Simulations: never carry a null entry in the situation, find…
github-actions[bot] Sep 22, 2026
47ff16c
perf(mem): stream export-backed mem reports
github-actions[bot] Sep 23, 2026
8bb8886
Merge pull request #707 from kris6673/fix/hide-inapplicable-actions
github-actions[bot] Sep 23, 2026
1d9fd25
Merge pull request #705 from kris6673/feat/dashboard-card-header-links
github-actions[bot] Sep 23, 2026
6ee5eae
feat(conditional): clone CA templates to detach them from template li…
github-actions[bot] Sep 23, 2026
10db1b3
Merge pull request #710 from CyberDrain/feat/template-sync-ux
github-actions[bot] Sep 23, 2026
4c05864
Merge pull request #490 from CyberDrain/preview/bec-case-workflow
github-actions[bot] Sep 23, 2026
73c1031
Merge pull request #509 from CyberDrain/feat/custom-tests-cache-shape
github-actions[bot] Sep 23, 2026
1ef87a0
refactor(identity): move Business Email Compromise under Identity > A…
github-actions[bot] Sep 23, 2026
e4076bc
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 23, 2026
be41265
docs(bec): document remediation defaults and bring the BEC pages up t…
github-actions[bot] Sep 23, 2026
77a6439
feat(sharepoint): enhance site template deployment with channels and …
github-actions[bot] Sep 24, 2026
418ae34
Update openapi.json
github-actions[bot] Sep 24, 2026
bc0fada
feat(docker): enhance Windows Docker startup script for Node.js compa…
github-actions[bot] Sep 24, 2026
7c9720a
fix(alerts): name the STS logon AADSTS code field ErrorCode in the au…
github-actions[bot] Sep 24, 2026
7c9bdea
fix(alerts): offer AADSTS error codes and names for failed sign-in co…
github-actions[bot] Sep 24, 2026
df1058e
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 24, 2026
5d9f32b
fix(bec): show the configured default containment actions in the case…
github-actions[bot] Sep 24, 2026
a1b6573
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 24, 2026
75e857b
fix(baselines): expand excluded group ids to member tenants
github-actions[bot] Sep 24, 2026
16e06fe
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 25, 2026
4ad76c3
fix(ScheduledTaskDetails): rely on unmountOnExit for lazy result tables
github-actions[bot] Sep 25, 2026
1213b36
fix(jit-admin): chain follow-up exclusions
github-actions[bot] Sep 25, 2026
c50776b
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 25, 2026
f596a98
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 25, 2026
bd085a1
version up
github-actions[bot] Sep 25, 2026
8c5a895
refactor(dashboard): remove the classic v1 dashboard
github-actions[bot] Sep 25, 2026
adc62a2
chore(sponsors): update augmentt link with utm params
github-actions[bot] Sep 25, 2026
370efcd
fix(alerts): load audit log alert actions from alertActions.json
github-actions[bot] Sep 26, 2026
39108b1
fix(bec): stop Microsoft and IPv6 addresses cascading into false atta…
github-actions[bot] Sep 26, 2026
0ea2787
fixes baselines max stages and app consents
github-actions[bot] Sep 28, 2026
76f4fee
fixes scenarios
github-actions[bot] Sep 28, 2026
e9a2e6a
feat(standards): add EWS allowed applications standard
github-actions[bot] Sep 28, 2026
8a1aacf
build: add version bump script, bump to 11.0.1
github-actions[bot] Sep 28, 2026
1e97bfe
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into feat/sp…
github-actions[bot] Sep 29, 2026
5942502
perf(dbcache): stream the mailbox cache and cut its allocation
github-actions[bot] Sep 29, 2026
9d23d72
Update openapi.json
github-actions[bot] Sep 29, 2026
aea6552
fix(bec): look up users via Graph and block case creation on AllTenants
github-actions[bot] Sep 29, 2026
a54274a
Update openapi.json
github-actions[bot] Sep 29, 2026
d24ecbc
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Sep 29, 2026
b02f94c
universal search fixes
github-actions[bot] Sep 29, 2026
d1ecac7
fix(bec): judge password resets and MFA-stopped sign-ins on evidence
github-actions[bot] Sep 29, 2026
4425736
fix(baselines): edge-trigger remediation alerts and report failed wri…
github-actions[bot] Sep 29, 2026
afcdd87
fix(enterprise-apps): hide saml signing actions on the list
github-actions[bot] Sep 29, 2026
94d9393
fix(securescore): route the Remediate button to a page that exists
github-actions[bot] Sep 29, 2026
f4c4cb7
fix(baselines): keep per-standard actions after the first save
github-actions[bot] Sep 29, 2026
817fd9f
feat: MS365 Service Health Page
github-actions[bot] Sep 30, 2026
8c4a53c
chore(deps): bump undici to 8.11.2 in the frontend lockfile
github-actions[bot] Sep 30, 2026
35170d1
feat(bec): run each investigation phase as its own sequential job
github-actions[bot] Sep 30, 2026
90c1605
fix: switch to api calls on table
github-actions[bot] Oct 1, 2026
3148c41
macosx support
github-actions[bot] Oct 1, 2026
810911d
fixes shortcut looping and makes it multipost
github-actions[bot] Oct 1, 2026
ea9fa28
Merge pull request #762 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Oct 1, 2026
b66ade9
Merge pull request #763 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Oct 1, 2026
01e8167
Merge pull request #764 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Oct 1, 2026
58e50e3
Merge pull request #765 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Oct 1, 2026
ae28926
Merge pull request #766 from CyberDrain/dependabot/npm_and_yarn/front…
github-actions[bot] Oct 1, 2026
d048ef2
fix(licenses): resolve SKU names from a point-lookup table instead of…
github-actions[bot] Oct 2, 2026
f3d5981
Update openapi.json
github-actions[bot] Oct 2, 2026
3eac021
fix(dbcache): schedule baseline-read activity timeout and SMTP AUTH o…
github-actions[bot] Oct 2, 2026
a3af667
chore: remove deprecated endpoint from caching
github-actions[bot] Oct 2, 2026
c2784c5
fix(standards): correct the device retirement days range in the helpe…
github-actions[bot] Oct 2, 2026
2d042ac
feat(notifications): gate Push on enrolment and point forms at Prefer…
github-actions[bot] Oct 2, 2026
b4c4a64
chore: bump version to 11.0.2
github-actions[bot] Oct 2, 2026
4c810b7
fix(ci): clear the audit, analyzer and test failures on the hotfix PR
github-actions[bot] Oct 2, 2026
1825a98
feat(integrations): move API egress usage into its own API Usage tab
github-actions[bot] Oct 2, 2026
e99e1cc
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Oct 3, 2026
a35d27e
fix(tables): open AllTenants row links scoped to the row's tenant
github-actions[bot] Oct 5, 2026
1cae235
fix(alerts): keep storage quota alert snoozes matching across runs
github-actions[bot] Oct 5, 2026
9a31e85
Merge pull request #732 from TechSG-Martin/feat/license-pricing-csv
github-actions[bot] Oct 5, 2026
e5c4a7d
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Oct 5, 2026
3ed5ae4
Merge branch 'dev' of https://github.com/CyberDrain/CIPP into dev
github-actions[bot] Oct 5, 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
  •  
  •  
  •  
40 changes: 40 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
## Commit messages

Generate all commit messages in **Conventional Commits** format:

```
<type>(<optional scope>): <description>

[optional body]

[optional footer(s)]
```

**Rules:**

- **Type** is required and must be one of:
- `feat` — a new feature
- `fix` — a bug fix
- `docs` — documentation only
- `style` — formatting, whitespace, no code-behavior change
- `refactor` — code change that neither fixes a bug nor adds a feature
- `perf` — a performance improvement
- `test` — adding or correcting tests
- `build` — build system or dependency changes
- `ci` — CI/CD configuration changes
- `chore` — routine maintenance, no production code change
- `revert` — reverts a previous commit
- **Scope** is optional and given in parentheses after the type (e.g. `feat(identity):`). Use a short, lowercase area name when it adds clarity.
- **Description** is a short, imperative-mood summary ("add", not "added"/"adds"), lowercase, no trailing period, ideally ≤ 72 characters.
- **Body** (optional) explains the *what* and *why*, not the *how*. Separate it from the description with one blank line.
- **Breaking changes** are indicated with a `!` before the colon (e.g. `feat!:`) and/or a `BREAKING CHANGE:` footer describing the change.
- Reference issues/PRs in the footer where relevant (e.g. `Closes #123`).

**Examples:**

```
feat(identity): add bulk user offboarding endpoint
fix(graph): handle expired token on retry
docs: update authentication model overview
refactor(standards)!: rename remediation parameter
```
71 changes: 71 additions & 0 deletions .github/scripts/validate-json.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
import { readFile, readdir, writeFile, appendFile } from "node:fs/promises";
import path from "node:path";

// Usage: node validate-json.mjs [--strip <prefix>] <dir> [dir...]
// --strip removes a leading path prefix from reported filenames, so a PR checked
// out into a subdirectory still reports repo-relative paths.
const argv = process.argv.slice(2);
let strip = "";
const roots = [];
for (let i = 0; i < argv.length; i++) {
if (argv[i] === "--strip") {
strip = argv[++i] ?? "";
} else {
roots.push(argv[i]);
}
}

async function collect(dir) {
let entries;
try {
entries = await readdir(dir, { withFileTypes: true });
} catch (error) {
if (error.code === "ENOENT") return [];
throw error;
}
const files = [];
for (const entry of entries) {
const full = path.join(dir, entry.name);
if (entry.isDirectory()) {
if (entry.name === "node_modules") continue;
files.push(...(await collect(full)));
} else if (entry.name.endsWith(".json")) {
files.push(full);
}
}
return files;
}

const report = (file) => {
const normalised = file.split(path.sep).join("/");
return strip && normalised.startsWith(strip) ? normalised.slice(strip.length) : normalised;
};

const failures = [];
let checked = 0;

for (const root of roots) {
for (const file of await collect(root)) {
checked++;
const contents = await readFile(file, "utf8");
try {
JSON.parse(contents);
} catch (error) {
failures.push({ file: report(file), message: error.message.replace(/\r?\n/g, " ") });
}
}
}

for (const { file, message } of failures) {
// Annotate the PR diff via a GitHub Actions error command.
console.log(`::error file=${file}::${message}`);
}
console.log(`Checked ${checked} JSON file(s), ${failures.length} invalid.`);

// Hand the results to the workflow so it can comment on the PR.
if (process.env.GITHUB_OUTPUT) {
await appendFile(process.env.GITHUB_OUTPUT, `invalid_count=${failures.length}\n`);
}
await writeFile("json-validation-results.json", JSON.stringify(failures, null, 2));

process.exit(failures.length > 0 ? 1 : 0);
9 changes: 7 additions & 2 deletions .github/workflows/CodeQL_Analyser.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
---
# OPTIONAL UPGRADE to the existing CodeQL_Analyser.yml (already deployed in CIPP).
# Changes vs. current: adds push trigger on main/dev, security-extended query suite,
# and javascript-typescript language alias.
name: "CodeQL"
on:
push:
branches: [main, dev]
pull_request:
branches: [master, main, dev, react]
schedule:
Expand All @@ -17,14 +21,15 @@ jobs:
strategy:
fail-fast: false
matrix:
language: ["javascript"]
language: ["javascript-typescript"]
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
queries: security-extended
- name: Autobuild
uses: github/codeql-action/autobuild@v4
- name: Perform CodeQL Analysis
Expand Down
65 changes: 65 additions & 0 deletions .github/workflows/Conventional_Commits.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Conventional Commits Check

on:
# Using pull_request_target instead of pull_request for secure handling of fork PRs
pull_request_target:
# Re-run on title edits so a corrected title clears the check
types: [opened, synchronize, reopened, edited]
# Only check PRs targeting the dev branch
branches:
- dev

permissions:
pull-requests: write
issues: write

jobs:
conventional-commits:
name: Validate Conventional Commits
runs-on: ubuntu-slim
steps:
- name: Validate PR title
uses: actions/github-script@v9
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const title = context.payload.pull_request.title || '';
const pattern = /^(feat|fix|docs|style|refactor|perf|test|chore|ci|build|revert)(\(.+\))?!?: .+/i;
if (pattern.test(title)) {
console.log(`✓ PR title follows Conventional Commits format: "${title}"`);
return;
}
console.log(`❌ PR title does not follow Conventional Commits format: "${title}"`);
const message = [
'❌ **This PR title does not follow the [Conventional Commits](https://www.conventionalcommits.org/) format.**',
'',
'Expected format: `type(scope)?: description`',
'',
'Allowed types: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `chore`, `ci`, `build`, `revert`',
'',
'Examples:',
'- `feat: add tenant filter to the user table`',
'- `fix(auth): handle expired refresh tokens`',
'- `docs: update self-hosting guide`',
'',
`Received: \`${title}\``,
'',
'🔒 This PR has been automatically closed. Please update the title to match the format above and reopen the PR.'
].join('\n');
await github.rest.issues.createComment({
...context.repo,
issue_number: context.issue.number,
body: message
});
await github.rest.pulls.update({
...context.repo,
pull_number: context.issue.number,
state: 'closed'
});
core.setFailed(`PR title does not follow Conventional Commits format: "${title}"`);
24 changes: 0 additions & 24 deletions .github/workflows/Detect_Duplicate_Issues.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/Node_Project_Check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
steps:
- uses: actions/checkout@v6
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6.4.0
uses: actions/setup-node@v7.0.0
with:
node-version: ${{ matrix.node-version }}
- name: Install and Build Test
Expand Down
117 changes: 117 additions & 0 deletions .github/workflows/Validate_JSON.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
---
name: Validate JSON
on:
# pull_request_target (not pull_request) so the token can comment on fork PRs.
# The PR's own code is never executed: it is checked out into ./pr as data only,
# and parsed by the validator script from the trusted base checkout.
pull_request_target:
types: [opened, synchronize, reopened]
branches:
- main
- dev
paths:
- "public/**/*.json"
- "src/data/**/*.json"
- ".github/workflows/Validate_JSON.yml"
- ".github/scripts/validate-json.mjs"
push:
branches:
- dev
paths:
- "public/**/*.json"
- "src/data/**/*.json"
- ".github/workflows/Validate_JSON.yml"
- ".github/scripts/validate-json.mjs"
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
pull-requests: write
jobs:
validate:
name: Parse JSON in public and src/data
runs-on: ubuntu-latest
steps:
- name: Checkout base (trusted validator script)
uses: actions/checkout@v6

- name: Checkout PR head (untrusted, data only)
if: github.event_name == 'pull_request_target'
uses: actions/checkout@v6
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.sha }}
path: pr
persist-credentials: false

- name: Validate JSON files
id: validate
continue-on-error: true
env:
ROOT: ${{ github.event_name == 'pull_request_target' && 'pr/' || '' }}
run: node .github/scripts/validate-json.mjs --strip "$ROOT" "${ROOT}public" "${ROOT}src/data"

- name: Comment on PR
if: github.event_name == 'pull_request_target'
uses: actions/github-script@v9
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const fs = require('fs');
const marker = '<!-- validate-json -->';
const resultsFile = 'json-validation-results.json';
if (!fs.existsSync(resultsFile)) {
// The validator crashed before reporting; let its own error stand.
core.warning('No validation results found — skipping PR comment.');
return;
}
const failures = JSON.parse(fs.readFileSync(resultsFile, 'utf8'));
// Find a previous comment from this workflow so we update instead of piling up.
const { data: comments } = await github.rest.issues.listComments({
...context.repo,
issue_number: context.issue.number,
per_page: 100,
});
const existing = comments.find(
(c) => c.user.type === 'Bot' && c.body.includes(marker)
);
let body;
if (failures.length > 0) {
const list = failures
.map(({ file, message }) => `- \`${file}\`\n > ${message}`)
.join('\n');
body =
`${marker}\n### ⚠️ Invalid JSON detected\n\n` +
`${failures.length} JSON file(s) in this PR could not be parsed. ` +
`These files are loaded directly by CIPP, so a syntax error here breaks the app at runtime.\n\n` +
`${list}\n\n` +
`Please fix the syntax and push again — this comment will update automatically.`;
} else if (existing) {
body = `${marker}\n### ✅ JSON is valid\n\nAll JSON files in \`public\` and \`src/data\` parse correctly. Thanks for fixing it!`;
} else {
// Nothing was ever broken — stay quiet.
return;
}
if (existing) {
await github.rest.issues.updateComment({
...context.repo,
comment_id: existing.id,
body,
});
} else {
await github.rest.issues.createComment({
...context.repo,
issue_number: context.issue.number,
body,
});
}
- name: Fail if any JSON is invalid
if: steps.validate.outputs.invalid_count != '0'
run: |
echo "::error::${{ steps.validate.outputs.invalid_count }} invalid JSON file(s). See annotations above."
exit 1
4 changes: 2 additions & 2 deletions .github/workflows/cipp_dev_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
echo "node_version=$node_sanitized_version" >> $GITHUB_OUTPUT

- name: Set up Node.js
uses: actions/setup-node@v6.4.0
uses: actions/setup-node@v7.0.0
with:
node-version: ${{ steps.get_node_version.outputs.node_version }}

Expand Down Expand Up @@ -54,7 +54,7 @@ jobs:

# Upload to Azure Blob Storage
- name: Azure Blob Upload
uses: LanceMcCarthy/Action-AzureBlobUpload@v3.12.0
uses: LanceMcCarthy/Action-AzureBlobUpload@v3.15.0
with:
connection_string: ${{ secrets.AZURE_CONNECTION_STRING }}
container_name: cipp
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cipp_frontend_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
echo "node_version=$node_sanitized_version" >> $GITHUB_OUTPUT

- name: Set up Node.js
uses: actions/setup-node@v6.4.0
uses: actions/setup-node@v7.0.0
with:
node-version: ${{ steps.get_node_version.outputs.node_version }}

Expand Down Expand Up @@ -54,7 +54,7 @@ jobs:

# Upload to Azure Blob Storage
- name: Azure Blob Upload
uses: LanceMcCarthy/Action-AzureBlobUpload@v3.12.0
uses: LanceMcCarthy/Action-AzureBlobUpload@v3.15.0
with:
connection_string: ${{ secrets.AZURE_CONNECTION_STRING }}
container_name: cipp
Expand Down
Loading
Loading