Header

AstroPlanner Beta Testing

Introduction

Anyone is free to download and test the latest beta version of the application. Please note that beta versions of the application have a built-in expiration date that is 120 days after the release date. After that date, you can still use it, but you'll be "nagged" to download a more recent release. This is to prevent bugs being reported on older beta versions that have already been fixed in later releases.

Please discuss beta issues only on the Beta Testers mailing list. Click here to join/leave the list.

Click here for more information on how to report a bug.

V2.4 Notes:

This page last modified: 2025/11/24 16:14 (Pacific time)

Download

VersionRelease DateExpiry Date
2.4.1b82025/11/17120 days from Release Date

Macintosh

64-bit Application (.dmg)Download220.1MB64-bit version. Intel-based Mac with MacOS 10.14 or later. Apple Silicon-based Mac with MacOS 11 or later.
64-bit Application (.dmg)Download164.7MBSpecial version for MacOS 10.11 through 10.13. Intel-only.

Windows

32-bit Application (.exe)Download136.2MiB32-bit version. Installer. Windows 8.1 or later
32-bit Application (.exe.zip)Download135.7MiB32-bit version. Zipped installer
64-bit Application (.exe)Download132.5MiB64-bit version. Installer. Windows 8.1 or later
64-bit Application (.exe.zip)Download132MiB64-bit version. Zipped installer
64-bit Application (.exe.zip)Download188MiBSpecial 64-bit version for Windows 7 SP1 through 8.0.
32-bit Application (.exe.zip)Download197.2MiBSpecial 32-bit version for Windows 7 SP1 through 8.0.

Both platforms

User Manual (.pdf.zip)Download82.8MiBV2.4 beta user manual

Note: Beta versions of the application typically do not include the user manual or scripting manual in order to reduce download size.

Release Notes

A list of unresolved bugs can be found here, and feature requests here.

Version: 2.4.1b9
Release Date: Soon
Fixes: 10, Enhancements: 1

ID:
8057

Status:
Implemented

Date:
2025/11/24

Adding Planetary Moons

I'd like to add the Planetary Moons to my SSO Plan.

I've tried duplicating the associated Planet and renaming the duplicates to the moon names but this doesn't copy across the "special feature" that tracks the Planet's position. So for a Planet I cannot edit its RA and Dec but for the duplicate I can. This means that the Planetary Moons that I have added do not follow the Planets with which they are associated.

I noticed that for other SSO objects like asteroids the RA and Dec is also not editable, but there is an Edit Element button that allows me to edit a bunch of orbital parameters which I assume are used to calculate the position of the SSO. This Edit Element button isn't available for Planets (for obvious reasons).

I could duplicate an asteroid as the starting point for each Planetary Moon but since I can't see the Planets set of orbital parameters (because they are not editable) I don't know what parameters to enter for the Planetary Moon.

Possible solutions would be:
- Allow Planetary Moons to be added as Special Objects (preferred)
- Allow the orbital parameters of the Planets to be viewed but not edited so that they could be copied and pasted into a duplicate of an asteroid.
- Just send me the orbital parameters of the Planets.

Resolution:
Implemented. This is an interim solution. You will find a collection of planetary moons using the Add Special popup and selecting Planetary Moons... Once added to the plan document, the coordinates of the parent planet are computed and used (not the current coordinates of the moon). Note that the above is the only way to add such moons to the plan - they can't be constructed manually. For reasons.

ID:
8059

Status:
Fixed

Date:
2025/11/22

StellariumFunctionality.SaveObservingList: Nil Object Exception

Exception Type: Nil Object Exception

1: Sub StellariumFunctionality.SaveObservingList( int64, string, string )
2: Sub StellariumFunctionality.Export()
3: Function MainWindow._ExportStellariumObsList_Action( MainWindow ) as boolean
4: Sub DesktopApplication._CallFunctionWithExceptionHandling()


User description of above error trace:

I got this error when exporting just highlighted objects to a Stellarium Object List. It works fine if I export the entire plan.


Analysis:
Sorry about that. Anything other than exporting all objects will have the same issue.

Resolution:
Fixed.

ID:
8060

Status:
Fixed

Date:
2025/11/22

StellariumFunctionality.SaveObservingList: Nil Object Exception

Exception Type: Nil Object Exception

1: Sub StellariumFunctionality.SaveObservingList( int64, string, string )
2: Sub StellariumFunctionality.Export()
3: Function MainWindow._ExportStellariumObsList_Action( MainWindow ) as boolean
4: Sub DesktopApplication._CallFunctionWithExceptionHandling()


User description of above error trace:

I also get this exception when I try to export selected objects from the plan. So the export only works when all plan objects are specified for export.


Resolution:
Fixed.

ID:
8061

Status:
Fixed

Date:
2025/11/22

Custom Highlighting - Longest Dimension not persisting

When I create a custom highlight rule with a size constraint and set this to Longest Dimension, it does not persist through a Save and Load. It does persist in the plan if I save the plan, but if I try to Load the saved highlighting rules into another plan, the setting reverts to Area A x B in that plan and I have to change every one manually back to Longest dimension and then save the plan.


Analysis:
Ooo, nasty. This actually affects quite a few rule types.

Resolution:
Fixed.

ID:
8058

Status:
Fixed

Date:
2025/11/22

DesktopListBox.RowTagAt: Out Of Bounds Exception

Exception Type: Out Of Bounds Exception

1: Sub DesktopListBox.RowTagAt( int64 )
2: Sub ObsAttachmentEditor.DeleteFileBtn_Action( ObsAttachmentEditor, APPictureButton, string, int64 )
3: Sub APPictureButton.DoAction( string, int64 )
4: Sub APPictureButton.Event_Pressed()
5: Sub DesktopWindow.ShowModal( DesktopWindow )
6: Function ObservationWindow.EditObservation( ObservationWindow ) as boolean
7: Sub ObservationWindow.obs_DoublePressed( ObservationWindow, StripedListBox )
8: Sub DesktopApplication._CallFunctionWithExceptionHandling()


User description of above error trace:

Removed an attached file from an observation by clicking the "-" (minus) button at bottom left in the observation database editing window, and this exception popped up.

This is probably the only attachment in my observation database, that I added about 8 1/2 years ago.


Resolution:
Fixed.

ID:
7748

Status:
Fixed

Date:
2025/11/22

Highlight rules not passing on all settings with exports

Steps to Duplicate:
1. Open the Objects of Interest Plan Doc
2. Go to Object > Highlight> Edit Custom Highlighting.
3. Select the "Luminosity..." highlight rule and go to Rule Set #4.
**It has a spectral rule that matches All of a regular expression.
4. Select the "Custom Default" rule set and notice the time ranges specified for Visibility on the different rule sets.
5. Click Save and save it with a filename.
6. Open the Main Objects document.
7. Choose the Luminosity rule in the Site widget drop-down and notice that Rule Set #4 is using "Any of" instead of "All of" for the Reg Expression.
8. Go to Object > Highlight> Edit Custom Highlighting. Click Load and choose the highlight file from step 5.
9. Choose the Luminosity rule and notice it is still using "Any of" for the Reg Expression in the Luminosity rule.
10. Choose the Custom Default rule and notice that the time ranges for Visibility are also different than in the Objects of Interest plan. (Some end at 1:00 or 1:45 instead of 1:30)

Attachment: Objects of Interest.apdAttachment: Main Objects.apd

Resolution:
Fixed.

ID:
8050

Status:
Fixed

Date:
2025/11/21

The Cross-Ref feature doesn't remember the last choice for "Objects to Process"

Other settings with this feature are remembered. This causes me to sometimes mistakenly update all the objects in a plan document. Steps to duplicate:

1. Add the object SAC8594 to a plan document. Select the object.
2. Choose Object> Cross-Reference Objects to ID. Choose Selected for Objects to Process.
3. Under ID to Cross-Reference, choose M for the ID and "Messier catalog" for the source catalogue (or choose something else if these were already chosen)
4. Choose to replace for the method, and choose to also replace the Name field (or choose something else if these were already chosen).
5. Choose to assume the same object within 650.0 arc seconds.
6. Click OK and it will change the info for the object.
7. Go back into the feature. All choices will have been remembered from last time except for Objects to Process, wich is set to All.


Resolution:
Fixed.

ID:
8055

Status:
Fixed

Date:
2025/11/21

Trim Session cannot be disabled

In Observation Preferences the 'Trim sessions if observations change' flag is not being persisted.

If I disable it and then edit a session in the Observations Database, that session will always have its end time trimmed.

Resolution:
Fixed.

ID:
8052

Status:
Fixed

Date:
2025/11/21

MainWindow.SaveSortOrder: Nil Object Exception

Exception Type: Nil Object Exception

1: Sub MainWindow.SaveSortOrder( MainWindow )
2: Sub AllMWPreferences.ReadWrite( boolean, boolean )
3: Sub MWPreferences.ReadWrite( boolean, boolean )
4: Function MainWindow.DoFileSave( MainWindow ) as boolean
5: Function MainWindow._FileSave_Action( MainWindow ) as boolean
6: Sub DesktopApplication._CallFunctionWithExceptionHandling()


User description of above error trace:

I had just opened the Main Objects document and refreshed it's RA / DEC from the catalog because it's DEC was at +11 rather than -11 somehow. I then saved the document, opened my Novas, Quasars... document and merged Spica from the Main Objects catalog. I then clicked on File Save from within the Novas, Quasars... document and this error popped up.

User description of above error trace:

I did a merge from Objects of Interest to Main Objects and told it to dissociate any associations. I told it to merge anything that has the name start with Manatee Nebula and modified the name a little further in Main Objects. Then I merged from Objects of Interest into 2025-10-21 Candidates but told it to include all associations regardless of rules. I modified the name a little further in the Candidates doc and then told it to save the Candidates document. That's when the error occurred.

Resolution:
Fixed.

ID:
8007

Status:
Fixed

Date:
2025/11/19

Lookup Items issue

When selecting "Lookup Name" at the bottom of the main window, and an object in the existing list is "active" (selected), the first line in the "Lookup items" window is filled with the name of the active (selected) object in the list.

One must clear that line before entering the required name to be searched. This is not the case when clicking on an empty place below the last object in the list. But when having a long object list, one must scroll to the end of the list.

Is it possible to have always an empty "Look up items" window?

Resolution:
Fixed. If there's text in the field it will be initially selected. Hence you can just start typing and it will be replaced.

ID:
8051

Status:
Fixed

Date:
2025/11/19

ObjectListbox.CellTextAt: Nil Object Exception

Exception Type: Nil Object Exception

1: Sub ObjectListbox.CellTextAt( int64, int64, assigns string )
2: Sub StripedListBox.SwapRows( int64, int64 )
3: Sub PlanObjectAssociation.!OrderList( MainWindow )
4: Sub MainWindow.AssociateOrdering( MainWindow )
5: Sub MainWindow.OnOpen( MainWindow, FolderItem, boolean )
6: Function App.OpenADocumentFile( FolderItem, byref MainWindow, string, boolean, boolean, int64 ) as boolean
7: Function App.OpenFileFromDisk( FolderItem, boolean, int64, int64, int64, int64 ) as MainWindow
8: Function App._FileOpen_Action() as boolean
9: Sub DesktopApplication._CallFunctionWithExceptionHandling()


User description of above error trace:

Not sure if this is the same problem I reported before but this document gives an exception when I try to open it. It appears that it is going to open up blank again or that I am just going to get kicked out after I send this.

Attachment: 2022-03-23 Seagull Nebula, Orion, Perseus Cloud (New).apdAttachment: AstroPlannerV2-W32.prefs
User description of above error trace:

Just installed the latest update. It is still giving an exception when opening this document. Looks like it will end up being blank again.

Attachment: AstroPlannerV2-W32.prefsAttachment: 2022-03-23 Seagull Nebula, Orion, Perseus Cloud (New).apd

Analysis:
Sorting associated objects issue

Resolution:
Fixed.

Version: 2.4.1b8
Release Date: 2025/11/17
Fixes: 8, Enhancements: 5

ID:
8043

Status:
Fixed

Date:
2025/11/16

It appears that the transit date is being calculated incorrectly.

The transit date is being calculated incorrectly. My understanding is that the transit date is when the object will transit next at the currently specified time. Steps to duplicate:

1. Open the attached document with the attached resource file.
2. Set the Site to "EM (WorkWell-N 2.9) H". Set the date and time to 1/30/2026 at 6:45pm
3. Highlight the object with ID ADS4997.
*Notice that the transit time is about 3.5 hours away at 10:14pm for this object. However, the Transit Date is 2/2/2026 which cannot change that much in 3 days time.

Analysis:
Some code changes in the past screwed up this calculation. Sorry.

Resolution:
Fixed.

ID:
8048

Status:
Fixed

Date:
2025/11/16

HighlightingRuleDouble.RuleTrue: Type Mismatch Exception

Exception Type: Type Mismatch Exception

1: Function HighlightingRuleDouble.RuleTrue( MainWindow, PlanObject ) as boolean
2: Function HighlightingCollection.AnyRuleTrue( MainWindow, PlanObject ) as boolean
3: Function HighlightingCollection.RulesTrue( MainWindow, PlanObject ) as boolean
4: Function MainWindow.CanHighlight( MainWindow, PlanObject, int64 ) as boolean
5: Function PlanObject.Highlighted( MainWindow ) as boolean
6: Function PlanDocument.CountHighlightedObjects() as int64
7: Sub MainWindow.UpdateTitle( MainWindow, boolean )
8: Sub MainWindow.ObjectList_SelectionChanged( MainWindow, ObjectListbox )
9: Sub DesktopListBox.SelectedRowIndex.Set( int32, int64 )
10: Sub ObjectListbox.DeSelect()
11: Sub MainWindow.AddAllObjectsToList( MainWindow )
12: Sub MainWindow.OnOpen( MainWindow, FolderItem, boolean )
13: Function App.OpenADocumentFile( FolderItem, byref MainWindow, string, boolean, boolean, int64 ) as boolean
14: Function App.OpenFileFromDisk( FolderItem, boolean, int64, int64, int64, int64 ) as MainWindow
15: Function App._FileOpen_Action() as boolean
16: Sub DesktopApplication._CallFunctionWithExceptionHandling()


User description of above error trace:

I simply opened the attached document and got this error. The document comes up blank.

Attachment: 2020-10-31 OctoberFest 2020.apd

Analysis:
This is a bug in the highlighting rule for Anti-Solar Point.

Resolution:
Fixed.

ID:
8047

Status:
Implemented

Date:
2025/11/15

Stellarium Observing List Import and Export

I use Stellarium extensively and all of my observing lists are in its format. I'd like to request functions to import Stellarium observing lists into AstroPlanner and to export AstroPlanner plans in Stellarium observing list format.

Resolution:
Implemented. File > Import > Stellarium Observing List..., and File > Export > Stellarium Observing List...

ID:
8036

Status:
Fixed

Date:
2025/11/07

Sync with Stellarium is not working

I am using Stellarium v25.3. I've enabled the sync with Stellarium so that the AstroPlanner FoV follows Stellarium. When I select an object in Stellarium the AstroPlanner FoV centres on the correct Dec coordinate but not the correct RA when the RA is greater than 12h00m00s. There seems to be an offset in RA, so when Stellarium is pointing at RA 21h33m27s for example, AstroPlanner points to RA 02h26m33s. For objects whose RA is less than 12h00m00s the sync works fine.


Resolution:
Fixed.

ID:
8030

Status:
Implemented

Date:
2025/11/01

Scripting support for Synonyms

Add a Synonyms method to APPlanObject, APObservation and APCatalogObject that returns an array of synonym IDs for the specified object's ID.

Resolution:
Implemented.

ID:
8031

Status:
Implemented

