Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
219 commits
Select commit Hold shift + click to select a range
7dffc4c
feat: add fuzzy match distance setting to Intune template based on Le…
kris6673 Mar 20, 2026
4fc1b57
feat: add warningMessage support standards
kris6673 Mar 20, 2026
88bc10a
Added UI Elements for adding conditional access policies to package tags
TecharyJames Apr 2, 2026
5ffd20e
Merge remote-tracking branch 'upstream/dev' into Feat-Conditional-acc…
TecharyJames Apr 3, 2026
db57e52
Mark TemplateList as optional and non-creatable
TecharyJames Apr 3, 2026
83d657b
Lookup CA template names via API
TecharyJames Apr 3, 2026
b6438ee
Merge branch 'dev' into Feat-Conditional-accesss-policy-package-tags
KelvinTegelaar Apr 4, 2026
05b9326
chore(deps): bump actions/setup-node from 6.3.0 to 6.4.0
dependabot[bot] Apr 22, 2026
9ae908d
chore(deps): bump recharts from 3.8.0 to 3.8.1
dependabot[bot] Apr 22, 2026
93cfed2
chore(deps): bump @tanstack/react-query-devtools from 5.91.3 to 5.96.2
dependabot[bot] Apr 22, 2026
c22177f
chore(deps): bump mui-tiptap from 1.29.1 to 1.30.0
dependabot[bot] Apr 22, 2026
c3c90af
chore(deps): bump @uiw/react-json-view
dependabot[bot] Apr 22, 2026
a5f2b74
feat: add allTenants support for multiple intune pages
kris6673 Apr 24, 2026
f86925d
Merge branch 'dev' of https://github.com/kris6673/CIPP into alltenant…
kris6673 Apr 25, 2026
1707506
feat: integrate useCippReportDB for data handling
kris6673 Apr 25, 2026
d7d36a3
feat: Add allTenants support for all the Teams SharePoint pages
kris6673 Apr 26, 2026
b05e092
feat(standards): add by-standard alignment summary view
kris6673 May 8, 2026
45f1d72
purview adding
KelvinTegelaar May 9, 2026
b8abed9
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar May 9, 2026
e3ed181
fix alert mode
KelvinTegelaar May 10, 2026
98d5d94
Custom Test - Alert on X statuses
Zacgoose May 11, 2026
4b9efd8
Update index.js
Zacgoose May 11, 2026
cfe8c70
adds #5939
KelvinTegelaar May 11, 2026
0d42f67
#5939
KelvinTegelaar May 11, 2026
64e4080
implemenets #5948
KelvinTegelaar May 11, 2026
445820d
Better intune policy support for alltenants list
Zacgoose May 11, 2026
8b79d99
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
Zacgoose May 11, 2026
55dd9cc
HVE user page
Zacgoose May 11, 2026
9cee69d
eclusions everywhere
KelvinTegelaar May 11, 2026
14461b4
eclusions everywhere
KelvinTegelaar May 11, 2026
1b77b78
Update manifest for PWA chrome install option
Zacgoose May 11, 2026
08c793d
Update manifest.json
Zacgoose May 11, 2026
da6dc7f
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
Zacgoose May 11, 2026
20e2f55
implements #5986
KelvinTegelaar May 11, 2026
bc41239
implements #5986
KelvinTegelaar May 11, 2026
8e99c01
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar May 11, 2026
2e9b9fd
fixed weird button
KelvinTegelaar May 11, 2026
2a1b912
Merge pull request #5984 from kris6673/by-standards-view
KelvinTegelaar May 11, 2026
35711f8
Merge branch 'dev' of https://github.com/kris6673/CIPP into allTenant…
kris6673 May 11, 2026
5ca3e9a
Merge branch 'dev' into alltenants-intune
kris6673 May 11, 2026
be88cc9
Merge branch 'dev' into levenshtein-distance
kris6673 May 11, 2026
dd0ba6f
Merge pull request #5920 from kris6673/alltenants-intune
KelvinTegelaar May 11, 2026
2f84947
Merge branch 'dev' into levenshtein-distance
kris6673 May 11, 2026
fd23c0d
Merge branch 'dev' into allTenants-SP
kris6673 May 11, 2026
fe72217
Merge pull request #5794 from TecharyJames/Feat-Conditional-accesss-p…
KelvinTegelaar May 11, 2026
ccf4e9c
Merge pull request #5685 from kris6673/levenshtein-distance
KelvinTegelaar May 11, 2026
0fc7b3c
Merge pull request #5921 from kris6673/allTenants-SP
KelvinTegelaar May 11, 2026
4b0800b
Merge pull request #5903 from KelvinTegelaar/dependabot/github_action…
KelvinTegelaar May 11, 2026
7bcd507
Merge pull request #5906 from KelvinTegelaar/dependabot/npm_and_yarn/…
KelvinTegelaar May 11, 2026
cef8744
Merge pull request #5905 from KelvinTegelaar/dependabot/npm_and_yarn/…
KelvinTegelaar May 11, 2026
06e1645
Merge pull request #5904 from KelvinTegelaar/dependabot/npm_and_yarn/…
KelvinTegelaar May 11, 2026
7dcb867
Merge pull request #5908 from KelvinTegelaar/dependabot/npm_and_yarn/…
KelvinTegelaar May 11, 2026
a4915df
chore(deps): bump @tanstack/react-query-persist-client
dependabot[bot] May 11, 2026
fe4bd7f
fix: allow alltenants sync on onedrive/sharepoint
JohnDuprey May 11, 2026
d7e8b0b
fix: tweak toggle button size
JohnDuprey May 11, 2026
15939e2
feat: improve run standard now UX
JohnDuprey May 12, 2026
1cb6a11
fix: enhance standard name retrieval logic for better matching
JohnDuprey May 12, 2026
6cd8c63
chore: linting
JohnDuprey May 12, 2026
4f2d499
feat: enhance intune template details display
JohnDuprey May 12, 2026
0a70010
fix: update translation keys and adjust template usage references
JohnDuprey May 12, 2026
63c85df
OneDrive Sharing disable
KelvinTegelaar May 12, 2026
6c55bc4
OneDrive Sharing disable
KelvinTegelaar May 12, 2026
7054bfc
Add AlertUserReportPhising
KelvinTegelaar May 12, 2026
d00ebb7
chore: bump version to 10.4.5
JohnDuprey May 12, 2026
335e40a
Merge pull request #5907 from KelvinTegelaar/dependabot/npm_and_yarn/…
KelvinTegelaar May 12, 2026
19c48ea
auth options
Zacgoose May 12, 2026
36071e5
Module updates and import changes
Zacgoose May 13, 2026
c094610
Fix bulk mailbox rule changes
Zacgoose May 13, 2026
72d8658
Add Apps and SP to universal search
Zacgoose May 13, 2026
ba196dd
expand side nav slightly for ux
KelvinTegelaar May 13, 2026
8551ef5
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar May 13, 2026
52a4763
Nice CA policy editor and template creator/editor
Zacgoose May 13, 2026
41efc5b
Update CippCAPolicyBuilder.jsx
Zacgoose May 13, 2026
60a5073
fixes tenantfilter property
KelvinTegelaar May 13, 2026
c958401
chore(deps): bump dompurify from 3.4.2 to 3.4.3
dependabot[bot] May 13, 2026
a783d28
chore(deps): bump @tiptap/extension-table from 3.20.4 to 3.20.5
dependabot[bot] May 13, 2026
2285d39
chore(deps): bump @tiptap/core from 3.20.5 to 3.22.3
dependabot[bot] May 13, 2026
d392d1c
chore(deps): bump @tanstack/react-query from 5.96.2 to 5.100.10
dependabot[bot] May 13, 2026
fd6a9e3
Logs
Zacgoose May 14, 2026
b5d48bc
logging
Zacgoose May 14, 2026
12a0727
comingsoon
KelvinTegelaar May 14, 2026
db20afa
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar May 14, 2026
c9bfe90
feat(endpoint): add MEM enrollment profiles page (Apple ADE, Android,…
kris6673 May 14, 2026
b190242
feat: Bit more margin to make tabbed layout of first item less cramped
kris6673 May 14, 2026
6dab933
feat(tabs): support icons in tabbed layouts
kris6673 May 14, 2026
9b61649
feat: Migrate to use shared icon registry for string to icon conversion
kris6673 May 14, 2026
983b48a
fix: Remove accidentally committed .claude/worktrees directory
ClintThomson May 14, 2026
0c32a84
Add additional portal links to Invoke-HuduExtensionSync
May 14, 2026
186a2c6
audit log template tweak
Zacgoose May 15, 2026
7a85827
feat(users): add bulk update contact and UPN fields
kris6673 May 15, 2026
8232e5c
feat(standards): add intuneRestrictUserDeviceJoin entry
kris6673 May 15, 2026
f768330
fix(standards): move CIS 5.1.4.1 and SMB1001 (2.8) tags to join standard
kris6673 May 15, 2026
9d5ce40
Org auto expanding archive property usage
Zacgoose May 18, 2026
6db7e77
Delete .claude directory
Zacgoose May 18, 2026
1e7aef1
Update alerts.json
Zacgoose May 19, 2026
fc246a5
update default value for standard
Zacgoose May 19, 2026
766a3c5
feat: add in missing options for Windows Hello standard
kris6673 May 21, 2026
5b5302c
feat(standards): add DLP via DCS OWA standard
kris6673 May 21, 2026
131927b
Stats
Zacgoose May 22, 2026
a6ae261
Add Group-Based Licensing support
May 23, 2026
c74966b
Merge pull request #6018 from kris6673/bulk-edit
KelvinTegelaar May 23, 2026
5574b47
Merge pull request #6038 from kris6673/winhello
KelvinTegelaar May 23, 2026
fad1cac
Merge pull request #6019 from kris6673/split-intune-join-registration
KelvinTegelaar May 23, 2026
96686d7
Merge pull request #6012 from jonwbstr/magicdash-addoptions
KelvinTegelaar May 23, 2026
bde8ad3
Merge pull request #6010 from Celeratec/fix/remove-claude-worktrees
KelvinTegelaar May 23, 2026
a327904
CIPP Hosted Notices
Zacgoose May 23, 2026
04c6384
implement standards template deployment for intune apps
KelvinTegelaar May 24, 2026
28cafc9
added third party notice
KelvinTegelaar May 24, 2026
30455f2
third party
KelvinTegelaar May 24, 2026
d4f458a
Third party text
KelvinTegelaar May 24, 2026
ee0ab2a
add extendedValues
KelvinTegelaar May 24, 2026
17bf1f8
fixes #5995
KelvinTegelaar May 24, 2026
8097e6e
FIDO2 profile standards
KelvinTegelaar May 24, 2026
389babe
add global var showing
KelvinTegelaar May 24, 2026
3bdb9d5
add global var showing
KelvinTegelaar May 24, 2026
c43f6d9
Update unauthenticated.js
Zacgoose May 25, 2026
f591d47
logout
Zacgoose May 25, 2026
16b4503
login/out testing
Zacgoose May 25, 2026
c1c5693
feat: add admin role member removal functionality
kris6673 May 25, 2026
38e72f9
Add APv2 profile
KelvinTegelaar May 25, 2026
304e0e5
Merge pull request #6052 from kris6673/remove-adminroles
KelvinTegelaar May 25, 2026
d8c4988
Merge pull request #6039 from kris6673/DlpViaDcsEnabled
KelvinTegelaar May 25, 2026
28ec38c
Merge pull request #6009 from kris6673/ade
KelvinTegelaar May 25, 2026
ac1190d
Merge pull request #6003 from KelvinTegelaar/dependabot/npm_and_yarn/…
KelvinTegelaar May 25, 2026
2e1e300
Merge pull request #6001 from KelvinTegelaar/dependabot/npm_and_yarn/…
KelvinTegelaar May 25, 2026
4ffb763
Merge pull request #6000 from KelvinTegelaar/dependabot/npm_and_yarn/…
KelvinTegelaar May 25, 2026
0001b6c
Merge pull request #5999 from KelvinTegelaar/dependabot/npm_and_yarn/…
KelvinTegelaar May 25, 2026
8399436
chore(deps): bump react from 19.2.5 to 19.2.6
dependabot[bot] May 25, 2026
8a179d2
moved autopilot ade etc
KelvinTegelaar May 25, 2026
ff9af7e
add tutorials to easy deployment of steps for Ashe.
KelvinTegelaar May 25, 2026
eac59c8
add tutorials to easy deployment of steps for Ashe.
KelvinTegelaar May 25, 2026
6a51abf
demo data
KelvinTegelaar May 25, 2026
37778e2
Merge pull request #6002 from KelvinTegelaar/dependabot/npm_and_yarn/…
KelvinTegelaar May 25, 2026
a2d8f19
react-dom
KelvinTegelaar May 25, 2026
7d1c209
Move EnrollmentProfileTabs from pages to components and update imports
Copilot May 25, 2026
02c7a43
Move EnrollmentProfileTabs to CippComponents folder and update imports
Copilot May 25, 2026
8145f58
Merge pull request #6056 from KelvinTegelaar/copilot/move-enrollment-…
Zacgoose May 25, 2026
1e59d2d
Update ListTests.json
Zacgoose May 26, 2026
1cd1ef7
Update AuditLogTemplates.json
Zacgoose May 26, 2026
ca150a2
Better display standards that are missing licenses to be able to work
Zacgoose May 26, 2026
f3c8a79
Update yarn.lock
Zacgoose May 26, 2026
d28e8eb
user sync
Zacgoose May 26, 2026
2f62bae
Update CippAuditLogSearchDrawer.jsx
Zacgoose May 26, 2026
25f4cae
feat: add permanent dismissal option for release notes
kris6673 May 26, 2026
fe4765e
Merge pull request #6059 from kris6673/permaDismiss
KelvinTegelaar May 26, 2026
1b7797a
Update standards.json
Zacgoose May 27, 2026
de70889
smart lockout standard
KelvinTegelaar May 27, 2026
0e527e5
Sharepoint management functionality.
KelvinTegelaar May 27, 2026
5709f85
fix: update terminology from "Temporary Access Password" to "Temporar…
kris6673 May 27, 2026
4102a13
Merge pull request #6064 from kris6673/TAP-typos
KelvinTegelaar May 27, 2026
bf6056b
Add version cleanup
KelvinTegelaar May 27, 2026
0abf552
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar May 27, 2026
635548a
Add version cleanup
KelvinTegelaar May 27, 2026
7a40854
fix query keys
KelvinTegelaar May 27, 2026
de03524
fixes #6065
KelvinTegelaar May 27, 2026
d0f58cb
feat(mailboxes): show mailbox and archive size columns
kris6673 May 27, 2026
072416d
new autopatch standard
KelvinTegelaar May 27, 2026
b8ece5c
Update worker-health.js
Zacgoose May 28, 2026
ab8de98
Update worker-health.js
Zacgoose May 28, 2026
ca43bc9
Update worker-health.js
Zacgoose May 28, 2026
7e44aff
new auth methods single standard
KelvinTegelaar May 28, 2026
8306a66
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar May 28, 2026
04f8575
Merge pull request #6070 from kris6673/6061
KelvinTegelaar May 28, 2026
605ecd8
fix: move ADE pages
kris6673 May 28, 2026
063550f
chore: update tab paths and imports
kris6673 May 28, 2026
d0405ff
feat: Add icons to the tabs and remove dead tab
kris6673 May 28, 2026
707873e
fix: Fix tab title showing as undefined
kris6673 May 28, 2026
97d7772
Expose missing standards and allow removal
Zacgoose May 29, 2026
c0bfd7d
Update standards.json
Zacgoose May 29, 2026
9e44f39
Update worker-health.js
Zacgoose May 30, 2026
6737dcb
Licence Universal Search
Zacgoose Jun 1, 2026
e2c39b2
Update M365Licenses.json
Zacgoose Jun 1, 2026
3734ade
Fix template trigger
KelvinTegelaar Jun 1, 2026
ee6f501
Merge pull request #6079 from kris6673/move-ADE
KelvinTegelaar Jun 1, 2026
d26084f
Merge pull request #6080 from kris6673/icons
KelvinTegelaar Jun 1, 2026
49cda6e
Update index.js
Zacgoose Jun 1, 2026
f1703f0
Update CippTenantModeDeploy.jsx
Zacgoose Jun 2, 2026
89abbf5
fix: improve stale issue and close messages for clarity
kris6673 Jun 2, 2026
069d6d6
Merge pull request #6101 from kris6673/stale
KelvinTegelaar Jun 2, 2026
d4570de
Update CippReportToolbar.jsx
Zacgoose Jun 2, 2026
cbd6fae
Correct report builder permissions
Zacgoose Jun 3, 2026
4d88e45
Update CippAutocomplete.jsx
Zacgoose Jun 3, 2026
51d2828
add mcp allowed
KelvinTegelaar Jun 3, 2026
e4009f2
feat: add Email as alternate login ID standard
kris6673 Jun 3, 2026
38ac0c4
MCP warning
KelvinTegelaar Jun 3, 2026
b2f8f80
feat: add actions for managing mailbox client access protocols
kris6673 Jun 3, 2026
692c67d
fix: quarantine deny action
JohnDuprey Jun 4, 2026
a804847
Exclude partner tenant
Zacgoose Jun 4, 2026
7262326
add excludeFromAlert to licenses.
KelvinTegelaar Jun 4, 2026
a04ed1a
Merge pull request #6049 from luimen6/feat/group-license-management
KelvinTegelaar Jun 4, 2026
cf30b4b
add excluded from alerts to licenses
KelvinTegelaar Jun 4, 2026
11ecd33
remove unneeded results key
KelvinTegelaar Jun 4, 2026
a9ed024
Merge pull request #6110 from kris6673/CAS-stuffs
KelvinTegelaar Jun 4, 2026
02db730
Merge pull request #6106 from kris6673/EmailAsAlternateLoginId
KelvinTegelaar Jun 4, 2026
3daf8b3
Add named location editing to CA template editor
Zacgoose Jun 4, 2026
c0f8e99
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
Zacgoose Jun 4, 2026
0b4c331
Make breadcrumb text and > selectable/copyable
Zacgoose Jun 4, 2026
b7c051f
Auth changes to use sedndmessage
KelvinTegelaar Jun 4, 2026
6703906
Auth changes to use sedndmessage
KelvinTegelaar Jun 4, 2026
eb16c27
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar Jun 4, 2026
5b09ef3
fix: add popup grace period
JohnDuprey Jun 4, 2026
ffefbbb
Use broadcast channel
KelvinTegelaar Jun 4, 2026
4ed6ba0
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP into dev
KelvinTegelaar Jun 4, 2026
0a8252e
fix: version encoding
JohnDuprey Jun 5, 2026
c8d61c0
fix: JIT admin, remove creatable on autocomplete
JohnDuprey Jun 5, 2026
98a96fc
CA expansion for tags
KelvinTegelaar Jun 5, 2026
a4aac4a
CA expansion for tags
KelvinTegelaar Jun 5, 2026
7b0c869
Update SsoMigrationDialog.jsx
Zacgoose Jun 5, 2026
8ae6ad1
typo
Zacgoose Jun 5, 2026
c15d1d0
fix: sherweb integration conditional fields
JohnDuprey Jun 5, 2026
6c968c4
fix: bad math
JohnDuprey Jun 5, 2026
e90b0ff
renumber for cis7
KelvinTegelaar Jun 5, 2026
4c2843c
more secure pipeline configuration
Zacgoose Jun 7, 2026
55e8eef
Update worker-health.js
Zacgoose Jun 7, 2026
4c0c058
Update alerts.json
Zacgoose Jun 8, 2026
4df01a6
Update unauthenticated.js
Zacgoose Jun 8, 2026
9c82a21
10.5.0 version up
KelvinTegelaar Jun 8, 2026
0304844
Merge branch 'main' into dev
KelvinTegelaar Jun 8, 2026
4521af9
Merge pull request #6129 from KelvinTegelaar/dev
KelvinTegelaar Jun 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/Close_Stale_Issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ jobs:
steps:
- uses: actions/stale@v10
with:
stale-issue-message: "This issue is stale because it has been open 10 days with no activity. We will close this issue soon. If you want this feature implemented you can contribute it. See: https://docs.cipp.app/dev-documentation/contributing-to-the-code . Please notify the team if you are working on this yourself."
close-issue-message: "This issue was closed because it has been stalled for 14 days with no activity."
stale-issue-message: "This issue is stale because it has been open for 10 days with no activity. Please do not bump feature requests unless you are actively working on them, as bumps interfere with our triage process and make it harder to maintain a current list of feature requests. If you want this feature implemented, you can contribute it yourself; see https://docs.cipp.app/dev-documentation/contributing-to-the-code. Please notify the team if you are working on this."
close-issue-message: "This issue was closed because it has been stalled for 14 days without activity. We auto-close inactive feature requests to keep the backlog focused and actionable. If this request is still needed, you may submit it again after 30 days."
stale-issue-label: "no-activity"
exempt-issue-labels: "planned,bug,roadmap"
days-before-stale: 9
Expand Down
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.3.0
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ matrix.node-version }}
- name: Install and Build Test
Expand Down
2 changes: 1 addition & 1 deletion .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.3.0
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ steps.get_node_version.outputs.node_version }}

