-
-
Notifications
You must be signed in to change notification settings - Fork 405
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What is the versioning policy? #3185
Comments
@timj could you provide more details about the failing queries? There is a brief policy explanation here: In short - we do not, and cannot, guarantee backward compatibility at any point because we're subject to the whims of the upstream services: if they change a keyword or do anything different, everything in astroquery necessarily breaks, and so we don't attempt to hold to normal versioning standards. That said, SIMBAD tends to be very stable and I would not have expected this regression. We did do some cleanup/upgrades/fixing stuff that wasn't working as expected in a few PRs recently, but I wouldn't have expected it to affect your usage. |
I agree that the version numbers are somewhat unfortunate, practically any tagged version is to be treated as full-fledged feature release as we do not do patch releases (we should have deleted the leading That said, Simbad has been fully refactored. I don't think we anticipated breaking changes, and added deprecations at a lot of places, so if you could open an issue with the details it would be useful. |
I'll add another informal part of the policy that we haven't discussed, but I'd like to say out loud for the record: if upstream didn't break it, we shouldn't break it, if at all possible. |
And for the future: We plan to switch to date based releasing, and having much shorter release cycle. As Adam said above, we will never be able to guarantee any past releases to keep working as they may rely on a upstream services that have changed, but we do change the API with care and with deprecations whenever possible. |
Regarding the breaking changes for the Simbad queries: At a guess the old simbad query system returned RA, DEC etc in all upper case but the TAP service returns everything in all lower case. This does break all the code that is looking for RA etc in the table. RA and DEC were hms/dms strings but in the new version they are decimal degrees. From the query side
but then it fails anyhow:
This feels like an inconsistency in the deprecation handling. The sptype and z_value fields do get migrated to the new sp_type and rzv_redshift names for the query side and issue a warning saying what the new names should be in the results. And |
Regarding versions, date-based versions would be a huge improvement since it would then be obvious that semantic versioning is not involved. |
😄 that's kind of true all over in python land. (I mean the major version is usually indicated by semver minor :) ). Anyway, the timeline for the switch is soon, the packaging overhaul will be my first task once the paperwork is sorted out for the roses grant. |
Is there a document somewhere explaining the versioning policy for astroquery.
The 0.4.8 version completely broke compatibility with the Simbad queries as implemented in 0.4.7. At first glance this seems like a patch release that shouldn't break anything so I think at Rubin we may have understood the meaning of versions. Would it be possible in the release notes to indicate more strongly that breaking changes were present for a particular query component? Should we be using exact pins for astroquery in the future?
We did get some deprecation warnings that turned out to be immediately fatal (using
flux(U)
as a column name) but the resulting table had columns that were completely incompatible with the old version.cc/ @gpdf
The text was updated successfully, but these errors were encountered: