Skip to content

[pull] dev from KelvinTegelaar:dev#68

Merged
isgq-github01 merged 1012 commits intoisgq-github01:devfrom
KelvinTegelaar:dev
Feb 11, 2026
Merged

[pull] dev from KelvinTegelaar:dev#68
isgq-github01 merged 1012 commits intoisgq-github01:devfrom
KelvinTegelaar:dev

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Oct 29, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull Bot locked and limited conversation to collaborators Oct 29, 2025
@pull pull Bot added the ⤵️ pull label Oct 29, 2025
JohnDuprey and others added 28 commits January 16, 2026 11:51
Changed the defaultVersion in host.json and updated version_latest.txt to reflect the new version 10.0.0, replacing 8.8.2.
Dev to release - CIPP X(10.0.0)
Updated all Write-LogMessage calls in public CIPPCore module scripts to use severity 'Debug' instead of 'Info' for standard operation messages. This reduces log verbosity for routine cache and add operations, reserving 'Info' for more significant events.
Updated the Push-BECRun function to filter out entries in MFADevices where '@odata.type' equals '#microsoft.graph.passwordAuthenticationMethod'. This ensures only relevant MFA devices are included in the output.
Bump the defaultVersion in host.json and update version_latest.txt to 10.0.1 to reflect the latest release.
Feat: Add auto enable archive mailbox standard
Added null protection to ListMFAUsers.ps1 supporting fallback when calling non P1 tenants
Updated Get-CIPPMFAStateReport and Get-CIPPMailboxPermissionReport to filter tenants based on the defaultDomainName property from Get-Tenants with -IncludeErrors. This ensures only valid tenants are processed in the reports.
Updated Invoke-ExecCloneTemplate to set Package and SHA to null only if they exist in the template object, preventing unnecessary property assignments.
Refines the filter logic to use an exact match for the count row when the Type parameter is specified, and applies server-side filtering for count rows when Type is not specified. This change improves efficiency by reducing unnecessary client-side filtering.
Introduces Push-GetCalendarPermissionsBatch.ps1 to process calendar permissions in batches. Updates Push-StoreMailboxPermissions.ps1 to aggregate and store calendar permissions alongside mailbox and recipient permissions. Modifies Set-CIPPDBCacheMailboxes.ps1 to create and orchestrate both mailbox and calendar permission batches, enabling unified caching and reporting for all permission types.
Push-CIPPDBCacheData.ps1 now builds a dynamic batch of cache collection tasks based on tenant license capabilities, replacing sequential static calls. The orchestration is started with a single batch, improving maintainability and extensibility. Related changes remove the 'Mailboxes' batch from Start-CIPPDBCacheOrchestrator.ps1 and update test run handling in Invoke-ExecTestRun.ps1 to align with the new orchestration approach.
KelvinTegelaar and others added 29 commits February 9, 2026 07:42
Add robust handling for missing or empty MX data and wrap per-domain comparison in try/catch to prevent runtime errors. Normalize PreviousRecords and CurrentRecords to arrays, use Compare-Object for differences, and emit informational messages when records are newly added or removed. Also ensure CurrentRecords is an array when updating the cache. These changes prevent failures when ActualMXRecords/Hostname are absent and provide clearer diagnostics.
Invoke-AddScheduledItem: when an existing ScheduledTask is found, call Test-CIPPRerun with Clear=$true for that tenant/API before calling Add-CIPPScheduledTask -RunNow to ensure any stale rerun cache is cleared.