Expand Down
2 changes: 1 addition & 1 deletion .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.3.0
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ steps.get_node_version.outputs.node_version }}

Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,5 @@ AGENTS.md
# azurite
__*
AzuriteConfig
# Claude/Cursor worktrees and local AI tooling
.claude/
26 changes: 26 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Supply-chain hardening for CIPP
# This file is honored by BOTH npm and yarn (yarn classic reads .npmrc).
# Any change here should be reviewed for CI/CD impact.

# Refuse to execute package lifecycle scripts (pre/postinstall, prepare, etc.)
# on dependency install. CIPP has zero of its own lifecycle scripts in
# package.json, so the only scripts this would block are from third-party
# packages — exactly the attack surface we want to close.
ignore-scripts=true

# Pin the registry explicitly so an inherited per-user .npmrc cannot redirect
# CI / contributor installs to a malicious mirror.
registry=https://registry.npmjs.org/

# Require integrity hashes (sha512) to match the lockfile on install.
# npm honors this directly; yarn classic always verifies lockfile integrity
# but this makes the intent explicit.
audit-level=high

# Don't auto-save changes to the lockfile from arbitrary install commands.
# Lockfile edits should only happen via Dependabot PRs or explicit upgrades.
save-exact=true

# Disable funding/notifier noise so CI logs only show real signal.
fund=false
update-notifier=false
18 changes: 18 additions & 0 deletions .yarnrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Supply-chain hardening for CIPP (yarn 1 / classic)
#
# This complements .npmrc — yarn 1 honors `ignore-scripts` from .npmrc, but
# we set the per-command equivalents here as defense in depth so the
# protection survives even if .npmrc is missing or ignored.

