LINQPad 5 - Release Notes

LINQPad 5 targets .NET Framework 4.6/4.7/4.8.

What's New in 5.47

  • A graphics rendering issue triggered by Windows 11 22H2 has been fixed.
  • The "Replace All" editor command is now faster with large documents.
  • LINQPad's logic for setting column widths in data grids has been improved.
  • The selected query tab is now rendered more clearly in Windows 11. You can revert to the native flat-style renderer in Edit | Preferences > Advanced.
  • The vi emulator's ci{ command now positions the cursor favorably, and an intermittent problem in the implementation of 'kj' to escape insertion mode has been fixed.
  • End-of-line semantic parsing errors, such as missing semicolons, now generate red squigglies.
  • The Util.ToExpando method now has an includePrivate option to include non-public properties and fields.
  • The tooltips for null-valued booleans now display correctly in data grids.
  • The lambda translation tab now resets correctly before execution when previously unshown.
  • The maximum editable length for text fields in SQL databases (when editing data interactively) has been increased to 60,000 characters.
  • The Find dialog now works with SQL translation text, too. Just focus the control and use the standard menu options or shortcut keys (Ctrl+F, F3, Shift+F3 and Ctrl+I).
  • LINQPad 5's built-in ILSpy has been updated to V7.2.
  • A memory leak when working with F# queries has been fixed.

What's New in 5.46

  • LINQPad's NuGet package manager has been upgraded for improved package compatibility.
  • You can now view all queries in the Navigate To dialog (Ctrl+,), by clearing the search box.
  • You can now suppress the "// Define other methods and classes" comment when switching to C# Program mode via an option in Edit | Preferences > Advanced.
  • LINQPad 5's built-in ILSpy has been updated to V7.1.
  • The code editor's split button above the vertical scrollbar is now larger and better rendered.
  • LINQPad's Control class now has a CssClass property.
  • Execution times are now displayed for asynchronous queries that fault.
  • There's now limited support for the Microsoft.Data.SqlClient NuGet package.
  • A bug when joining SQL tables whose key column names differ only in case has been fixed.
  • A bug in the autocompletion listing when accessing an indexer that follows an invocation has been fixed.

What's New in 5.44

  • Parameter autocompletion now provides listings when calling base() and this() from the constructor.
  • Autocompletion tips on extension methods now include markup for the receiver.
  • LPRun now always uses UTF-8 text encoding instead of the Windows default.
  • The editor's Navigate Back feature Ctrl+Minus is now robust to text changes.
  • Customizations to the results style sheet can now be portablized.
  • There's a new Collapse all but this option on the connection treeview's context menu.
  • There's a new hotkey Alt+Shift+Y to toggle the enabling of 'My Extensions' for a query.
  • LINQPad can now dump objects with exception-throwing type or property attributes.
  • Pointer-type fields or properties are now automatically dereferenced when dumping.
  • LINQPad now supports Azure Synapse Analytics databases.
  • LINQPad now ships with ILSpy 6.2.
  • The Navigate to Query dialog (Ctrl+,) now includes a clickable Last Modified column.
  • Util.Highlight now has additional overloads for consistency with LINQPad 6.
  • A UI bug when canceling async queries has been fixed.
  • A bug in Util.Dif with extra list elements not highlighting has been fixed.
  • A bug when calling Util.Dif with Observables has been fixed.
  • The hotkeys for Copy/plain and Copy/markdown down work reliably.
  • Data grids with 3-state checkboxes now export correctly to Excel with "True" and "False".
  • The editor no longer adds spaces to blank lines when indenting a block.
  • A potential deadlock in Util.Run, which could cause it to hang, has been fixed.

What's New in 5.43

  • LINQPad 5 now lets you search for prerelease packages in custom ProGet feeds.
  • The 'Open in SSMS' feature is now more robust and works with the latest SSMS versions.
  • There's a new Util.WithHeading method to let you dump non-toplevel objects with headings.
  • You can now reliably dump HTML that contains a <script> tag - either via the Util.RawHtml method, or LINQPad's Literal control:
    var literal = new LINQPad.Controls.Literal ("script", "function foo(x) { alert(x) }").Dump();
    To invoke a Javascript function from your C# query:
    literal.HtmlElement.InvokeScript (true, "foo", "test");
    To help with debugging, you can write to LINQPad's output window from a script as follows:
    LINQPad 6 has additional features to help with scripting, including the ability to inject scripts and styles into the <head> element.
  • A memory leak that would sometimes surface when keeping LINQPad running over long periods of time has been fixed.
  • A bug which would sometimes cause the 'Add Namespace' and 'Implement Interface' code fixes to fail has been fixed.
  • A StringBuilder fragmentation issue that can lead to poor editor performance after a long series of edits has been fixed.
  • An intermittent ArgumentOutOfRangeException when dumping to data grids has been fixed.
  • A parameter autocompletion bug when extension method classes are present has been fixed.

Download LINQPad 5 - Standard X86

The standard X86 build lets you reference 32-bit assemblies.

Download LINQPad 5 (installer)
Download LINQPad 5 (xcopy-deploy)

Download LINQPad 5 - X64

The 64-bit build ("Any CPU") lets you use all available memory.

Download LINQPad 5 X64 (installer)
Download LINQPad 5 X64 (xcopy-deploy)

LINQPad 5 - Latest Beta

LINQPad 5.47 is now RTM.