ASCOM.Alpaca.Components 3.0.0

dotnet add package ASCOM.Alpaca.Components --version 3.0.0
                    
NuGet\Install-Package ASCOM.Alpaca.Components -Version 3.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ASCOM.Alpaca.Components" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ASCOM.Alpaca.Components" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="ASCOM.Alpaca.Components" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ASCOM.Alpaca.Components --version 3.0.0
                    
#r "nuget: ASCOM.Alpaca.Components, 3.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ASCOM.Alpaca.Components@3.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ASCOM.Alpaca.Components&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=ASCOM.Alpaca.Components&version=3.0.0
                    
Install as a Cake Tool

ASCOM.Alpaca

Library of ASCOM Alpaca client and discovery components.

Version History

The version history only contains entries when a change is made.

Release 3.0.0

  • POTENTIALLY BREAKING CHANGE - The client's 100-CONTINUE behaviour is no longer enabled by default to improve network performance by removing a network round-trip on each PUT request.
    • This change is expected to be transparent for clients and devices because Alpaca devices should already be capable of handling requests from other clients that do not use the EXPECT 100-CONTINUE protocol. Out of an abundance of caution, the change is marked as potentially breaking and the major version number has been increased.
    • This change results in Alpaca clients now sending the both headers and body in one operation.
    • If required, the original 100-CONTINUE behaviour can be restored by setting the new Alpaca client request100Continue parameter to TRUE.
    • The previous 100-CONTINUE behaviour caused the client to:
      • add an EXPECT 100-CONTNUE header to the request,
      • send only the request headers to the Alpaca device,
      • wait for the device to return a 100-CONTINUE response,
      • finally send the request body and wait for the device response.
  • ADDED - A new telescope client configuration parameter: throwOnBadDateTimeJSON, which defaults to FALSE. This is primarily for use by Conform to support validation of DateTime values returned by Alpaca devices that do not conform to the Alpaca specification.
  • ADDED - A new telescope client configuration parameter: request100Continue, which defaults to FALSE. This enables or disables 100-CONTINUE HTTP behaviour.
  • ADDED - Further client creation initialisers for the AlpacaClient and Alpaca device classes that expect a single AlpacaConfiguration class. The AlpacaConfiguration class encapsulates all Alpaca client configuration parameters and enables them to be set in a way that makes the configuration obvious in the source code.
  • ADDED - Support for .NET 8.0, 9.0 and 10.0 target frameworks. It will no longer be necessary for applications that use these frameworks to rely on the .NET Standard 2.0 component.
  • BUG-FIX - Fixed bug where T AlpacaClient.GetDevice<T> failed when creating a telescope client.

Release 2.2.0

  • BUG-FIX - Fixed bug where the Alpaca client Action method failed when the 'parameters' parameter was over 65,535 characters long.

Release 2.0.9

  • BUG-FIX - Fixed bug where query strings in HTTP GETs of members that take parameters, e.g. Telescope.CanSetAxisrate(Axis), had multiple leading "?" characters instead of a single leading "?" character.

Release 2.0.8

  • Fix incorrect exception message when the client times out.
  • Remove duplicate keep-alive element from the Connection header.

Release 2.0.3

  • Some applications call InterfaceVersion before connecting, hence changing the timeout used for InterfaceVersion-GET from the standard timeout to the establish communications timeout, which is usually shorter and facilitates quicker return to the client when the Alpaca device cannot be reached.
  • Reduced the delay between communications error retries from 1.0 second to 0.1 seconds.

Release 2.0.2

  • Change the timeout used for Connected-GET, Connecting, Connect() and Disconnect() from the standard timeout to the establish communications timeout, which is usually shorter and facilitates quicker return to the client when the Alpaca device cannot be reached.

  • Release 2.0.0

  • Fix bug where the remote device number was not set correctly when changed through the ClientConfiguration class.

Release 2.0.0-rc.28

  • No change.

