Fix CreateDirectory failing under Sites.Selected permission#8862
Closed
JorisVanDuyse4PS wants to merge 171 commits into
Closed
Fix CreateDirectory failing under Sites.Selected permission#8862JorisVanDuyse4PS wants to merge 171 commits into
JorisVanDuyse4PS wants to merge 171 commits into
Conversation
Integrate latest changes
…trup/28_final_integration
Final integration from main to 28.x (Commit a7a0127)
<!-- Thank you for submitting a Pull Request. If you're new to contributing to BCApps please read our pull request guideline below * https://github.com/microsoft/BCApps/Contributing.md --> #### Summary <!-- Provide a general summary of your changes --> #### Work Item(s) <!-- Add the issue number here after the #. The issue needs to be open and approved. Submitting PRs with no linked issues or unapproved issues is highly discouraged. --> Fixes [AB#620871](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/620871) Co-authored-by: Miroslav Uhlir (Miroslav Uhlr) <v-mirouhlir@microsoft.com>
<!-- Thank you for submitting a Pull Request. If you're new to contributing to BCApps please read our pull request guideline below * https://github.com/microsoft/BCApps/Contributing.md --> #### Summary <!-- Provide a general summary of your changes --> Add CLEAN29 to preprocessorsymbols #### Work Item(s) <!-- Add the issue number here after the #. The issue needs to be open and approved. Submitting PRs with no linked issues or unapproved issues is highly discouraged. --> Fixes [AB#620871](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/620871)
…latest (microsoft#6818) <!-- Thank you for submitting a Pull Request. If you're new to contributing to BCApps please read our pull request guideline below * https://github.com/microsoft/BCApps/Contributing.md --> #### Summary <!-- Provide a general summary of your changes --> Update artifact to bcinsider/Sandbox/28.1//latest #### Work Item(s) <!-- Add the issue number here after the #. The issue needs to be open and approved. Submitting PRs with no linked issues or unapproved issues is highly discouraged. --> Fixes [AB#622584](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/622584)
…(+ 1 more update(s)) (microsoft#6838) This PR contains the following changes: - Update app baselines package version. New value: 28.0.46665.0 - Update translation package version. New value: 28.0.26054.3 [AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394) Co-authored-by: aholstrup1 <aholstrup1@users.noreply.github.com>
<!-- Thank you for submitting a Pull Request. If you're new to contributing to BCApps please read our pull request guideline below * https://github.com/microsoft/BCApps/Contributing.md --> #### Summary <!-- Provide a general summary of your changes --> Fixes NO app uptake in NAV. Without change app cant be uptake. #### Work Item(s) <!-- Add the issue number here after the #. The issue needs to be open and approved. Submitting PRs with no linked issues or unapproved issues is highly discouraged. --> Fixes [AB#622982](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/622982) Co-authored-by: Magnus Hartvig Grønbech <magnushar@microsoft.com>
…n-AL defined indices (microsoft#6863) This pull request backports microsoft#6782 to releases/28.x Problem: When an non-AL defined index is disabled (turned off) it doesn't exist anymore (neither in Database Index VT or Key VT), so it will no longer exist in the temp table, leading to an error. Solution: Don't attempt to return to the position for non-AL defined indices after disabling them. Instead the position will just be the first index. This PR also adds another page which shows the index's fields and include fields. Fixes [AB#623117](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623117) Co-authored-by: Mads Gram <magram@microsoft.com>
… the visibility hasn't been updated in the draft page (microsoft#6870) Fixes [AB#623184](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623184)
…ft#6860) This pull request backports microsoft#6816 to releases/28.x Fixes [AB#617049](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/617049)
<!-- Thank you for submitting a Pull Request. If you're new to contributing to BCApps please read our pull request guideline below * https://github.com/microsoft/BCApps/Contributing.md --> #### Summary <!-- Provide a general summary of your changes --> #### Work Item(s) <!-- Add the issue number here after the #. The issue needs to be open and approved. Submitting PRs with no linked issues or unapproved issues is highly discouraged. --> Fixes [AB#623252](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623252)
## Summary - Backport of microsoft#6806 to releases/28.x - Adds a check that ensures an invalid GTIN (longer than the field length) doesn't fail the SetRange when importing E-Documents. Fixes [AB#623326](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623326) Co-authored-by: Magnus Hartvig Grønbech <magnushar@microsoft.com>
#### Summary Backporting changes to v28.x #### Work Item(s) Fixes [AB#623377](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623377)
…for Certificate auth (microsoft#6880) The certificate SetParameters overload was assigning `Certificate := Certificate` (self-assignment) instead of `Certificate := NewCertificate`, causing certificate-based auth to always send an empty certificate. This will fix authorization with certificate for Microsoft Graph and SharePoint Graph API modules. #### Work Item(s) <!-- Add the issue number here after the #. The issue needs to be open and approved. Submitting PRs with no linked issues or unapproved issues is highly discouraged. --> Fixes microsoft#6851 Fixes [AB#623232](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623232) Co-authored-by: Volodymyr Dvernytskyi <volodymyr.dvernytskyi@gmail.com>
…soft#6912) Filtering on exact item tracing variation #### Work Item(s) <!-- Add the issue number here after the #. The issue needs to be open and approved. Submitting PRs with no linked issues or unapproved issues is highly discouraged. --> Fixes [AB#623358](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623358)
) Fixes [AB#623372](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623372) **Message from cherry-picked commit:** Create basic setup data in **OnInstallApp** (so when installing the main QM app), not just when opening the setup page. Reclassify the demo data from the Contoso module as Master data instead of Setup data, so it's not installed with the other setup data. Fixes [AB#622281](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/622281) Fixes [AB#622184](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/622184) Fixes [AB#619949](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/619949) Fixes [AB#622186](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/622186)
… error when you change a newly create line in a customer subscription contract (microsoft#6885) [AB#623238](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623238) Workitem: [Bug 623238](https://dynamicssmb2.visualstudio.com/Dynamics%20SMB/_workitems/edit/623238): [28.x][all-e]"The changes to the subscription line record cannot be saved..." error when you change a newly create line in a customer subscription contract
…e scanned is 0D (microsoft#6963) Summary FA Scan entries The date is not valid. this is because Last time scanned is 0D. This will prevent the user open the FA card page . Work Item(s) Fixes [AB#624039](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/624039)
microsoft#6921) …rmission (microsoft#6914) <!-- Thank you for submitting a Pull Request. If you're new to contributing to BCApps please read our pull request guideline below * https://github.com/microsoft/BCApps/Contributing.md --> #### Summary <!-- Provide a general summary of your changes --> Initializing quality management setup causes error for limited user #### Work Item(s) <!-- Add the issue number here after the #. The issue needs to be open and approved. Submitting PRs with no linked issues or unapproved issues is highly discouraged. --> Fixes [AB#623634](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623634) <!-- Thank you for submitting a Pull Request. If you're new to contributing to BCApps please read our pull request guideline below * https://github.com/microsoft/BCApps/Contributing.md --> #### Summary <!-- Provide a general summary of your changes --> #### Work Item(s) <!-- Add the issue number here after the #. The issue needs to be open and approved. Submitting PRs with no linked issues or unapproved issues is highly discouraged. --> Fixes [AB#623806](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623806)
## Summary - Check that a fulfillment service exists before querying assigned fulfillment orders - Handle deleted fulfillment service locations in Shopify sync Fixes [AB#623993](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623993) Cherry-picked from main: - 3c83280 [Shopify] Check fulfillment service exists before querying assigned fulfillment orders (microsoft#6904) - 1819203 [Shopify] Handle deleted fulfillment service location in Shopify (microsoft#6847) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
…#6920) <!-- Thank you for submitting a Pull Request. If you're new to contributing to BCApps please read our pull request guideline below * https://github.com/microsoft/BCApps/Contributing.md --> #### Summary <!-- Provide a general summary of your changes --> Quality Management - Introducing actionable error messages #### Work Item(s) <!-- Add the issue number here after the #. The issue needs to be open and approved. Submitting PRs with no linked issues or unapproved issues is highly discouraged. --> Fixes [AB#623757](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623757)
…o-PTE@preview - ab2dd7a / Related to AB#539394 (microsoft#6999) ## preview Note that when using the preview version of AL-Go for GitHub, we recommend you Update your AL-Go system files, as soon as possible when informed that an update is available. ### Issues - Attempt to start docker service in case it is not running - NextMajor (v28) fails when downloading dependencies from NuGet-feed ## v8.3 ### Issues - Issue 2107 Publish a specific build mode to an environment - Issue 1915 CICD fails on releases/26.x branch - '26.x' cannot be recognized as a semantic version string ### The default pull request trigger is changing AL-Go for GitHub is transitioning from the pull_request_target trigger to the more secure pull_request trigger. This is a step we are taking to make AL-Go for GitHub more secure by default. If you are used to working from branches within the repository you may not notice any difference. If you get pull requests from forks, those pull requests will no longer be able to access secrets. If that is blocking for your repository, you will need to update your settings to use the pull_request_target trigger. **How do I revert back to pull_request_target?** Add the following setting to one of your settings files and run the Update AL-Go System Files workflow: ```json "pullRequestTrigger": "pull_request_target" ``` Related to [AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394) Co-authored-by: business-central-bot <business-central-bot@users.noreply.github.com>
…ed through recurring billing (microsoft#6955) [AB#623240](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623240) Workitem: [Bug 623240](https://dynamicssmb2.visualstudio.com/Dynamics%20SMB/_workitems/edit/623240): [28.x][All-e]Extended texts are not applied when sales invoices are created through recurring billing
…soft#6956) - Add Power Automate-friendly API pages for quality inspections (**Qlty. Inspections API** and **Qlty. Create Inspection API**) under the **qualityManagement** API group - Add external business events for key inspection lifecycle moments (created, started, failed, passed, finished) via **Qlty. Start Workflow** codeunit - Add **QltyEventCategory** enum extension to register Quality Management as an event category for external integrations - Put **QltyInspectionValues** query under the **qualityManagement** API group. - Add tests covering the new API pages (**Qlty. Tests - Inspections API**) Fixes [AB#623986](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623986) Co-authored-by: insightworks007 <226571004+insightworks007@users.noreply.github.com> Co-authored-by: aldobriansky <aldobriansky@microsoft.com>
…chedule… (microsoft#6950) - Enable item ledger entry as an inspection source so users can create inspections against open inventory (periodic/stock inspections) - Allow the Schedule Inspection report to be used for bulk creating inspections without requiring a schedule group, not just via job queue - Revert accidental change that bypassed the "please choose a record first" validation in the Create Inspection report - Restore schedule group value when the user declines to create a job queue entry, preventing orphaned schedule groups Fixes [AB#623946](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623946) Co-authored-by: aldobriansky <aldobriansky@microsoft.com>
…icrosoft#6917) Backport to 28.x Fixes [AB#623782](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623782) Co-authored-by: aldobriansky <aldobriansky@microsoft.com>
Fixes [AB#624443](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/624443) --------- Co-authored-by: Joshua Martínez Pineda <diegojoshuam@microsoft.com>
…ation registration (microsoft#6237) (microsoft#6873) ## Summary Cherry-pick of d282dde from main to releases/28.x. **Original PR:** microsoft#6237 **Fixes:** microsoft#6875 Fix a bug that causes an error when creating a new Nemhandel participation and adding network profiles using the Advanced Setup step. ≡ƒñû Generated with [Claude Code](https://claude.com/claude-code) Fixes [AB#623176](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/623176) Co-authored-by: Eldar Vilcinskis <elvi@continia.com> Co-authored-by: Jesper Schulz-Wedde <JesperSchulz@users.noreply.github.com> Co-authored-by: Pavel Rakalovič <para@continia.com>
…ocNo (microsoft#7034) Cherry-pick of microsoft#7033 to releases/28.x Fixes [AB#624579](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/624579) Co-authored-by: Joshua Martínez Pineda <diegojoshuam@microsoft.com>
…ing (microsoft#8370) Backport of microsoft#8282. Fixes [AB#636940](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/636940). Co-authored-by: Joshua Martínez Pineda <diegojoshuam@microsoft.com>
…n. Journal Template does not exist (Name = '')" (microsoft#8390) [AB#637277](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/637277) [Bug 637277](https://dynamicssmb2.visualstudio.com/Dynamics%20SMB/_workitems/edit/636197): [28.1] [ALL-E] Vendor Subscription Contract Deferral Release fails with "Gen. Journal Template does not exist (Name = '')" Cherry-picked from microsoft#8356 Co-authored-by: DhavalMore88 <v-dhavalmore@microsoft.com>
…052 (microsoft#8406) This PR contains the following changes: - Update app baselines package version. New value: 28.0.46665.51052 [AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394) Co-authored-by: aholstrup1 <aholstrup1@users.noreply.github.com>
…o-PTE@preview - 935eb86 / Related to AB#539394 (microsoft#8461) ## preview Note that when using the preview version of AL-Go for GitHub, we recommend you Update your AL-Go system files, as soon as possible when informed that an update is available. ### Use artifact manifest to pick .NET runtime for assembly probing When compiling apps with the workspace compiler, AL-Go now reads the `dotNetVersion` from the BC artifact's `manifest.json` (copied into the compiler folder by BcContainerHelper) and selects an installed .NET runtime whose major version matches. This avoids version drift between the build agent's highest installed runtime and the platform the artifact was built against. If the manifest does not declare a `dotNetVersion`, or no installed runtime matches the required major, versioned .NET assembly probing paths are omitted (a warning is logged in the latter case). ### New compiler folder hooks Two new hooks are available for customizing the compiler folder creation process when workspace compilation is enabled: - **PreNewBcCompilerFolder.ps1** - Runs before `New-BcCompilerFolder` is called. Receives a `[hashtable] $parameters` argument containing the parameters that will be passed to `New-BcCompilerFolder`. The script can modify the hashtable in-place to customize the compiler folder creation (e.g., add a `platformArtifactUrl` to use a specific platform version). - **PostNewBcCompilerFolder.ps1** - Runs after the compiler folder is created. Receives `[hashtable] $parameters` and `[string] $compilerFolder` arguments. Place these scripts in your project's `.AL-Go` folder to use them. ### New AL-Go hooks (experimental) AL-Go for GitHub now supports a new generic hook mechanism that is independent of BcContainerHelper. A new `RunHook` action invokes scripts placed in the project's `.AL-Go` folder at well-known extension points in the workflows. The first such extension point is `BuildInitialize`, which runs in the build workflow immediately after `Read settings` (so AL-Go settings are available as environment variables). To use it, add a `.AL-Go/BuildInitialize.ps1` script that accepts a `[Hashtable] $parameters` argument. If the script does not exist, the step is a silent no-op. The hook mechanism is intended to gradually replace the BcContainerHelper-based `Run-AlPipeline` script overrides as AL-Go moves away from `Run-AlPipeline`. See [Customizing AL-Go for GitHub](https://github.com/microsoft/AL-Go/blob/main/Scenarios/CustomizingALGoForGitHub.md#al-go-hooks) for details and the list of supported hook names. > **Experimental:** the set of supported hook names, the parameters passed to hook scripts, the location and timing of hook invocations, and the names of the underlying action and helpers may all change in future versions. Anything you build on top of this first iteration may break in a later update. ### Conditional settings now support workflow trigger events `ConditionalSettings` now supports a `triggers` condition, allowing you to apply settings based on `GITHUB_EVENT_NAME` values such as `push`, `pull_request`, `schedule`, and `workflow_dispatch`. Example: ```json "ConditionalSettings": [ { "triggers": ["schedule", "workflow_dispatch"], "settings": { "additionalCountries": ["de", "us"] } } ] ``` ### Support for workspace compilation (Continued) - Added support for upgrade tests and using previously released artifacts as baselines for appsourcecop.json - Added support for BCPT app compilation with workspace compilation - Added support for incremental builds (`modifiedApps` mode) with workspace compilation. Unmodified apps are downloaded from the baseline workflow run and excluded from workspace compilation, matching the behavior of the container-based path. ### Optimized dependency artifact downloads for multi-project repositories The `DownloadProjectDependencies` action now downloads only artifacts from dependency projects instead of all workflow artifacts. For repositories with many AL-Go projects, this reduces build runner bandwidth and speeds up the dependency download step. ### Issues - Incremental builds (`modifiedApps` mode) now correctly identify unmodified apps for projects whose `appFolders` reference paths outside the project directory (e.g. using `../`) - Issue 2204 - Workspace compilation ignores vsixFile setting - Issue 2211 - Cannot create a release if a project contains only test apps - Issue 2214 - Workspace compilation not working with external dependencies - Issue 2235 - Workspace compilation: only the first `customCodeCops` entry resolved when multiple relative paths were configured. Relative `customCodeCops` paths are now resolved against the project folder before being passed to the compiler. Related to [AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394) Co-authored-by: business-central-bot <business-central-bot@users.noreply.github.com>
…for any event (microsoft#8481) ## What & why Quality Management responses are nominally valid only for Quality Management events. ## Linked work Fixes [AB#637723](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/637723)
…e Excel (microsoft#8426) Backport of microsoft#8423. Fixes [AB#637447](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/637447). Cherry-pick conflict in TrialBalanceExcelReports.Codeunit.al resolved by accepting the deletion of the moved-out tests/handlers (mirror of main). Co-authored-by: Joshua Martínez Pineda <diegojoshuam@microsoft.com>
…283 (microsoft#8536) This PR contains the following changes: - Update app baselines package version. New value: 28.0.46665.51283 [AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394) Co-authored-by: aholstrup1 <aholstrup1@users.noreply.github.com>
…g accounts) (microsoft#8569) Backport of microsoft#8565. Fixes [AB#638252](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/638252). Co-authored-by: Joshua Martínez Pineda <diegojoshuam@microsoft.com>
…rts (microsoft#8590) Backport of microsoft#8583. Fixes [AB#638356](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/638356). Co-authored-by: Joshua Martínez Pineda <diegojoshuam@microsoft.com>
…542 (microsoft#8630) This PR contains the following changes: - Update app baselines package version. New value: 28.0.46665.51542 [AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394) Co-authored-by: aholstrup1 <aholstrup1@users.noreply.github.com>
…oft#8637) Adds VAT handling to the purchase E-Document import flow (bug 638188). Fixes [AB#638188](https://dynamicssmb2.visualstudio.com/Dynamics%20SMB/_workitems/edit/638188) --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…o-PTE@preview - c6589e9 / Related to AB#539394 (microsoft#8785) ## preview Note that when using the preview version of AL-Go for GitHub, we recommend you Update your AL-Go system files, as soon as possible when informed that an update is available. ### Use artifact manifest to pick .NET runtime for assembly probing When compiling apps with the workspace compiler, AL-Go now reads the `dotNetVersion` from the BC artifact's `manifest.json` (copied into the compiler folder by BcContainerHelper) and selects an installed .NET runtime whose major version matches. This avoids version drift between the build agent's highest installed runtime and the platform the artifact was built against. If the manifest does not declare a `dotNetVersion`, or no installed runtime matches the required major, versioned .NET assembly probing paths are omitted (a warning is logged in the latter case). ### New compiler folder hooks Two new hooks are available for customizing the compiler folder creation process when workspace compilation is enabled: - **PreNewBcCompilerFolder.ps1** - Runs before `New-BcCompilerFolder` is called. Receives a `[hashtable] $parameters` argument containing the parameters that will be passed to `New-BcCompilerFolder`. The script can modify the hashtable in-place to customize the compiler folder creation (e.g., add a `platformArtifactUrl` to use a specific platform version). - **PostNewBcCompilerFolder.ps1** - Runs after the compiler folder is created. Receives `[hashtable] $parameters` and `[string] $compilerFolder` arguments. Place these scripts in your project's `.AL-Go` folder to use them. ### New AL-Go hooks (experimental) AL-Go for GitHub now supports a new generic hook mechanism that is independent of BcContainerHelper. A new `RunHook` action invokes scripts placed in the project's `.AL-Go` folder at well-known extension points in the workflows. The first such extension point is `BuildInitialize`, which runs in the build workflow immediately after `Read settings` (so AL-Go settings are available as environment variables). To use it, add a `.AL-Go/BuildInitialize.ps1` script that accepts a `[Hashtable] $parameters` argument. If the script does not exist, the step is a silent no-op. The hook mechanism is intended to gradually replace the BcContainerHelper-based `Run-AlPipeline` script overrides as AL-Go moves away from `Run-AlPipeline`. See [Customizing AL-Go for GitHub](https://github.com/microsoft/AL-Go/blob/main/Scenarios/CustomizingALGoForGitHub.md#al-go-hooks) for details and the list of supported hook names. > **Experimental:** the set of supported hook names, the parameters passed to hook scripts, the location and timing of hook invocations, and the names of the underlying action and helpers may all change in future versions. Anything you build on top of this first iteration may break in a later update. ### Conditional settings now support workflow trigger events `ConditionalSettings` now supports a `triggers` condition, allowing you to apply settings based on `GITHUB_EVENT_NAME` values such as `push`, `pull_request`, `schedule`, and `workflow_dispatch`. Example: ```json "ConditionalSettings": [ { "triggers": ["schedule", "workflow_dispatch"], "settings": { "additionalCountries": ["de", "us"] } } ] ``` ### Support for workspace compilation (Continued) - Added support for upgrade tests and using previously released artifacts as baselines for appsourcecop.json - Added support for BCPT app compilation with workspace compilation - Added support for incremental builds (`modifiedApps` mode) with workspace compilation. Unmodified apps are downloaded from the baseline workflow run and excluded from workspace compilation, matching the behavior of the container-based path. ### Optimized dependency artifact downloads for multi-project repositories The `DownloadProjectDependencies` action now downloads only artifacts from dependency projects instead of all workflow artifacts. For repositories with many AL-Go projects, this reduces build runner bandwidth and speeds up the dependency download step. ### Issues - Issue 2277 Auto-exclude the `copilot` GitHub environment from CI/CD deployments. When the GitHub Copilot coding agent is enabled on a repository, GitHub auto-creates an environment named `copilot`. AL-Go now treats it the same way as `github-pages` and never attempts to deploy to it. - Issue 2236 - `GetDependencies` `buildMode` prefix leaks across dependency iterations, causing incorrect artifact mask names when multiple `appDependencyProbingPaths` entries use different build modes - Incremental builds (`modifiedApps` mode) now correctly identify unmodified apps for projects whose `appFolders` reference paths outside the project directory (e.g. using `../`) - Issue 2204 - Workspace compilation ignores vsixFile setting - Issue 2211 - Cannot create a release if a project contains only test apps - Issue 2214 - Workspace compilation not working with external dependencies - Issue 2235 - Workspace compilation: only the first `customCodeCops` entry resolved when multiple relative paths were configured. Relative `customCodeCops` paths are now resolved against the project folder before being passed to the compiler. - Issue 2265 - Creating a Performance Test App fails on Linux due to case-sensitive path lookup for the Performance Toolkit sample app Related to [AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394) Co-authored-by: business-central-bot <business-central-bot@users.noreply.github.com>
… zero (microsoft#8838) Work item: [AB#640628](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/640628) ## Summary Backport of the fix for the edge case where a posting account's balance at the ending date is zero. The query-based Trial Balance path previously skipped any account/dimension combination whose values netted to zero (`CheckAllZero`). But the underlying query only returns combinations that actually have entries, so a zero *net* change still represents real (offsetting) turnover that should be shown. This change inserts every combination the query returns in the first pass, so the second (opening-balance) pass can correctly adjust those that also have an opening balance — preserving correct debit/credit splits when the end balance nets to zero. ## Changes - `src/Apps/W1/ExcelReports/App/src/Financials/TrialBalance.Codeunit.al` - `src/Apps/W1/ExcelReports/Test/src/TrialBalanceExcelReports.Codeunit.al` Tests updated/added: - `QueryPathIncludesAccountsThatNetToZero` - `QueryPathReportsCorrectDebitCreditSplitsForZeroEndBalance` Cherry-picked from `bugs/tb-totaling-accs` (commits `470ad7c8`, `d24a08cf`, `09e70035`). --------- Co-authored-by: Joshua Martínez Pineda <diegojoshuam@microsoft.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…oft#8831) Backport of microsoft#8310 to `releases/28.1`. Cherry-picks commit bbad0a8. ## Summary - **Root cause**: The UBL schema template used string `"0"` placeholders for numeric fields, causing the MLLM to return locale-formatted strings (e.g. Swedish `"2,34"`) instead of JSON numbers. AL's `AsDecimal()` then stripped the comma, turning `"2,34"` into `234`. - **Fix 1** (`ubl_example.json`): Changed all numeric string `"0"` placeholders to `0` (JSON numbers). - **Fix 2** (`EDocMLLMExtraction-SystemPrompt.md`): Added explicit rule requiring XML decimal format. - **Fix 3** (`EDocMLLMSchemaHelper.Codeunit.al`): Replaced `AsDecimal()` with `Evaluate(…, AsText(), 9)` in `GetDecimal()` for locale-independent parsing. Fixes [AB#640594](https://dynamicssmb2.visualstudio.com/Dynamics%20SMB/_workitems/edit/640594) Co-authored-by: Magnus Hartvig Grønbech <magnushar@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
|
Issue #5584 is not valid. Please make sure you link an issue that exists, is open and is approved. |
…iption fixes (microsoft#8843) #### Summary Backport to `releases/28.1` of the E-Document purchase import improvements: - **Vendor-match telemetry**: emit `E-Doc. Imp. Session Telemetry` signals throughout the prepare-draft pipeline — `Vendor Match Method` (No / GLN / VAT Id / Service Participant / Name and Address / None), `Vendor Info Present`, `Vendor Assignment Source` (Already Assigned / Provider / History / None), and `Vendor Matched By Name Not Address`. - **Name-and-Address fallback fix**: the result of `FindVendorByNameAndAddress` was previously discarded (trailing `;`); it now actually assigns the matched vendor and exits. - **Posting Description fix**: only copy `Posting Description` from the E-Document onto the Purchase Header when it is non-empty, applied after insert so a blank value no longer overwrites the header. - Remove the obsolete `#if not CLEAN26` guard around the `Microsoft.eServices.EDocument.Processing.Import` using statement (now always required). > Note: the `ApplyDefaultPostingDateFromSetup` call present on newer branches does not exist on 28.1 and was intentionally omitted from this backport. #### Work Item(s) Fixes [AB#640638](https://dynamicssmb2.visualstudio.com/Dynamics%20SMB/_workitems/edit/640638) Fixes [AB#640634](https://dynamicssmb2.visualstudio.com/Dynamics%20SMB/_workitems/edit/640634)
The SharePoint connector called GetRequestDigest() via the MS SharePoint
client, which always fetches the form digest from the tenant-root
/_api/contextinfo endpoint. Under Sites.Selected, the app has no
tenant-level rights, so this call is denied with a 403.
Replace CreateDirectory with a direct REST implementation using
System.RestClient that POSTs to the site-scoped {SharePointUrl}/_api/contextinfo
instead. This endpoint is permitted under Sites.Selected as long as the app
has been granted access to the configured site. The folder creation POST
then uses the returned site-scoped digest.
Also extract BuildSharePointAuthorization from InitSharePointClient to
eliminate the duplicated auth-building logic.
598d2b3 to
5706d56
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The SharePoint connector callsGetRequestDigest() via the Microsoft SharePoint client, which always fetches the form digest from the tenant-root _/api/contextinfo endpoint (see SharePointUriBuilder.GetHost(), which strips the site path via \Uri.GetHost()).
Under \Sites.Selected, the app has no tenant-level rights, so this call is denied with a 403. Folder creation then fails even though the app has explicit write access to the configured site.
This PR replaces CreateDirectory with a direct REST implementation that POSTs to the site-scoped _/{SharePointUrl}/api/contextinfo endpoint. This endpoint is permitted under Sites.Selected as long as the app has been granted access to the configured site. The folder creation POST then uses the returned site-scoped digest.
BuildSharePointAuthorization is extracted from InitSharePointClient to eliminate duplicated auth-building logic.
Work Item(s)
Fixes #5584