Releases: Excel-DNA/ExcelDna
Excel-DNA v1.7.0
Excel-DNA v1.7.0 - Release Notes
The main updates for this release are the following.
- Expanded support for SDK-style project files (targeting both .NET Framework 4.x and .NET 6).
- Support for packing native dependencies.
- Automatic dependency detection for packed add-ins under .NET 6.
- Improved robustness and better error messages during add-in startup.
- Improved COM Server build and packing support using DsCom.
- Added simple logging configuration under .NET 6.
This release is recommended for all Excel-DNA add-ins. Projects should migrate to newer the SDK-style project files, whether targeting .NET Framework 4.x or .NET 6.
Runtime support
Excel-DNA v1.7.0 supports:
- .NET Framework (v4.6.2 or later), and
- .NET 6 (v6.0.2 or later) with the '.NET 6 Desktop Runtime' installed.
Support for newer .NET runtimes will follow in a future Excel-DNA version.
It is recommended that add-ins to be distributed outside a company, or that will run in a less controlled software environment with other add-ins, continue to target .NET Framework 4.x. This has the advantage of a stable runtime that need not be separately installed and serviced, and being able to load without interfering with other add-ins.
Add-ins targeting .NET 6 may be unexpectedly disabled by future add-ins targeting a newer version of .NET, or conversely might block other add-ins that target a newer version. Hence, some care should be taken where such add-ins are externally distributed for use as third-party add-ins in.
Installation
Excel-DNA add-in are most easily created by installing the 'ExcelDna.AddIn' package from NuGet.
An archive file containing the library outputs and the two main NuGet packages are attached to this GitHub Release as an alternative distribution option to the NuGet package sources.
Support
The preferred support channel for Excel-DNA is the Excel-DNA Google Group. Direct corporate support agreements are also available, for those using Excel-DNA in a mission critical setting, or who would like easy access to direct support.
Sponsorship
Excel-DNA is registered on GitHub Sponsors. All contributions are used to fund further development.
Thanks
A big thank you to our donors, sponsors and corporate support customers. Your support is crucial in keeping this project alive and up-to-date.
Thanks to everyone who has participated by asking questions, contributing to discussions, submitting fixes to the repository, or helping spread the word about our library. A shout-out to Sagi Shahar for helping to consolidate the website and documentation fragments into one place.
A very special thanks goes to Sergey Vlasov for doing most of the development work in recent years. Sergey also creates a great family of Visual Studio extensions and tools worth checking out.
And finally, and most importantly, thank you to all the developers and Excel user who use Excel-DNA, whether it's just occasionally or every day. You are the reason this project exists.
Govert van Drimmelen
[email protected]
12 December 2023
Excel-DNA v1.1.1
Excel-DNA version 1.1 implements workarounds for two recent changes in Excel behaviour:
- RTD servers based on
ExcelRtdServer
, and streaming functions based onIExcelObservable
stopped updating after recent (early 2020) Excel updates. - When loaded into an elevated Excel process (running As Administrator) the on-demand COM registration (used for ribbon and CTP loading) started failing (mid 2020).
The update also introduces strong-naming of the Excel-DNA assemblies (thanks @augustoproiete).
You can find a full list of changes included in this release is on the v1.1 milestone.
Version 1.1 is intended to be the final version of Excel-DNA to support legacy .NET Framework (< 4.5) and Excel (< 2007) releases.
Please ask questions and provide feedback via the Excel-DNA Google group.
Excel-DNA v1.0.0
Version 1.0 will be the final version to support legacy .NET Framework (< 4.0) and Excel (< 2007) releases.
The update includes a number of bug fixes as well as improvements to the build-time Visual Studio integration:
- Improve build tasks - more reliable clean-up and debugger detection (thanks to @augustoproiete)
- Improve RTD and async
QueueAsMacro
reliability - Improve install process of
ExcelDna.AddIn
NuGet package (now requires NuGet 2.5) (thanks to @augustoproiete) - Change how
ExcelDnaUtil.Application
works in Protected View - try harder but don't cache - Call
UnhandledExceptionHandler
for macros (ExcelCommands
) too - Add XML schema for
.dna
file (thanks to @augustoproiete) - Add option to pack
.pdb
files (thanks to @lanfeust69) - Fix exception handling from native async functions (thanks to @ittegrat)
Excel-DNA v1.0.0-rc1
Version 1.0 will be the final version to support legacy .NET Framework (< 4.0) and Excel (< 2007) releases.
The update includes a number of bug fixes as well as improvements to the build-time Visual Studio integration:
- Improve build tasks - more reliable clean-up and debugger detection (thanks to @augustoproiete)
- Improve RTD and async
QueueAsMacro
reliability - Improve install process of
ExcelDna.AddIn
NuGet package (now requires NuGet 2.5) (thanks to @augustoproiete) - Change how
ExcelDnaUtil.Application
works in Protected View - try harder but don't cache - Call
UnhandledExceptionHandler
for macros (ExcelCommands
) too - Add XML schema for
.dna
file (thanks to @augustoproiete) - Add option to pack
.pdb
files (thanks to @lanfeust69) - Fix exception handling from native async functions (thanks to @ittegrat)
Excel-DNA v0.34.6
Version 0.34 introduces a much improved build procedure for add-ins created using the NuGet package (thanks to a fantastic work by @augustoproiete !) This replaces the error-prone post-build steps we had with a custom build helper and allows easier build output customization.
Various bug fixes and smaller improvements are also included in this version:
- Add
ExplicitExports="false"
to NuGet .dna file template - Fix getting Application from
ProtectedViewWindow
- Add attempts to get Application object from all windows of class
EXCEL7
. - Fix
ExcelAsyncUtil.Observe
re-open restart - broken by other fixes in the previous version. Add option to not restart. - Change
ExcelRtdServer.ConnectData
to be more careful about raising an update notice. Calls toTopic.UpdateNotify
during theConnectData
overload are now always ignored. If the topic value is updated (throughTopic.UpdateValue
) duringConnectData
, and the same value is returned fromConnectData
, then no spuriousUpdateNotify
is raised. If the value returned fromConnectData
differs from Topic.Value,UpdateNotify
will still be raised. - Allow
AccessViolation
exceptions to be caught under .NET 4.0 - change marshaling wrapper fromDynamicMethod
toMethodBuilder
. - Fix
QueueAsMacro
failure after paste live preview. - Fix
AssemblyResolve
re-entrancy race condition.
The easiest way to create an Excel-DNA add-in is by creating a class library project in Visual Studio and then installing the ExcelDna.AddIn
NuGet package.
Excel-DNA v0.34.5-rc5
This is a release candidate for Excel-DNA v0.34.
Version 0.34 introduces a much improved build procedure for add-ins created using the NuGet package (thanks to a fantastic work by @augustoproiete !) This replaces the error-prone post-build steps we had with a custom build helper and allows easier build output customization.
Various bug fixes and smaller improvements are also included in this version:
- Add
ExplicitExports="false"
to NuGet .dna file template - Fix getting Application from
ProtectedViewWindow
- Add attempts to get Application object from all windows of class EXCEL7.
- Fix
ExcelAsyncUtil.Observe
re-open restart - broken by other fixes in the previous version. Add option to not restart. - Change
ExcelRtdServer.ConnectData
to be more careful about raising an update notice. Calls toTopic.UpdateNotify
during theConnectData
overload are now always ignored. If the topic value is updated (throughTopic.UpdateValue
) duringConnectData
, and the same value is returned fromConnectData
, then no spuriousUpdateNotify
is raised. If the value returned fromConnectData
differs from Topic.Value,UpdateNotify
will still be raised. - Allow
AccessViolation
exceptions to be caught under .NET 4.0 - change marshaling wrapper fromDynamicMethod
toMethodBuilder
. - Fix
QueueAsMacro
failure after paste live preview.
The easiest way to test the new version is by installing or upgrading to the pre-release ExcelDna.AddIn 0.34.5-rc5
NuGet package. From the Package Manager Console: Install-Package -Pre ExcelDna.AddIn
Excel-DNA v0.33.9
This is the public release of Excel-DNA v0.33.
- Improve RtdObserver/Async array function handling to ensure RTD DisconnectData when complete.
- Suppress CustomUI loading when running embedded with /K switch.
- Fix timer leak in
ExcelDnaUtil.QueueAsMacro
(incorrect timer id tracking). - Allow CommandBars find by Id.
- Save source files as binary when packing.
- Add further workaround for RTD bugs in Excel 2010 RTM.
- Fix memory leak where on-demand registered RTD servers were not garbage collected after ServerTerminate().
- Change COM registrations (for RTD, ribbon and CTP) to always try machine hive first, before falling back to user hive.
- Allow byte[] as parameters key in ExcelRtdObservable, to support storing only an opaque hash instead of the full parameter set.
- Fix race condition between ExcelRtdObserver.OnNext(), DateTime.ToOADateTime() and Excel calling RefreshData().
- Fix integer return type with IsExceptionSafe=true crashes in marshaling.
- Update ExcelReference to allow immutable use, mark AddRectangle mutator Obsolete. Add operator== to AsyncCallInfo.
- Increase number of exports to 10,000.
- Implement logging mechanism based on System.Diagnostics.Trace.
- Add CreateCustomTask overloads that take the control explicitly.
- Clean up ExcelReference internals to only keep extra array of rectangles if needed.
- Improve RTD and async exception handling for damaged Excel installs.
- Fix NuGet package paths to use macros when packages are under solution folder.
- Fix NuGet package install for F# on VS 2015.
Excel-DNA v0.33.8-rc2
This release candidate update fixes a few issues in the NuGet installation script, and an unintended breaking change in the use of the XlCall
class.
Excel-DNA v0.33.7-rc1
This is the first release candidate for Excel-DNA version v0.33.
Binaries are updated and included in the source tree under the Distribution\
directory.
A detailed change log can be found in Distribution\ChangeLog.txt
.
This version is also available as a (pre-release) NuGet package:
Install-Package ExcelDna.AddIn -Pre
Excel-DNA v0.33-b3
This is an updated Beta release of version 0.33. An initialization bug in Beta 2 that prevented the add-in from starting when ExcelDna.Integration.dll
was not present is fixed. All LogDisplay
logging is now channeled through the new TraceSource-based logging mechanism.
Binaries are updated and included in the source tree under the Distribution\ directory.