Release 2.0.0-rc.23

  • Add support for new Platform 7 interface members.
  • Added client async task extensions ConnectAsync() and DisconnectAsync().
  • New device state convenience members that package device state in an easy to use form.
  • New ClientRefresh() method to effect configuration changes made through the client configuration instance returned by ClientConfiguration
  • Fix - Four MethodNotImplementedException replaced with NotImplementedExceptions to match the Library standard.
  • Fix - Client async methods now respect timeouts if the target driver/device locks up and does not return from the initiator or polling variable.

Release 1.0.112

  • Fix issue where Alpaca clients did not query the device to determine its Connected state.

  • Release 1.0.111

  • Fix issue that caused Alpaca client initialisation to fail on Android and similar AOT compile platforms.

Release 1.0.110

  • Re-release of version 1.0.109 without additional features and changes that are intended for a future release.

Release 1.0.109

  • No change.

Release 1.0.108

  • No change.

Release 1.0.107

  • No change.

Release 1.0.106

  • Improved Alpaca Client debug logging
  • Improved Alpaca Client resilience to unexpected content in JSON error responses.

Release 1.0.96

  • Added support for trusting user generated certificates.
  • Improved handling of Alpaca management information during discovery on Linux, Arm and MacOS operating systems.

Notes

Please note that you will need to add this PropertyGroup to .NET projects that target Android in order for Alpaca discovery to work as expected:

    <PropertyGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
        <UseNativeHttpHandler>false</UseNativeHttpHandler>
    </PropertyGroup>

This may also be the case for projects that target IOS, but has not yet been confirmed.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on ASCOM.Alpaca.Components:

Package Downloads
NINA.Equipment

This assembly contains the Equipment components of N.I.N.A. to interact and connect to various types of astronomy equipment.

ASCOM.Com.ChooserSA

Stand alone Chooser component for .NET Framework 4.7.2 and later and .NET 8 and later projects.

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on ASCOM.Alpaca.Components:

Repository Stars
isbeorn/nina
N.I.N.A. (Nighttime Imaging 'N' Astronomy) - Advanced astrophotography sequencing software for Windows, supporting full automation of imaging sessions.
ASCOMInitiative/ASCOMPlatform
The ASCOM Platform implements the ASCOM interface standards and provides development and runtime components to ease driver and application development.
Version Downloads Last Updated
3.0.0 61 1/22/2026
3.0.0-rc.10 53 12/29/2025
2.2.1 1,044 10/21/2025
2.2.0 218 10/13/2025
2.2.0-rc.1 157 7/8/2025
2.1.0 1,324 6/9/2025
2.1.0-rc.4 145 4/27/2025
2.1.0-rc.3 200 4/15/2025
2.1.0-rc.2 157 4/11/2025
2.1.0-rc.1 165 4/10/2025
2.0.9 445 2/11/2025
2.0.8 392 11/27/2024
2.0.7 226 11/4/2024
2.0.6 204 10/31/2024
2.0.5 249 10/10/2024
2.0.2 233 10/2/2024
2.0.1 238 9/23/2024
2.0.0-rc.23 123 7/11/2024
1.0.112 2,158 4/5/2024
1.0.111 661 1/8/2024
1.0.110 249 10/6/2023
1.0.109 263 10/5/2023
1.0.108 301 7/15/2023
1.0.107 293 5/28/2023
1.0.106 304 5/23/2023
1.0.96 318 4/27/2023
1.0.95 419 2/25/2023
1.0.70 427 1/9/2023
1.0.52 500 11/20/2022
1.0.50-beta 312 10/30/2022
1.0.36-beta 287 10/20/2022
1.0.33-beta 289 10/10/2022
1.0.30-beta 271 10/8/2022
1.0.1-beta1 267 10/3/2022
1.0.0-beta9 261 10/3/2022
1.0.0-beta8 307 9/27/2022
1.0.0-beta7 313 9/27/2022
1.0.0-beta6 293 9/27/2022
1.0.0-beta5 335 9/26/2022
1.0.0-beta4 283 9/24/2022
1.0.0-beta3 291 8/27/2022
1.0.0-beta2 327 8/24/2022
1.0.0-beta1 406 8/23/2022

See README.md for full details of changes in this release.