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
<PackageReference Include="ASCOM.Alpaca.Components" Version="3.0.0" />
<PackageVersion Include="ASCOM.Alpaca.Components" Version="3.0.0" />
<PackageReference Include="ASCOM.Alpaca.Components" />
paket add ASCOM.Alpaca.Components --version 3.0.0
#r "nuget: ASCOM.Alpaca.Components, 3.0.0"
#:package ASCOM.Alpaca.Components@3.0.0
#addin nuget:?package=ASCOM.Alpaca.Components&version=3.0.0
#tool nuget:?package=ASCOM.Alpaca.Components&version=3.0.0
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-CONTINUEbehaviour is no longer enabled by default to improve network performance by removing a network round-trip on eachPUTrequest.- 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-CONTINUEprotocol. 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-CONTINUEbehaviour can be restored by setting the new Alpaca clientrequest100Continueparameter toTRUE. - 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.
- 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
- 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 disables100-CONTINUE HTTPbehaviour. - 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 | Versions 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. |
-
.NETStandard 2.0
- ASCOM.Common.Components (>= 3.0.0)
- ASCOM.Exception.Library (>= 7.0.1)
- System.Text.Json (>= 9.0.9)
-
net10.0
- ASCOM.Common.Components (>= 3.0.0)
- ASCOM.Exception.Library (>= 7.0.1)
-
net8.0
- ASCOM.Common.Components (>= 3.0.0)
- ASCOM.Exception.Library (>= 7.0.1)
- System.Text.Json (>= 9.0.9)
-
net9.0
- ASCOM.Common.Components (>= 3.0.0)
- ASCOM.Exception.Library (>= 7.0.1)
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 | 65 | 1/22/2026 |
| 3.0.0-rc.10 | 53 | 12/29/2025 |
| 2.2.1 | 1,054 | 10/21/2025 |
| 2.2.0 | 218 | 10/13/2025 |
| 2.2.0-rc.1 | 157 | 7/8/2025 |
| 2.1.0 | 1,325 | 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,159 | 4/5/2024 |
| 1.0.111 | 661 | 1/8/2024 |
| 1.0.110 | 250 | 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 | 319 | 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 | 313 | 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 | 314 | 9/27/2022 |
| 1.0.0-beta6 | 294 | 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.