v29.0.0 (2025-03-26)¶
New Features¶
Added tools for comparing schemas in the
diffmodule. These can be run from the command line withfelis diff. (DM-46130)Added column grouping functionality to the data model. Column groups are sets of related columns that, in addition to the standard object attributes, may have an
ivoa:ucd. Information on column groups was also added to the User Guide. (DM-48427)
Other Changes and Additions¶
Added Python 3.13 to supported versions. No code changes were required. (DM-47900)
An API Removal or Deprecation¶
Removed the
apply_schema_to_tablesflag on theMetaDataBuilderwhich creates SQLAlchemyMetaDatafrom a FelisSchema. This was a redundant variable as enabling theapply_schema_to_metadataflag already correctly associated the metadata to the schema. (DM-47256)Removed the
tapmodule, which was replaced bytap_schema. Theinit-tapcommand was removed from the CLI and replaced withinit-tap-schema. (DM-48616)
v28.0.0 (2024-11-26)¶
New Features¶
Added a new
tap_schemamodule designed to deprecate and eventually replace thetapmodule. This module provides utilities for translating a Felis schema into a TAP_SCHEMA representation. The commandfelis load-tap-schemacan be used to activate this functionality. (DM-45263)Added a check to the data model which ensures that all constraint names are unique within the schema. TAP_SCHEMA uses these names as primary keys in its
keystable, so they cannot be duplicated. (DM-45623)Added automatic ID generation for objects in Felis schemas when the
--id-generationflag is included on the command line. This is supported for thecreateandvalidatecommands. Also added a Schema validator function that checks if index names are unique. (DM-45938)
Bug Fixes¶
Fixed a bug where the error locations on constraint objects during validation were reported incorrectly. This was accomplished by replacing the
create_constraints()function with a Pydantic discriminated union. (DM-46002)
v27.0.0 (2024-04-17)¶
New Features¶
Added option for setting TAP_SCHEMA index in
load-tapcommand. (DM-43683)Added option for creating a schema’s database if it does not exist when running the
createcommand. (DM-43108)Added setting of log level and output file in the CLI (DM-43040)
Created a validator that will look for redundant datatype specifications. This is activated from the command line with the
--check-redundant--datatypesflag. (DM-41247)
API Changes¶
Added a new
metadatamodule for generating SQLAlchemyMetaDatafrom a schema. This replaces the old module that was used in thecreatecommand for initializing the database. (DM-43079)Made columns nullable by default in the Pydantic data model. (DM-43753)
Refactored the
tapmodule to use the Pydantic data model. (DM-42935)Moved database utilities into a separate package and refactored them. (DM-44721)
An API Removal or Deprecation¶
Documentation Improvements¶
Updated Felis documentation infrastructure. (DM-43787)