# Refuse to execute lifecycle scripts on `yarn install` / `yarn add` /
# `yarn upgrade`. Mirrors `ignore-scripts=true` in .npmrc.
--install.ignore-scripts true
--add.ignore-scripts true
--upgrade.ignore-scripts true

# Pin the registry so a poisoned per-user .yarnrc cannot redirect installs.
registry "https://registry.npmjs.org/"

# Disable yarn's self-update check — CI should never auto-update its own
# yarn binary mid-build.
disable-self-update-check true
1 change: 1 addition & 0 deletions Tests/Shapes/ListTests.json
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@
"ExoSafeLinksRules": "number",
"ExoSharingPolicy": "number",
"ExoTenantAllowBlockList": "number",
"ExoTransportConfig": "number",
"ExoTransportRules": "number",
"Groups": "number",
"Guests": "number",
Expand Down
1 change: 1 addition & 0 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ const config = {
'mui-tiptap',
'recharts',
'@react-pdf/renderer',
'lodash',
],
webpackMemoryOptimizations: true,
preloadEntriesOnStart: false,
Expand Down
41 changes: 16 additions & 25 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "cipp",
"version": "10.4.5",
"version": "10.5.0",
"author": "CIPP Contributors",
"homepage": "https://cipp.app/",
"bugs": {
Expand Down Expand Up @@ -42,55 +42,51 @@
"@react-pdf/renderer": "^4.3.2",
"@reduxjs/toolkit": "^2.11.2",
"@tanstack/query-sync-storage-persister": "^5.90.25",
"@tanstack/react-query": "^5.96.2",
"@tanstack/react-query-devtools": "^5.51.11",
"@tanstack/react-query-persist-client": "^5.76.0",
"@tanstack/react-query": "^5.100.10",
"@tanstack/react-query-devtools": "^5.96.2",
"@tanstack/react-query-persist-client": "^5.96.2",
"@tanstack/react-table": "^8.19.2",
"@tiptap/core": "^3.4.1",
"@tiptap/core": "^3.22.3",
"@tiptap/extension-heading": "^3.4.1",
"@tiptap/extension-image": "^3.20.5",
"@tiptap/extension-table": "^3.19.0",
"@tiptap/extension-table": "^3.20.5",
"@tiptap/pm": "^3.22.3",
"@tiptap/react": "^3.20.5",
"@tiptap/starter-kit": "^3.20.5",
"@uiw/react-json-view": "^2.0.0-alpha.41",
"@vvo/tzdb": "^6.198.0",
"apexcharts": "5.10.4",
"axios": "1.15.0",
"date-fns": "4.1.0",
"diff": "^8.0.3",
"dompurify": "^3.4.3",
"driver.js": "^1.4.0",
"eml-parse-js": "^1.2.0-beta.0",
"export-to-csv": "^1.3.0",
"formik": "2.4.9",
"gray-matter": "4.0.3",
"i18next": "25.8.18",
"javascript-time-ago": "^2.6.2",
"jspdf": "^4.2.0",
"jspdf-autotable": "^5.0.7",
"leaflet": "^1.9.4",
"leaflet-defaulticon-compatibility": "^0.1.2",
"leaflet.markercluster": "^1.5.3",
"lodash": "^4.18.1",
"lodash.isequal": "4.5.0",
"material-react-table": "^3.0.1",
"monaco-editor": "^0.55.1",
"mui-tiptap": "^1.29.1",
"mui-tiptap": "^1.30.0",
"next": "^16.2.2",
"nprogress": "0.2.0",
"numeral": "2.0.6",
"prop-types": "15.8.1",
"punycode": "^2.3.1",
"react": "19.2.5",
"react": "19.2.6",
"react-apexcharts": "2.1.0",
"react-beautiful-dnd": "13.1.1",
"react-copy-to-clipboard": "^5.1.0",
"react-dom": "19.2.5",
"react-dom": "19.2.6",
"react-dropzone": "15.0.0",
"react-error-boundary": "^6.1.1",
"react-grid-layout": "^2.2.3",
"react-hook-form": "^7.72.0",
"react-hot-toast": "2.6.0",
"react-html-parser": "^2.0.2",
"react-i18next": "16.6.5",
"react-leaflet": "5.0.0",
"react-leaflet-markercluster": "^5.0.0-rc.0",
"react-markdown": "10.1.0",
Expand All @@ -101,28 +97,23 @@
"react-syntax-highlighter": "^16.1.0",
"react-time-ago": "^7.3.3",
"react-virtuoso": "^4.18.5",
"react-window": "^2.2.7",
"recharts": "^3.7.0",
"recharts": "^3.8.1",
"redux": "5.0.1",
"redux-devtools-extension": "2.13.9",
"redux-persist": "^6.0.0",
"redux-thunk": "3.1.0",
"rehype-raw": "^7.0.0",
"remark-gfm": "^4.0.0",
"remark-parse": "^11.0.0",
"simplebar": "6.3.3",
"simplebar-react": "3.3.2",
"stylis-plugin-rtl": "2.1.1",
"typescript": "5.9.3",
"unified": "^11.0.5",
"yup": "1.7.1"
},
"devDependencies": {
"@svgr/webpack": "8.1.0",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"eslint": "^9.39.4",
"eslint-config-next": "^16.2.3",
"eslint-config-prettier": "^10.1.8",
"prettier": "^3.8.1",
"prettier-eslint": "^16.4.2"
"prettier": "^3.8.1"
}
}
Binary file added public/assets/integrations/autotask.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/integrations/connectwise.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions public/assets/integrations/kaseya.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion public/version.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"version": "10.4.5"
"version": "10.5.0"
}
4 changes: 3 additions & 1 deletion src/components/CippCards/CippExchangeInfoCard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,9 @@ export const CippExchangeInfoCard = (props) => {
<>
<Grid size={{ xs: 12, md: 6 }}>
<Typography variant="inherit" color="text.primary" gutterBottom>
Auto Expanding Archive:
{exchangeData?.AutoExpandingArchiveScope === 'Organization'
? 'Auto Expanding Archive: (org)'
: 'Auto Expanding Archive:'}
</Typography>
<Typography variant="inherit">
{getCippFormatting(
Expand Down
9 changes: 8 additions & 1 deletion src/components/CippCards/CippPropertyListCard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { PropertyListItem } from "../../components/property-list-item";
import { useDialog } from "../../hooks/use-dialog";
import { CippApiDialog } from "../CippComponents/CippApiDialog";
import { useState } from "react";
import { getIconByName } from "../../utils/icon-registry";

export const CippPropertyListCard = (props) => {
const {
Expand Down Expand Up @@ -51,6 +52,12 @@ export const CippPropertyListCard = (props) => {
return false;
};

const renderActionIcon = (icon) => {
if (!icon) return null;
if (typeof icon === "string") return getIconByName(icon, { fontSize: "small" });
return <SvgIcon fontSize="small">{icon}</SvgIcon>;
};

return (
<>
<Card sx={cardSx} {...other}>
Expand Down Expand Up @@ -160,7 +167,7 @@ export const CippPropertyListCard = (props) => {
actionItems.map((item, index) => (
<ActionListItem
key={`${item.label}-${index}-ActionList-OffCanvas`}
icon={<SvgIcon fontSize="small">{item.icon}</SvgIcon>}
icon={renderActionIcon(item.icon)}
label={item.label}
onClick={() => {
setActionData({
Expand Down
29 changes: 15 additions & 14 deletions src/components/CippCards/CippRemediationCard.jsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { Button, Typography, List, ListItem, SvgIcon } from "@mui/material";
import CippButtonCard from "./CippButtonCard"; // Adjust the import path as needed
import { CippApiDialog } from "../CippComponents/CippApiDialog";
import { useDialog } from "../../hooks/use-dialog";
import { Sync } from "@mui/icons-material";
import { ShieldCheckIcon } from "@heroicons/react/24/outline";
import { Button, Typography, List, ListItem, SvgIcon } from '@mui/material'
import CippButtonCard from './CippButtonCard' // Adjust the import path as needed
import { CippApiDialog } from '../CippComponents/CippApiDialog'
import { useDialog } from '../../hooks/use-dialog'
import { Sync } from '@mui/icons-material'
import { ShieldCheckIcon } from '@heroicons/react/24/outline'

export default function CippRemediationCard(props) {
const { userPrincipalName, isFetching, userId, tenantFilter, restartProcess } = props;
const createDialog = useDialog();
const { userPrincipalName, isFetching, userId, tenantFilter, restartProcess } = props
const createDialog = useDialog()
return (
<CippButtonCard
title={
Expand Down Expand Up @@ -60,20 +60,21 @@ export default function CippRemediationCard(props) {
<ListItem>Disconnect all current sessions</ListItem>
<ListItem>Remove all MFA methods for the user</ListItem>
<ListItem>Disable all inbox rules for the user</ListItem>
<ListItem>Disable OneDrive sharing</ListItem>
</List>
<CippApiDialog
title="Remediate User"
createDialog={createDialog}
api={{
url: "/api/execBecRemediate",
url: '/api/execBecRemediate',
confirmText:
"This will remediate this user, blocking their signin, resetting their password, disconnecting their sessions, and disabling all their inbox rules. Are you sure you want to continue?",
type: "POST",
data: { tenantFilter: tenantFilter, userId: "userId", username: "userPrincipalName" },
replacementBehaviour: "removeNulls",
'This will remediate this user, blocking their signin, resetting their password, disconnecting their sessions, and disabling all their inbox rules. Are you sure you want to continue?',
type: 'POST',
data: { tenantFilter: tenantFilter, userId: 'userId', username: 'userPrincipalName' },
replacementBehaviour: 'removeNulls',
}}
row={props}
/>
</CippButtonCard>
);
)
}
10 changes: 5 additions & 5 deletions src/components/CippCards/CippStandardsDialog.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, { useState } from 'react'
import _ from 'lodash'
import { get } from 'lodash'
import {
Dialog,
DialogTitle,
Expand Down Expand Up @@ -311,7 +311,7 @@ export const CippStandardsDialog = ({ open, onClose, standardsData, currentTenan
</Typography>
<Stack spacing={0.5}>
{info.addedComponent.map((component, componentIndex) => {
const value = _.get(templateItem, component.name)
const value = get(templateItem, component.name)
let displayValue = 'N/A'

if (value) {
Expand Down Expand Up @@ -427,7 +427,7 @@ export const CippStandardsDialog = ({ open, onClose, standardsData, currentTenan
let extractedValue = null

// Try direct access first
componentValue = _.get(config, component.name)
componentValue = get(config, component.name)

// If direct access fails and component name contains dots (nested structure)
if (
Expand All @@ -441,7 +441,7 @@ export const CippStandardsDialog = ({ open, onClose, standardsData, currentTenan
if (pathParts[0] === 'standards' && config.standards) {
// Remove 'standards.' prefix and try to find the value in config.standards
const nestedPath = pathParts.slice(1).join('.')
extractedValue = _.get(config.standards, nestedPath)
extractedValue = get(config.standards, nestedPath)

// If still not found, try alternative nested structures
// Some standards have double nesting like: config.standards.StandardName.fieldName
Expand All @@ -452,7 +452,7 @@ export const CippStandardsDialog = ({ open, onClose, standardsData, currentTenan
) {
const standardName = pathParts[1]
const fieldPath = pathParts.slice(2).join('.')
extractedValue = _.get(
extractedValue = get(
config.standards,
`${standardName}.${fieldPath}`
)
Expand Down
Loading