Skip to main content

Aquila Release Notes

Aquila 2.2.5 (July 8, 2026)

The following functionality has been added or enhanced:

Grouped Body Selection Lists: The body selection lists now organize celestial bodies under collapsible groups — Diurnal Angles, Planets, Barycenters, Lunar Axis, Asteroids, and Centaurs. Click a group's row (or press Space or Enter on it) to open or close the group, with the chevron rotating to show its state. The Planets and Lunar Axis groups start open, and each group's open/closed state is remembered while the study remains open; a group's checked bodies are always preserved, even while the group is closed.

Animated Chevrons: The chevron indicators on the dropdown, date picker, and time picker controls now animate smoothly as they open and close, giving clearer visual feedback.

Moon Type for Every Lunar Phase: The Lunar Phases study now reports a Moon Type for every phase instead of leaving the column blank for anything other than New and Full Moons. New and Full Moons continue to show Supermoon, Micromoon, or Normal, while the remaining phases show Near, Far, or Normal based on the Moon's distance from Earth at that moment.

Extrema Event Filtering: The Speed Extrema and Latitude Extrema studies use an improved filtering algorithm to remove spurious events caused by short-term perturbations. Candidate events are now compared at full precision and filtered by a single consistent significance rule, so when several borderline events cluster together the most significant one is kept, producing more stable and complete results across all bodies.

Appulse Minima Study: A new mundane study that finds the moments when two transiting bodies reach their closest approach in the sky. Unlike a longitude-based conjunction, it measures the true angular distance between the bodies — combining longitude/right ascension with latitude/declination — and reports each minimum that falls within a user-editable Appulse Orb (default 3°). Wobble-induced duplicates (most visible with a Topocentric coordinate origin) are filtered so each close approach is reported once, at its deepest point. The study is available from the Mundane Studies → Aspects menu and the Aspect Studies toolbar dropdown, directly after Mundane Aspects.

The following bugs were fixed:

Topocentric Speed Extrema: The Speed Extrema study produced badly incomplete results with a Topocentric coordinate origin — the Sun yielded no events at all over an entire century, and Mars and the outer planets yielded only a small fraction of their true extrema, some mislabeled. The daily parallax oscillation caused by Earth's rotation was overwhelming the detection of the underlying orbital cycle; it is now cancelled out, so topocentric event coverage matches the expected per-cycle counts and topocentric studies also generate significantly faster.

Speed Extrema for Oscillating Bodies: Genuine speed maximum/minimum pairs spanning a switch between direct and retrograde motion — as occurs for the True Node and the Osculating Apogee — could be wrongly discarded as noise when the two speeds were similar in magnitude but opposite in sign. The filter now compares signed speeds, preserving these events.

Patterns in Orb at the Study Start: The three-body pattern studies (Grand Trines, T-Squares, Yods, Stelliums, and their Activation counterparts) silently skipped a pattern that was already within orb when the study period began, even when its moment of greatest exactness fell inside the period. Such patterns are now detected and reported at their peak; a pattern whose peak precedes the study period still correctly produces no event.

T-Square and Yod Peak Times: In rare cases the T-Square and Yod studies (and their Activation counterparts) could report a peak time at which the pattern was no longer within orb, because the total angular deviation could measure smaller just outside the pattern window than inside it. The peak search is now constrained to moments where every defining aspect is within the orb.


Aquila 2.2.4 (July 4, 2026)

The following functionality has been added or enhanced:

Removed Parallels Study Types: The Balanced Parallels, Midpoint Parallels, and Transiting Midpoint Parallels study types have been removed from Aquila and are no longer available when creating studies. Existing workspaces that do not use these studies are unaffected.

IsBalanced Event Filter Function: A new IsBalanced function is available in the Event Filter editor's Functions menu. It tests whether two bodies sit at mirror-image positions on opposite sides of a balance point — one body's signed separation from the balance point must mirror the other's, within a chosen orb. For example, IsBalanced(Body1, Body2, 90, 3) matches when the two bodies are balanced about 90° within a 3° orb.

Mundane Parallels Separation Column: The Mundane Parallels events table now includes a Separation column showing the shortest distance in longitude (or right ascension, when using the Equatorial reference plane) between the two transiting bodies, from 0° to 180°. The column appears immediately after Outer Body Speed and is shown by default.

Transiting Parallels Separation Column: The Transiting Parallels events table now includes a Separation column showing the shortest distance in longitude (or right ascension, when using the Equatorial reference plane) between the transiting body and the natal body, from 0° to 180°. The column appears immediately after Natal Body Speed and is shown by default.

Event Generation Performance: Memory usage during event generation has been substantially reduced. Long-range studies now create far less temporary memory while scanning, filtering, and displaying events, reducing pauses caused by memory collection.

Event Filter Performance: Compiled event filters now evaluate with zero per-event memory allocation. Filtered studies previously created roughly 2 KB of temporary memory for every candidate event — up to a million times per run — which has been eliminated, further reducing memory-collection pauses during long filtered generations.

Event Filter Compile-Time Validation: Mistakes in an event filter — an unknown name or function, wrong argument types, or an expression that does not produce true/false — are now reported immediately when the filter is compiled, with a clear message and position, instead of failing partway through event generation.

On-Demand Filter Positions: Filtered studies now calculate only the celestial body positions the event filter actually references, instead of all of them for every candidate event. A filter that uses only the event's own bodies (for example, IsRetrograde(Body1)) no longer performs any extra ephemeris calculations, which speeds up long filtered runs that generate many events.

The following bugs were fixed:

Hotspot Transits Description: Hotspot Transit event descriptions repeated the hotspot position twice (for example, “…at 15°Ari00'15°Ari00'.”). Descriptions now state the critical degree once, as a numeric position (for example, “…at 45.000° longitude.”).

Station Hotspots Description: Station Hotspot event descriptions ended with a garbled character after the hotspot position. Descriptions now state the critical degree as a numeric position.

Mundane Arcs Description: Mundane Arc event descriptions displayed a garbled character in place of the degree symbol. The degree symbol now displays correctly.

Superior Planetary Cycles Description: The event description repeated the post-opposition day count where the number of days between the direct station and the solar conjunction belonged. The description now shows the correct pre-conjunction period. The events table columns were always correct.

Event Filter Numeric Equality: Comparing a position value against a whole-number literal with == or != (for example, Sun.Longitude == 180) always evaluated as not equal, even when the values matched. Numeric comparisons now work regardless of whether the literal is written as 180 or 180.0.


Aquila 2.2.3 (June 29, 2026)

The following functionality has been added or enhanced:

Refreshed Look & Feel: The application's overall appearance has been polished, with refined visuals and more consistent styling across its screens for a cleaner, more comfortable experience.

The following bugs were fixed:

Numeric Field Entry on macOS: Numeric fields (such as orb values) and editable numeric grids now correctly reject non-numeric input on macOS, matching the behavior on Windows. Typing letters or other invalid characters no longer enters them, and pasting mixed text into a numeric field keeps only the valid number.

Click to Select a Date or Time: Clicking into a date or time field now highlights the whole value so you can immediately type a new one — the same as tabbing into the field. Clicking a second time places the cursor where you click, so you can still edit just part of the date or time.


Aquila 2.2.2 (June 20, 2026)

The following functionality has been added or enhanced:

Date & Time Controls: New date and time entry controls have been added for defining study parameters. They use the same source code as the equivalent controls in the Natal Records Editor. This ensures a consistent data entry experience within the application and across applications.

Clear All Bodies: The body selection lists now offer a Clear All command in the right-click menu, directly below Deselect. Selecting it unchecks every body in the list at once, regardless of which rows are highlighted. The option is available whenever at least one body is selected.

Clear All for Every Selection List: The Clear All command is now available in the right-click menu of every selection list, including Moon phase types, eclipse types, and the timeline's generator studies list. As with the body lists, it unchecks every item at once regardless of the current highlight and is available whenever at least one item is selected.

Delete Selected & Delete All: The Arcs, Aspects, and Hotspot Degrees tables now offer Delete Selected and Delete All commands at the top of the right-click menu, above Presets. Delete Selected removes the highlighted rows and Delete All clears the entire table, so values can be removed without reaching for the keyboard Delete key. Both commands are unavailable while the study is locked, and each is enabled only when there is something to remove.

Searchable Dropdown Keyboard Navigation: When a searchable dropdown (such as the Natal Record picker) is open, the arrow keys now move a highlight through the list without choosing an item. Press Enter or Tab to assign the highlighted item — Tab then advances to the next field — or Escape to close the list without changing the selection. Pressing the Up arrow from the first item returns to the search box.

Diagnostic Log: Aquila now keeps a diagnostic log that records problems such as unreadable settings or preset files, failed saves, and unexpected errors, so issues like presets unexpectedly reverting to defaults can be diagnosed after the fact. The log is a plain text file in the application data folder (on Windows, Logs\Aquila.log inside the Aquila folder under AppData\Local), keeps only the most recent history, and never interferes with normal use of the application.

Dark Theme by Default: On first launch — before any theme preference has been saved — the application now starts in the dark theme instead of the light theme. Your saved theme preference is still remembered and applied on later launches, and you can switch between light and dark at any time.

Application Colors: A critical review of the application color scheme was done.

Orb Range Validation: Orb values are now clamped between 0 and 90 degrees. If an entry falls outside that range it is automatically adjusted to the nearest limit — values below 0 become 0 and values above 90 become 90.

Faster Study Switching: Switching between studies is now near-instantaneous. Previously, selecting a different study unloaded the current study's results and rebuilt the next one from scratch — a noticeable delay for studies containing many records. Each study's results are now kept ready in the background, so switching is immediate, and a study's column layout and selected row are preserved when you return to it.

Code Maintainability: An extensive refactor of the application's source code was completed. It introduces no change to how the application looks or behaves, but it streamlines the underlying code so the application can be maintained and enhanced more easily going forward.

The following bugs were fixed:

Timeline Refresh: A timing conflict could cause a timeline study's event list to silently fail to refresh when a source study's events were regenerated, cleared, or deleted at the same moment. The refresh is now protected against this conflict, and any remaining refresh problem is reported in the diagnostic log instead of being lost.

Default Table Layout Errors: An error that occurred while applying the saved default table layout to a study's results table could escape unnoticed instead of being reported. Such errors now display the intended error message and are recorded in the diagnostic log.

Editing Date & Time Fields: Highlighting only some of the digits within a segment of a date or time field — a day, month, year, hour, minute, or second — and typing now replaces just the highlighted digits in place. Previously this cleared the entire field and the typed digits landed at the very beginning. For example, with the year 2152 you can now highlight the "15" and type "26" to get 2262.


Aquila 2.2.1 (May 31, 2026)

The following functionality has been added or enhanced:

Keyboard Navigation: Improved keyboard navigation behaviour when tabbing from one control to another for mutliple control types.

Spacebar Toggle: When one or more rows are selected (highlighted) in a list of selectable items (e.g. list of bodies), pressing the spacebar will now toggle the checkbox state.

System Updates: All software components have been updated to the latest versions.

The following bugs were fixed:

Table Edit Mode: Fixed a bug that put the first row of the arc, aspect, hotspot, location editor, and natal records editor tables into edit mode when the user initially clicked on the row to select it.

Row Highlight: Fixed a bug where tabbing onto a selectable bodies list (or other selectable items list) left the focused row unhighlighted until the user pressed an arrow key.

Recent Files: Fixed a bug that left the application in an unusable state when opening a workspace from the Recent Files menu whose containing folder no longer exists.


Aquila 2.2.0 (May 6, 2026)

⚠ Not backward compatible: The Heliacal Phenomenon study's atmospheric and observer parameters changed in this release with the introduction of the Sky Conditions and Visual Acuity selectors. Heliacal Phenomenon studies in workspaces saved by earlier versions of Aquila will deserialize with the lowest-quality buckets (Sky Conditions = Poor, Visual Acuity = Normal) rather than the new application defaults; review and re-run any existing Heliacal Phenomenon studies after upgrading.

The following functionality has been added or enhanced:

Event Descriptions: Descriptions no longer label a body as "transiting" unless the event involves a natal body. This removes unnecessary terminology from mundane events.

Reference Planes: When switching between geocentric/topocentric and heliocentric reference planes, existing body selections are maintained using a Sun/Earth equivalence where applicable.

Numeric Tables: The button next to the value entry box on the Arcs, Aspects, and Hotspot Degrees tables has been re-purposed. Click it to add the value you have typed into the box — the same action as pressing the Enter key. The button is enabled only when a value has been entered.

Presets for Numeric Tables: Saved presets for the Arcs, Aspects, and Hotspot Degrees tables are now accessed by right-clicking anywhere on the table below the column header. The context menu lists the available presets and the options for managing them, matching the way presets work for body selection lists.

Time Zones Database: The global time zones database has been updated to the latest version.

Heliacal Visibility Model: The Heliacal Phenomenon study now exposes a Visibility Model selector (Arcus Visionis, Schaefer Visibility Limit, Schoch Min 7°, Schoch Min 9°, Pannekoek-Törnquist) that controls the algorithm Swiss Ephemeris uses to determine first/last visibility. The new default is Arcus Visionis, matching traditional astrological tooling. Users who relied on the previous results should explicitly select "Schaefer Visibility Limit" — for inferior planets such as Venus the choice can shift event dates by several days.

Heliacal Sky Conditions: The Heliacal Phenomenon study now exposes a Sky Conditions selector (Poor, Good, Excellent) that sets the Bemporad atmospheric extinction coefficient used in visibility calculations. The default is Good; clearer skies allow bodies to be seen closer to the Sun and shorten the invisibility window around conjunction.

Heliacal Visual Acuity: The Heliacal Phenomenon study now exposes a Visual Acuity selector (Normal, Good, Superior) that sets the observer's Snellen ratio used in visibility calculations. The default is Superior, matching the convention used by traditional astrological tooling; sharper acuity lets the observer detect a body at lower contrast and shifts heliacal events closer to conjunction.

Heliacal Solar Elongation: The Heliacal Phenomenon events table now includes a Solar Elongation column showing the signed angular difference between the body and the Sun (positive when the body is ahead of the Sun in zodiacal longitude/right-ascension order, negative when behind), normalised to the range −180° to +180° and displayed to five decimal places. The column is visible by default and sits between Body Speed and Sun Longitude.

System Updates: All software components have been updated to their latest versions.

The following bugs were fixed:

Latitude Extrema: Fixed an error where the event description builder incorrectly labeled latitude maxima as minima. This issue was limited to Timeline Studies and event descriptions copied directly from the events table.


Aquila 2.1.3 (April 7, 2026)

The following functionality has been added or enhanced:

Update Notifications: When a new version of Aquila is available for download, a toolbar button with a download glyph will appear next to the theme toggle button in the top-right region of the application window. Clicking on the button opens the download page for Aquila in the user's default web browser.

System Updates: All software components have been updated to their latest versions.

The following bugs were fixed:

Eclipse Metrics Tables: Fixed a crash that occurred when either Select or Deselect was clicked on in the context menu for the Eclipse Metrics tables (Lunar or Solar Eclipse studies).