Changelog¶
v28.0.0 (2024-11-26)¶
New Features¶
Added a new
tap_schema
module designed to deprecate and eventually replace thetap
module. This module provides utilities for translating a Felis schema into a TAP_SCHEMA representation. The commandfelis load-tap-schema
can 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
keys
table, so they cannot be duplicated. (DM-45623)Added automatic ID generation for objects in Felis schemas when the
--id-generation
flag is included on the command line. This is supported for thecreate
andvalidate
commands. 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-tap
command. (DM-43683)Added option for creating a schema’s database if it does not exist when running the
create
command. (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--datatypes
flag. (DM-41247)
API Changes¶
Added a new
metadata
module for generating SQLAlchemyMetaData
from a schema. This replaces the old module that was used in thecreate
command for initializing the database. (DM-43079)Made columns nullable by default in the Pydantic data model. (DM-43753)
Refactored the
tap
module 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)