Test-CIPPRerun: avoid computing the estimated interval when Clear/ClearAll flags are present; and build a tighter Azure Table filter by optionally scoping PartitionKey (unless AllTenants) and using a RowKey ge/le range (with '~' as high ascii) to restrict results to the specific Type_API. These changes prevent stale rerun entries from blocking immediate runs and reduce table query scope for better performance.
In Import-CommunityTemplate.ps1 generate a new GUID ($id) for imported entities and use it instead of Template.id when setting GUID/RowKey for Group, CATemplate and IntuneTemplate entries. Remove redundant assignments of $id from Template.id, exclude the 'templateId' property from template selection, and add Write-Information logs showing the raw JSON before ID replacement and the final entity for easier debugging. This ensures unique IDs for imported templates and improves traceability during import.
Include userType in Graph query and user objects, and add handling for policies that target guests or external users. Introduce GuestUserPolicies (and use generic lists) to collect guest-targeting policies, evaluate include/exclude guest settings (guestOrExternalUserTypes) and exclude groups when calculating conditional access coverage for Guest users. Also add defensive null-checks throughout, ensure group include/exclude checks are robust, and expose UserType in the returned user record. Minor cleanup: use single quotes for a license error message and normalize list initializations.
Introduce the AllowParticipantGiveRequestControl setting to the Teams Global Meeting Policy standard. Updates include help/docs text, a new UI switch, inclusion in the Set-CsTeamsMeetingPolicy example, reading the property from Get-CsTeamsMeetingPolicy, adding it to the current/expected value maps, and including it in the remediation payload and comparison logic so the standard can correctly evaluate and enforce this setting.
- Fixed forks not appearing by adding a switch to include them when building the query
- Fixed forks not appearing by adding a switch to include them when building the query
Add queue tracking support across CIPP DB cache flows and introduce mailbox rules reporting. Key changes: Update-CippQueueEntry: accept TotalTasks and IncrementTotalTasks to set or increment task counts. Propagate QueueId through Push-ExecCIPPDBCache, Invoke-ExecCIPPDBCache and orchestration batches (create New-CippQueueEntry with TotalTasks and include QueueId in batch/response). Include 'MailboxRules' in Push-CIPPDBCacheData list. Add Get-CIPPMailboxRulesReport to read mailbox rules from the reporting DB (supports AllTenants). Enhance Invoke-ListMailboxRules to optionally use the report DB via UseReportDB, restructure queue/orchestration logic and add error handling. Many Set-CIPPDBCache* functions updated to accept an optional QueueId parameter so cache jobs can report progress to the queue.
Introduce batched mailbox-rules caching and add DB item update/remove helpers. Adds Push-GetMailboxRulesBatch and Push-StoreMailboxRules activity functions to fetch and aggregate mailbox rules in batches, and new Update-CIPPDbItem / Remove-CIPPDbItem cmdlets to support partial updates and removals in the CippReportingDB. Enhance Set-CIPPDBCacheMailboxes to accept a Types parameter (Permissions, CalendarPermissions, Rules) and spawn separate orchestrators for permission and rules batches; remove the old Set-CIPPDBCacheMailboxRules implementation. Propagate Types through Invoke-ExecCIPPDBCache and Push-ExecCIPPDBCache, improve logging, and update Set-CIPPMailboxRule / Remove-CIPPMailboxRule to keep the cache in sync when rules are changed or deleted.
Add a guard that detects when the ExcludedLicenses table is empty and initializes it. When no excluded SKUs are found, the code logs an informational message, calls Initialize-CIPPExcludedLicenses, and reloads the excluded SKU list so downstream processing has the expected data.
Insert a new CleanupRule into Start-TableCleanup to run TableCleanupTask against the CippStandardsReports table. The rule deletes entities with Timestamp older than 7 days (UTC) in batches up to 10,000, returning PartitionKey, RowKey and ETag for each item. This ensures old standards report entries are pruned automatically.
Introduce feature flag infrastructure and HTTP entrypoints. Adds Get-CIPPFeatureFlag and Set-CIPPFeatureFlag to load defaults from lib/data/FeatureFlags.json, initialize missing table entries, and persist state to the FeatureFlags table (Set respects AllowUserToggle and records LastModified). Adds Invoke-ListFeatureFlags and Invoke-ExecFeatureFlag HTTP handlers to list and get/set flags. Integrates feature flag checks into New-CippCoreRequest (returns 503 for disabled endpoints), Start-BPAOrchestrator (no-op when BestPracticeAnalyser is disabled), and Get-CIPPTimerFunctions (filters timers tied to disabled flags). Includes basic logging and error handling for the new flows.
@isgq-github01 isgq-github01 merged commit b884185 into isgq-github01:dev Feb 11, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants