From 1a67cfd41f42a3a58efce7a3fa1c8c92993e5d08 Mon Sep 17 00:00:00 2001 From: bcbuild-github-agent <137281497+bcbuild-github-agent@users.noreply.github.com> Date: Sun, 22 Sep 2024 23:09:31 -0700 Subject: [PATCH 1/5] [main] Update BCArtifact version. New value: 26.0.24499.0 (#2073) This PR contains the following changes: - Update BCArtifact version. New value: 26.0.24499.0 [AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394) Co-authored-by: mazhelez --- .github/AL-Go-Settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/AL-Go-Settings.json b/.github/AL-Go-Settings.json index 7dd4da19d0..90aa52bab1 100644 --- a/.github/AL-Go-Settings.json +++ b/.github/AL-Go-Settings.json @@ -5,7 +5,7 @@ "runs-on": "windows-latest", "cacheImageName": "", "UsePsSession": false, - "artifact": "https://bcinsider-fvh2ekdjecfjd6gk.b02.azurefd.net/sandbox/26.0.24443.0/base", + "artifact": "https://bcinsider-fvh2ekdjecfjd6gk.b02.azurefd.net/sandbox/26.0.24499.0/base", "country": "base", "useProjectDependencies": true, "repoVersion": "26.0", From 1d9a16406a36be1c699a91ad8f92502ae54dbc2b Mon Sep 17 00:00:00 2001 From: Matti Andreas Nielsen Date: Mon, 23 Sep 2024 13:04:03 +0200 Subject: [PATCH 2/5] Edit In Excel: Fix metadata generation bug when caption name uses `en dash` instead of `em dash` (#2032) #### Summary Apparently in the Norwegian translation and maybe other places captions use `en dash` instead of the traditional `em dash` , I'm not sure if this is on purpose but it does make our integrations a little more complicated to do nicely, e.g. now I will make sure we support it in Edit In Excel, but we could easily have other integrations that breaks on this or will have in the future. Can see the following two screenshots where the first line is using `em dash` and the second line is using `en dash`, where the `en dash` is encoded and the `em dash` is removed. Code: ![image](https://github.com/user-attachments/assets/ea84e70d-66ee-46e6-b031-8dde21471b4b) Result: ![image](https://github.com/user-attachments/assets/506dc9da-fc6d-46b3-aa43-ea47aded264d) #### Work Item(s) Fixes [AB#548471](https://dynamicssmb2.visualstudio.com/Dynamics%20SMB/_workitems/edit/548471/) --- .../src/EditinExcelImpl.Codeunit.al | 32 +++++++++++---- .../src/EditInExcelTest.Codeunit.al | 39 +++++++++++++++++++ 2 files changed, 64 insertions(+), 7 deletions(-) diff --git a/src/System Application/App/Edit in Excel/src/EditinExcelImpl.Codeunit.al b/src/System Application/App/Edit in Excel/src/EditinExcelImpl.Codeunit.al index dd1c018e40..847d04f826 100644 --- a/src/System Application/App/Edit in Excel/src/EditinExcelImpl.Codeunit.al +++ b/src/System Application/App/Edit in Excel/src/EditinExcelImpl.Codeunit.al @@ -28,6 +28,7 @@ codeunit 1482 "Edit in Excel Impl." ExcelFileNameTxt: Text; XmlByteEncodingTok: Label '_x00%1_%2', Locked = true; XmlByteEncoding2Tok: Label '%1_x00%2_%3', Locked = true; + XmlByteEncoding3Tok: Label '%1_%2_%3', Locked = true; procedure EditPageInExcel(PageCaption: Text[240]; PageId: Integer; EditinExcelFilters: Codeunit "Edit in Excel Filters"; FileName: Text) var @@ -100,7 +101,7 @@ codeunit 1482 "Edit in Excel Impl." VarFieldRef := VarKeyRef.FieldIndex(KeyFieldNumber); if not AddedFields.Contains(VarFieldRef.Number) then begin // Make sure we don't add the same field twice - // Add missing key fields at the beginning + // Add missing key fields at the beginning EditinExcelWorkbook.InsertColumn(0, VarFieldRef.Caption, ExternalizeODataObjectName(VarFieldRef.Name)); AddedFields.Add(VarFieldRef.Number); end; @@ -204,6 +205,7 @@ codeunit 1482 "Edit in Excel Impl." StartStr: Text; EndStr: Text; ByteValue: DotNet Byte; + IsByteValueUnderscore: Dictionary of [Integer, Boolean]; begin ConvertedName := Name; @@ -224,17 +226,33 @@ codeunit 1482 "Edit in Excel Impl." CurrentPosition := 1; while CurrentPosition <= StrLen(ConvertedName) do begin - if ConvertedName[CurrentPosition] in ['''', '+'] then begin - ByteValue := Convert.ToByte(ConvertedName[CurrentPosition]); - StartStr := CopyStr(ConvertedName, 1, CurrentPosition - 1); - EndStr := CopyStr(ConvertedName, CurrentPosition + 1); - ConvertedName := StrSubstNo(XmlByteEncoding2Tok, StartStr, Convert.ToString(ByteValue, 16), EndStr); + // Notice in the following line that – (en dash) is not a normal dash (em dash). + // We need to handle this here because at least the norwegian translation uses en dash. + if ConvertedName[CurrentPosition] in ['''', '+', '–'] then begin + if ConvertedName[CurrentPosition] in ['–'] then begin + StartStr := CopyStr(ConvertedName, 1, CurrentPosition - 1); + EndStr := CopyStr(ConvertedName, CurrentPosition + 1); + ConvertedName := StrSubstNo(XmlByteEncoding3Tok, StartStr, 'x2013', EndStr); + // length of _x00nn_ minus one that will be added later + end else begin + ByteValue := Convert.ToByte(ConvertedName[CurrentPosition]); + StartStr := CopyStr(ConvertedName, 1, CurrentPosition - 1); + EndStr := CopyStr(ConvertedName, CurrentPosition + 1); + ConvertedName := StrSubstNo(XmlByteEncoding2Tok, StartStr, Convert.ToString(ByteValue, 16), EndStr); + end; // length of _x00nn_ minus one that will be added later CurrentPosition += 6; + + IsByteValueUnderscore.Add(CurrentPosition, true); end else if ConvertedName[CurrentPosition] in [' ', '\', '/', '"', '.', '(', ')', '-', ':'] then if CurrentPosition > 1 then begin - if ConvertedName[CurrentPosition - 1] = '_' then begin + // The only cases where we allow 2 underscores in succession is when + // we have substituted a symbol with its byte value and when we have an actual underscore + // prefixed with a symbol that should be replaced with underscore. + // This code below removes duplicate underscores but + // needs to not remove underscores that was added via a byte value. + if (ConvertedName[CurrentPosition - 1] = '_') and not IsByteValueUnderscore.ContainsKey(CurrentPosition - 1) then begin ConvertedName := DelStr(ConvertedName, CurrentPosition, 1); CurrentPosition -= 1; end else diff --git a/src/System Application/Test/Edit in Excel/src/EditInExcelTest.Codeunit.al b/src/System Application/Test/Edit in Excel/src/EditInExcelTest.Codeunit.al index 12c51459d7..d0f7f76aac 100644 --- a/src/System Application/Test/Edit in Excel/src/EditInExcelTest.Codeunit.al +++ b/src/System Application/Test/Edit in Excel/src/EditInExcelTest.Codeunit.al @@ -100,16 +100,55 @@ codeunit 132525 "Edit in Excel Test" PlusFieldName: Text; RegularFieldName: Text; FieldNameStartingWDigit: Text; + EnDashFieldName: Text; + EnDashFieldName2: Text; + EnDashFieldName3: Text; + EnDashFieldName4: Text; + ForwardSlashesFieldName: Text; + ManyForwardSlashesFieldName: Text; + ForwardSlashesEmDashesAndUnderscoresFieldName: Text; begin Init(); FieldNameStartingWDigit := EditinExcelTestLibrary.ExternalizeODataObjectName('3field'); RegularFieldName := EditinExcelTestLibrary.ExternalizeODataObjectName('field'); ApostropheFieldName := EditinExcelTestLibrary.ExternalizeODataObjectName('new vendor''s name'); PlusFieldName := EditinExcelTestLibrary.ExternalizeODataObjectName('c+c field'); + + // Both spaces will be converted to underscore and the `en dash` will be converted to _x2013_ + EnDashFieldName := EditinExcelTestLibrary.ExternalizeODataObjectName('lager – reklassfication field'); + + // The special symbol `en dash` will be converted to _x2013_ and the first prefixed space will be a converted + // to an underscore. + EnDashFieldName2 := EditinExcelTestLibrary.ExternalizeODataObjectName('lager –reklassfication field'); + + // The special symbol `en dash` will be converted to _x2013_. + EnDashFieldName3 := EditinExcelTestLibrary.ExternalizeODataObjectName('lager–reklassfication field'); + + // The two forward slashes will be converted to underscores and the `en dash` will be converted to _x2013_. + EnDashFieldName4 := EditinExcelTestLibrary.ExternalizeODataObjectName('lager/–/reklassfication field'); + + // Two forward slashes will have the first replaced with an underscore and the second removed. + ForwardSlashesFieldName := EditinExcelTestLibrary.ExternalizeODataObjectName('lager//reklassfication field'); + + // When we have a lot of forward slashes it only replaces the first one with an underscore and the rest are truncated. + ManyForwardSlashesFieldName := EditinExcelTestLibrary.ExternalizeODataObjectName('lager////////reklassfication field'); + + // The first forward slash will be converted to an underscore, the next underscore does not hit any special case so just + // stays as an underscore, the next forward slash is removed because it follows the rule of not allowing two underscores + // when converting from a special symbol to underscore(unless that special character is translated to a byte value). + ForwardSlashesEmDashesAndUnderscoresFieldName := EditinExcelTestLibrary.ExternalizeODataObjectName('lager/_/-reklassfication field'); + LibraryAssert.AreEqual('field', RegularFieldName, 'Conversion alters name that does not begin with a string'); LibraryAssert.AreEqual('_x0033_field', FieldNameStartingWDigit, 'Did not convert the name with number correctly'); LibraryAssert.AreEqual('new_vendor_x0027_s_name', ApostropheFieldName, 'Did not convert the name with an apostrophe correctly'); LibraryAssert.AreEqual('c_x002b_c_field', PlusFieldName, 'Did not convert the name with a plus correctly'); + LibraryAssert.AreEqual('lager__x2013__reklassfication_field', EnDashFieldName, 'Did not convert the name with an `en dash` with two surrounding spaces correctly'); + LibraryAssert.AreEqual('lager__x2013_reklassfication_field', EnDashFieldName2, 'Did not convert the name with a space before an `en dash` correctly'); + LibraryAssert.AreEqual('lager_x2013_reklassfication_field', EnDashFieldName3, 'Did not convert the name with an `en dash` correctly'); + LibraryAssert.AreEqual('lager__x2013__reklassfication_field', EnDashFieldName4, 'Did not convert the name with forward slashes around `en dash` correctly'); + LibraryAssert.AreEqual('lager_reklassfication_field', ForwardSlashesFieldName, 'Did not convert the name with 2 forward slashes correctly'); + LibraryAssert.AreEqual('lager_reklassfication_field', ManyForwardSlashesFieldName, 'Did not convert the name with many forward slashes correctly'); + LibraryAssert.AreEqual('lager__reklassfication_field', ForwardSlashesEmDashesAndUnderscoresFieldName, 'Did not convert the name with forward slashes, em dash and underscores correctly'); end; [Test] From 01dc8fd6256008199545530f3c396695320838ff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 08:35:23 +0200 Subject: [PATCH 3/5] Bump github/codeql-action from 3.26.7 to 3.26.8 in /.github/workflows (#2077) Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.7 to 3.26.8.
Changelog

Sourced from github/codeql-action's changelog.

CodeQL Action Changelog

See the releases page for the relevant changes to the CodeQL CLI and language packs.

Note that the only difference between v2 and v3 of the CodeQL Action is the node version they support, with v3 running on node 20 while we continue to release v2 to support running on node 16. For example 3.22.11 was the first v3 release and is functionally identical to 2.22.11. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers.

[UNRELEASED]

No user facing changes.

3.26.8 - 19 Sep 2024

  • Update default CodeQL bundle version to 2.19.0. #2483

3.26.7 - 13 Sep 2024

  • Update default CodeQL bundle version to 2.18.4. #2471

3.26.6 - 29 Aug 2024

  • Update default CodeQL bundle version to 2.18.3. #2449

3.26.5 - 23 Aug 2024

  • Fix an issue where the csrutil system call used for telemetry would fail on MacOS ARM machines with System Integrity Protection disabled. #2441

3.26.4 - 21 Aug 2024

  • Deprecation: The add-snippets input on the analyze Action is deprecated and will be removed in the first release in August 2025. #2436
  • Fix an issue where the disk usage system call used for telemetry would fail on MacOS ARM machines with System Integrity Protection disabled, and then surface a warning. The system call is now disabled for these machines. #2434

3.26.3 - 19 Aug 2024

  • Fix an issue where the CodeQL Action could not write diagnostic messages on Windows. This issue did not impact analysis quality. #2430

3.26.2 - 14 Aug 2024

  • Update default CodeQL bundle version to 2.18.2. #2417

3.26.1 - 13 Aug 2024

No user facing changes.

3.26.0 - 06 Aug 2024

  • Deprecation: Swift analysis on Ubuntu runner images is no longer supported. Please migrate to a macOS runner if this affects you. #2403
  • Bump the minimum CodeQL bundle version to 2.13.5. #2408

3.25.15 - 26 Jul 2024

... (truncated)

Commits
  • 294a9d9 Merge pull request #2490 from github/update-v3.26.8-64431c66d
  • 00b3604 Update changelog for v3.26.8
  • 64431c6 Merge pull request #2483 from github/update-bundle/codeql-bundle-v2.19.0
  • e0e2d75 Merge branch 'main' into update-bundle/codeql-bundle-v2.19.0
  • cb28816 Merge pull request #2487 from rvermeulen/rvermeulen/uri-errors-as-warnings
  • 498c508 Rebuild JavaScript files
  • a1a585f Merge branch 'main' into rvermeulen/uri-errors-as-warnings
  • 34666c1 Merge pull request #2488 from github/henrymercer/debug-artifacts-better-logging
  • 6e24973 Improve logging for combined SARIF debug artifact
  • d0a3cf2 Improve logging for debug artifacts
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github/codeql-action&package-manager=github_actions&previous-version=3.26.7&new-version=3.26.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
[AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/MSDO.yml | 2 +- .github/workflows/powershell.yaml | 2 +- .github/workflows/scorecard-analysis.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/MSDO.yml b/.github/workflows/MSDO.yml index 7ef2ea4d17..66d8889196 100644 --- a/.github/workflows/MSDO.yml +++ b/.github/workflows/MSDO.yml @@ -27,6 +27,6 @@ jobs: tools: credscan - name: Upload results to Security tab - uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7 + uses: github/codeql-action/upload-sarif@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8 with: sarif_file: ${{ steps.credscan.outputs.sarifFile }} diff --git a/.github/workflows/powershell.yaml b/.github/workflows/powershell.yaml index 86df1b6ec2..16cfd28f50 100644 --- a/.github/workflows/powershell.yaml +++ b/.github/workflows/powershell.yaml @@ -34,6 +34,6 @@ jobs: # Upload the SARIF file generated in the previous step - name: Upload SARIF results file - uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7 + uses: github/codeql-action/upload-sarif@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8 with: sarif_file: results.sarif diff --git a/.github/workflows/scorecard-analysis.yml b/.github/workflows/scorecard-analysis.yml index 25f9fb13f8..fed27e3d66 100644 --- a/.github/workflows/scorecard-analysis.yml +++ b/.github/workflows/scorecard-analysis.yml @@ -29,6 +29,6 @@ jobs: results_format: sarif - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v2.16.4 + uses: github/codeql-action/upload-sarif@294a9d92911152fe08befb9ec03e240add280cb3 # v2.16.4 with: sarif_file: results.sarif From 101390965cc893c65b7c0a818642108dae4c7554 Mon Sep 17 00:00:00 2001 From: bcbuild-github-agent <137281497+bcbuild-github-agent@users.noreply.github.com> Date: Mon, 23 Sep 2024 23:41:38 -0700 Subject: [PATCH 4/5] [main] Update BCArtifact version. New value: 26.0.24595.0 (#2087) This PR contains the following changes: - Update BCArtifact version. New value: 26.0.24595.0 [AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394) Co-authored-by: mazhelez --- .github/AL-Go-Settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/AL-Go-Settings.json b/.github/AL-Go-Settings.json index 90aa52bab1..c8694c693f 100644 --- a/.github/AL-Go-Settings.json +++ b/.github/AL-Go-Settings.json @@ -5,7 +5,7 @@ "runs-on": "windows-latest", "cacheImageName": "", "UsePsSession": false, - "artifact": "https://bcinsider-fvh2ekdjecfjd6gk.b02.azurefd.net/sandbox/26.0.24499.0/base", + "artifact": "https://bcinsider-fvh2ekdjecfjd6gk.b02.azurefd.net/sandbox/26.0.24595.0/base", "country": "base", "useProjectDependencies": true, "repoVersion": "26.0", From 7c9f076c4d15e195889f4d73eb79fb66c5a18f56 Mon Sep 17 00:00:00 2001 From: bcbuild-github-agent <137281497+bcbuild-github-agent@users.noreply.github.com> Date: Mon, 23 Sep 2024 23:44:28 -0700 Subject: [PATCH 5/5] [main] Update app baselines package version. New value: 25.1.24594.0 (+ 1 more update(s)) (#2082) This PR contains the following changes: - Update app baselines package version. New value: 25.1.24594.0 - Update translation package version. New value: 26.0.20240919.5 [AB#539394](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/539394) Co-authored-by: aholstrup1 --- build/Packages.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/Packages.json b/build/Packages.json index c256482086..681822ccc1 100644 --- a/build/Packages.json +++ b/build/Packages.json @@ -1,10 +1,10 @@ { "Microsoft.Dynamics.BusinessCentral.Translations": { - "Version": "26.0.20240916.5", + "Version": "26.0.20240919.5", "Source": "NuGet.org" }, "AppBaselines-BCArtifacts": { - "Version": "25.1.24274.0", + "Version": "25.1.24594.0", "Source": "BCArtifacts", "_comment": "Used to fetch app baselines from BC artifacts" }