From 34525f9211380aff19208f7e5efc801d7356b7c7 Mon Sep 17 00:00:00 2001 From: Daniel Otykier Date: Fri, 21 Feb 2025 15:08:59 +0100 Subject: [PATCH] added release notes for 3.20.0 (#152) * added release notes for 3.20.0 * minor fixes --- _site/staticwebapp.config.json | 2 +- images/code-action-tooltip.png | Bin 0 -> 18322 bytes te3/features/code-actions.md | 4 ++ te3/other/downloads.md | 59 ++++++----------- te3/other/release-history.md | 7 ++ te3/other/release-notes/3_20_0.md | 104 ++++++++++++++++++++++++++++++ 6 files changed, 135 insertions(+), 41 deletions(-) create mode 100644 images/code-action-tooltip.png create mode 100644 te3/other/release-notes/3_20_0.md diff --git a/_site/staticwebapp.config.json b/_site/staticwebapp.config.json index 9c6ee0f3..242c2fd1 100644 --- a/_site/staticwebapp.config.json +++ b/_site/staticwebapp.config.json @@ -2,7 +2,7 @@ "routes": [ { "route": "/te3/other/release-notes", - "redirect": "/te3/other/release-notes/3_19_0.html", + "redirect": "/te3/other/release-notes/3_20_0.html", "statusCode": 302 }, { diff --git a/images/code-action-tooltip.png b/images/code-action-tooltip.png new file mode 100644 index 0000000000000000000000000000000000000000..f1f8bc77adf33ba8cd478fd45aabeb1f765dda64 GIT binary patch literal 18322 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 literal 0 HcmV?d00001 diff --git a/te3/features/code-actions.md b/te3/features/code-actions.md index 730f7b66..d38b48ef 100644 --- a/te3/features/code-actions.md +++ b/te3/features/code-actions.md @@ -46,6 +46,10 @@ Lastly, a lightbulb or screwdriver icon is shown in the editor's left margin whe ![Code Actions Margin](~/images/code-action-margin.png) +When you hover the mouse cursor over an action in the Code Actions menu, a tooltip will show more information about the action. Click the "Learn more" link, to view the knowledge-base (KB) article for the action. + +![Code Action Tooltip](~/images/code-action-tooltip.png)] + ## Code Action indicators **Improvements** and **Readability** Code Actions will also be indicated visually in the code editor. This lets you quickly determine which parts of your code can be improved or made more readable. diff --git a/te3/other/downloads.md b/te3/other/downloads.md index 75bd7db7..5e2c0afe 100644 --- a/te3/other/downloads.md +++ b/te3/other/downloads.md @@ -2,7 +2,7 @@ uid: downloads title: All downloads author: Daniel Otykier -updated: 2024-12-19 +updated: 2025-02-21 --- # Tabular Editor 3 Downloads @@ -10,21 +10,21 @@ This page provides download and installation instructions for Tabular Editor 3. ## Latest version -Tabular Editor 3.19.0 **.NET 8** downloads: +Tabular Editor 3.20.0 **.NET 8** downloads: -- Download [Tabular Editor 3.19.0 (64 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.Installer.x64.Net8.exe) *(recommended)* -- Download [Tabular Editor 3.19.0 (32 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.Installer.x86.Net8.exe) -- Portable versions: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x86.Net8.zip) -- MSI version: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x86.Net8.msi) +- Download [Tabular Editor 3.20.0 (64 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x64.Net8.exe) *(recommended)* +- Download [Tabular Editor 3.20.0 (32 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x86.Net8.exe) +- Portable versions: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.Net8.zip) +- MSI version: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.Net8.msi) -Tabular Editor 3.19.0 **.NET 6** downloads: +Tabular Editor 3.20.0 **.NET 6** downloads: -- Download [Tabular Editor 3.19.0 (64 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.Installer.x64.exe) -- Download [Tabular Editor 3.19.0 (32 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.Installer.x86.exe) -- Portable versions: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x64.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x86.zip) -- MSI version: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x64.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x86.msi) +- Download [Tabular Editor 3.20.0 (64 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x64.exe) +- Download [Tabular Editor 3.20.0 (32 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x86.exe) +- Portable versions: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.zip) +- MSI version: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.msi) -Read the [latest release notes](release-notes/3_19_0.md). +Read the [latest release notes](release-notes/3_20_0.md). > [!NOTE] > As of Tabular Editor 3.17.0, our portable builds now include the .NET Desktop Runtime, so you no longer need to install the .NET Desktop Runtime separately when using the portable version. Also note that we now provide separate downloads for .NET 6 and .NET 8 versions of Tabular Editor 3. We recommend using .NET 8 going forward, as .NET 6 will be deprecated in the near future. @@ -39,6 +39,13 @@ It is not necessary to remove previous installations when upgrading to a newer v ## History +- 2025-02-21 **Tabular Editor 3.20.0** (*[Release notes](release-notes/3_20_0.md)*) + - .NET 8 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x64.Net8.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x86.Net8.exe) + - .NET 8 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.Net8.zip) + - .NET 8 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.Net8.msi) + - .NET 6 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x64.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x86.exe) + - .NET 6 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.zip) + - .NET 6 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.msi) - 2024-12-19 **Tabular Editor 3.19.0** (*[Release notes](release-notes/3_19_0.md)*) - .NET 8 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.Installer.x64.Net8.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.Installer.x86.Net8.exe) - .NET 8 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x86.Net8.zip) @@ -53,33 +60,5 @@ It is not necessary to remove previous installations when upgrading to a newer v - .NET 6 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.2.Installer.x64.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.2.Installer.x86.exe) - .NET 6 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.2.x64.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.2.x86.zip) - .NET 6 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.2.x64.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.2.x86.msi) -- 2024-11-11 **Tabular Editor 3.18.1** (*[Release notes](release-notes/3_18_1.md)*) - - .NET 8 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.Installer.x64.Net8.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.Installer.x86.Net8.exe) - - .NET 8 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.x86.Net8.zip) - - .NET 8 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.x86.Net8.msi) - - .NET 6 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.Installer.x64.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.Installer.x86.exe) - - .NET 6 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.x64.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.x86.zip) - - .NET 6 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.x64.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.1.x86.msi) -- 2024-10-31 **Tabular Editor 3.18.0** (*[Release notes](release-notes/3_18_0.md)*) - - .NET 8 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.Installer.x64.Net8.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.Installer.x86.Net8.exe) - - .NET 8 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.x86.Net8.zip) - - .NET 8 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.x86.Net8.msi) - - .NET 6 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.Installer.x64.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.Installer.x86.exe) - - .NET 6 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.x64.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.x86.zip) - - .NET 6 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.x64.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.18.0.x86.msi) -- 2024-08-22 **Tabular Editor 3.17.1** (*[Release notes](release-notes/3_17_1.md)*) - - .NET 8 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.Installer.x64.Net8.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.Installer.x86.Net8.exe) - - .NET 8 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.x86.Net8.zip) - - .NET 8 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.x86.Net8.msi) - - .NET 6 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.Installer.x64.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.Installer.x86.exe) - - .NET 6 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.x64.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.x86.zip) - - .NET 6 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.x64.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.1.x86.msi) -- 2024-08-14 **Tabular Editor 3.17.0** (*[Release notes](release-notes/3_17_0.md)*) - - .NET 8 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.Installer.x64.Net8.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.Installer.x86.Net8.exe) - - .NET 8 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.x86.Net8.zip) - - .NET 8 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.x86.Net8.msi) - - .NET 6 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.Installer.x64.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.Installer.x86.exe) - - .NET 6 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.x64.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.x86.zip) - - .NET 6 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.x64.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.17.0.x86.msi) For earlier builds, see the [full release history](release-history.md). diff --git a/te3/other/release-history.md b/te3/other/release-history.md index a8a66e97..8ff1fa2b 100644 --- a/te3/other/release-history.md +++ b/te3/other/release-history.md @@ -1,5 +1,12 @@ # Full release history +- 2025-02-21 **Tabular Editor 3.20.0** (*[Release notes](release-notes/3_20_0.md)*) + - .NET 8 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x64.Net8.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x86.Net8.exe) + - .NET 8 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.Net8.zip) + - .NET 8 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.Net8.msi) + - .NET 6 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x64.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x86.exe) + - .NET 6 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.zip) + - .NET 6 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.msi) - 2024-12-19 **Tabular Editor 3.19.0** (*[Release notes](release-notes/3_19_0.md)*) - .NET 8 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.Installer.x64.Net8.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.Installer.x86.Net8.exe) - .NET 8 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.19.0.x86.Net8.zip) diff --git a/te3/other/release-notes/3_20_0.md b/te3/other/release-notes/3_20_0.md new file mode 100644 index 00000000..2ed7fd49 --- /dev/null +++ b/te3/other/release-notes/3_20_0.md @@ -0,0 +1,104 @@ +--- +uid: release-3-20-0 +--- +# Tabular Editor 3.20.0 + +# [**Downloads**](#tab/downloads) + +Tabular Editor 3.20.0 **.NET 8** downloads: + +- Download [Tabular Editor 3.20.0 (64 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x64.Net8.exe) *(recommended)* +- Download [Tabular Editor 3.20.0 (32 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x86.Net8.exe) +- Portable versions: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.Net8.zip) +- MSI version: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.Net8.msi) + +Tabular Editor 3.20.0 **.NET 6** downloads: + +- Download [Tabular Editor 3.20.0 (64 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x64.exe) +- Download [Tabular Editor 3.20.0 (32 bit)](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x86.exe) +- Portable versions: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.zip) +- MSI version: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.msi) + +*If you haven't used Tabular Editor 3 before, you are eligible to a 30 day trial, which can be activated after installation. You can also [purchase a license](https://tabulareditor.com/licensing).* + +# [**SHA-256 checksums**](#tab/checksums) + +| File | .NET runtime | Platform | SHA-256 | +| -- | -- | -- | -- | +| [TabularEditor.3.20.0.Installer.x64.Net8.exe](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x64.Net8.exe) | .NET 8 | 64 bit | `83CBB55530B1C94EAD82279BBDE519C8CF5072900C8A39003333D0C9C4D23B43` | +| [TabularEditor.3.20.0.x64.Net8.msi](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.Net8.msi) | .NET 8 | 64 bit | `5955231905469FD8277D231BD37CCFD8BFE033B99697F24EF719C65E1DC016C3` | +| [TabularEditor.3.20.0.x64.Net8.zip](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.Net8.zip) | .NET 8 | 64 bit | `616F22AB2171FE2D124F4DBDC3A7F0F98A2595E6DA26EE5FEE234733774BA37A` | +| [TabularEditor.3.20.0.Installer.x86.Net8.exe](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x86.Net8.exe) | .NET 8 | 32 bit | `1EAE29193D0ED2C52CC90EEC934D54ACEF29661C21E99B025B674CA84B8B145B` | +| [TabularEditor.3.20.0.x86.Net8.msi](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.Net8.msi) | .NET 8 | 32 bit | `0354F284B3BB840412353D411448BAD91404A2074D396F569404475E49F0D8F2` | +| [TabularEditor.3.20.0.x86.Net8.zip](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.Net8.zip) | .NET 8 | 32 bit | `F3D34928438B2AA2D7C7FDFA986F12E98B75B8F859D88C5DA2252A784AE5D33D` | +| [TabularEditor.3.20.0.Installer.x64.exe](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x64.exe) | .NET 6 | 64 bit | `44A9C8CD761481697C4E63ED9339ABCE1F7152C7C7DB768C39FBFDB1AA722B83` | +| [TabularEditor.3.20.0.x64.msi](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.msi) | .NET 6 | 64 bit | `38915835586F50528EE48C824BCEFE4EAFFF79CB4A6606CD257E750EEB3E1C7B` | +| [TabularEditor.3.20.0.x64.zip](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x64.zip) | .NET 6 | 64 bit | `F018EC31AACF827585BB45FB53154D7FF386744974EAF53DD31CB2C4B0DB844B` | +| [TabularEditor.3.20.0.Installer.x86.exe](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.Installer.x86.exe) | .NET 6 | 32 bit | `127D7B9EB5E15A5402C47A1E1549FCCB47CA29834F86FD82D89975E56B4A1055` | +| [TabularEditor.3.20.0.x86.msi](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.msi) | .NET 6 | 32 bit | `9C57F93CD7EF886FCF4D6E07499C2654C518445B1C66B9B91600B09147AD4730` | +| [TabularEditor.3.20.0.x86.zip](https://cdn.tabulareditor.com/files/TabularEditor.3.20.0.x86.zip) | .NET 6 | 32 bit | `E153D2E21EF72C23C741DA456A1926CA324F4B19CB07804E778C62DEDA24472A` | + +*** + +> [!IMPORTANT] +> .NET 6 is [out-of-support as of November 2024](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core). If you are not able to install the [.NET 8 Desktop runtime](https://dotnet.microsoft.com/en-us/download/dotnet/8.0/runtime) now, please contact your IT organization, as we will stop providing .NET 6 builds of Tabular Editor 3 during 2025. Alternatively, use our portable builds, which include the required .NET runtime. + +## New in 3.20.0 + +Check out our [release blog](https://blog.tabulareditor.com/) to get a brief overview of the most important updates in this release. + +## Improvements in 3.20.0 + +- All [code actions](xref:code-actions) now show a tooltip in the context menu when hovering over the menu item, with a short description of the action. The tooltip also contains a link to a knowledge-base (KB) article with more information about the action. +- We've also added a few new code actions in this release, based on popular demand. For example, we will now suggest that you use the `IN` operator instead of using a compound expression with `OR` / `||`. View the [full list of available code actions here](xref:code-actions#list-of-code-actions). +- Introduced a new user interface preference labeled "Use compact file paths" to toggle between displaying compact (shortened) file paths and full file paths in the Recent Files and Recent Models menus. +- When editing a model that's loaded in Power BI Desktop (January 2025 or newer), Tabular Editor will now let you edit any object and property by default, except tables and partitions, in alignment with the modeling operations supported by the new [TMDL View](https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-tmdl-view) in Power BI Desktop. +- When changing the DAX expression of a calculated table, Tabular Editor 3 will now attempt to infer the resulting columns of the table, even if the expression has an error. +- A new DAX Query preference labeled "Keep existing sorting and filtering in the result grid" has been added to the DAX Query menus and toolbar, allowing users to control how sorting and filtering are preserved in the result grids between query executions. +- We've made several improvements to our **Diagram View**. Most importantly, it now renders much faster, especially when many tables/relationships are present. But there are also several visual tweaks. +- We've improved the C# auto-complete feature, so that it now shows only items that are relevant for the current target. For example, if you type `Selected.Column.DataType = `, the listbox will now only show the valid [`DataType` enum values](https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.datatype?view=analysisservices-dotnet#fields). Moreover, if the same type exists in different namespaces, we now show the namespace in a parenthesis, to disambiguate the items in the list. +- Updated AMO/TOM to the latest version [19.88.3](https://www.nuget.org/packages/Microsoft.AnalysisServices/). + +## Bugfixes in 3.20.0 + +- The **Rewrite using ISBLANK** DAX Code Action will no longer trigger when using non-strict equality comparisons, e.g. `x = BLANK()`, as this is semantically different from `ISBLANK(x)`. +- Various bugfixes for unhandled exceptions in the DAX Editor. +- The Semantic Analyzer now correctly shows an error message if using a group-by column within a call to [`SUMMARIZE`](https://dax.guide/summarize), which has no relation to the base table. +- When creating VPAX files through the **DAX Optimizer** view, we will now use the **Full** extraction mode for Direct Lake models, producing a VPAX file that is valid for DAX Optimizer analysis. +- Various Pivot Grid bugfixes and stability improvements. +- Fixed a bug where unassigning/resetting an Editor shortcut, would not be effective until restarting the application. +- Fixed a bug where certain editor shortcuts (such as "Duplicate Line (Ctrl+D)") would trigger an action in the TOM Explorer with the same key binding, even when the editor was focused. +- Fixed a bug where adding a level to a hierarchy in a Power BI Desktop model, would not include the column reference, causing an error when attempting to save the change. +- Fixed a bug that would cause a crash when executing a DAX script containing certain syntax or errors. +- Creating and editing DAX scripts should no longer cause the UI to lock up, which could happen when the script contained syntax or semantic errors. +- Fixed a bug that would sometimes cause the **Data Refresh** view to lock up/crash while a refresh was in progress. +- Fixed a bug causing a crash when loading a model and then navigating to a partition with a [Data Coverage Definition](https://learn.microsoft.com/en-us/analysis-services/tom/table-partitions?view=asallproducts-allversions#define-the-data-coverage-of-the-directquery-partition). +- The auto-complete feature of C# scripts should now work correctly when making multiple insertions in the script, such as in [#1327](https://github.com/TabularEditor/TabularEditor3/issues/1327). +- Hitting F12 (Go to Definition) on a measure format string expression reference, will now correctly navigate to the referenced measure's format string expression property, rather than the base expression property. +- Fixed an issue with our Semantic Analyzer, that didn't correctly detect when a relationship was activated by the [`USERELATIONSHIP`](https://dax.guide/userelationship) function. +- Fixed an issue with false circular dependency errors appearing while editing the DAX of calculated columns. +- Fixed a bug that prevented **TE3 Business Edition** license holders to connect to Power BI Premium-Per-User (PPU) workspaces, in some regions. + +--- +## Coming from Tabular Editor 2.x? + +Watch [this video](https://youtu.be/O4ATwdzCvWc) to get a quick tour of the main features in Tabular Editor 3. Also, make sure to check our [onboarding guide](https://docs.tabulareditor.com/onboarding/index.html). + +**Tabular Editor 3 major features overview:** +- Fully customizable IDE, with multi-monitor, Hi-DPI support and themes +- New powerful DAX code editor with auto-complete, syntax checking, code folding and much, much more +- *Workspace mode, allowing you to save your changes to disk and synchronise model metadata to Analysis Services simultaneously +- *Preview table data with infinite scrolling, create PivotGrids or write DAX queries to browse the model or test calculation logic +- *Schedule data refreshes +- Update Table Schemas on both Provider and Structured Data Sources (yes, even for M queries!) +- Create data model diagrams +- Create DAX scripts that allow you to edit multiple measures or other calculated objects in a single document +- Record C# scripts and save as macros (formerly known as "Custom Actions") +- VertiPaq Analyzer integration +- DAX debugger +- DAX Optimizer integration +- Code Actions to easily refactor you DAX. + +*=Only while connected to an instance of Analysis Services or Power BI + +---