Date:
2025/11/01

Add keyboard shortcuts for syncing FoV with external planetarium apps

Add keyboard shortcuts for syncing FoV with external planetarium apps rather than requiring the buttons to be pressed.

Resolution:
Implemented. See Object > Field of View Chart.

ID:
8025

Status:
Implemented

Date:
2025/10/30

Print Objects improvement

With the current version of Astroplanner it only allows me to select one catalog in "Also show objects from catalogue" when printing Finder Charts.

This way if there are UGC, PGC or Abell objects in a field of view they will not be displayed/printed if I have only NGC selected.

Can we change things so that multiple catalogues can be used?

Resolution:
Implemented.

ID:
8022

Status:
Fixed

Date:
2025/10/23

MainWindow._FileGetInfo_Action: Nil Object Exception

Exception Type: Nil Object Exception

1: Function MainWindow._FileGetInfo_Action( MainWindow ) as boolean
2: Sub DesktopApplication._CallFunctionWithExceptionHandling()


User description of above error trace:

Hit Cmd + i and this exception popped up.


Resolution:
Not reproducible. Added code to avoid the error, whatever it was.

ID:
8008

Status:
Fixed

Date:
2025/10/16

Entering new observation: eyepiece from preceding observation not used for following observation

When logging sequential observations in the Observations tab, the eyepiece used for an observation is not assigned to the next observation added.


Resolution:
Fixed.

ID:
8012

Status:
Fixed

Date:
2025/10/13

FieldDiameterChooser.FieldDiameterChooser.SelectedDiameter.Get: ThreadAccessingUIException

Exception Type: ThreadAccessingUIException
Exception Message: A thread has attempted to manipulate a user interface element. This can only be done from the application's main thread.

1: Function TextField.Value.Get( int32 ) as string
2: Function DoubleField.GetValue() as double
3: Function FieldDiameterChooser.SelectedDiameter.Get( FieldDiameterChooser, int32 ) as double
4: Function MainWindow.GetFoVDiameter( MainWindow ) as double
5: Function MainWindow.IsInFoV( MainWindow, EquatorialCoordinates ) as boolean
6: Function ImportSolarSystemObjectDialog.PassesComputedRestrictions( ImportSolarSystemObjectDialog, SolarSystemObject ) as boolean
7: Sub ImportSolarSystemObjectDialog.LoadObjectsThread_Run( ImportSolarSystemObjectDialog, APThread )
8: Sub APThread.Event_Run()


User description of above error trace:

I'd updated the Comets in MPC data and searched for -5 mag to 18mag, then selected In FoV at current date/time and when I clicked Update it failed.

Resolution:
Fixed.

ID:
8018

Status:
Fixed

Date:
2025/10/09

Updating Cat Notes does not update Dreyer translation

W.r.t. Refresh Objects from Catalogues:

I refreshed the Catalogue Notes and it updates correctly, but the User Notes
column remains blank, and consequently the description is not decoded.
If I manually upload an NGC object, the User Notes value is updated
correctly.
Refreshing does not.
The Notes column is missing from the refresh list.

Analysis:
You need to update the Catalogue Notes column. This will update the Dreyer Translation.

Workaround: After refreshing, save, close, and reopen the plan document.

Resolution:
Fixed. Bonus: improved some of the Dreyer translations

ID:
8004

Status:
Fixed

Date:
2025/09/02

Tooltip issue with Chart column

I noticed that a tooltip currently appears for the Chart# column showing the page number in the atlas, which doesn’t seem necessary.

Analysis:
This is for multiple chart sources to avoid wide Chart# columns. However, it appears unnecessary for a single chart source.

Resolution:
Fixed.

ID:
7711

Status:
Implemented

Date:
2025/09/02

Object Az./Alt. at time of observation

A very useful addition to the observation database, would be a column for the object's azimuth and altitude at the time of the logged observation. The data is visible when clicking the Object Visibility tab in the observation database, but a dedicated column in the observation database to always have this information available at a glance would be very welcome.


Resolution:
Implemented.

Show all beta release notes for the current version