Releases: CBIIT/ccdi-federation-api
Releases · CBIIT/ccdi-federation-api
v1.1.0-rc.1
This is a release candidate release for v1.1.0-rc.1
. See the CHANGELOG.md
for more information on what is being proposed.
v1.0.0
v1.0.0— 04-30-2024
Added
- Adds both local and global gateway definitions to subjects and samples. With
this change, subjects, samples, and files now have the same top-level keys in
their responses (link to discussion, #95).
Revised
- Removes namespace-partitioned count by results (link to discussion, #97).
- Updates diagnosis to support multiple values (#99).
Fixed
- Includes diagnosis in sample metadata field descriptions.
v1.0.0-rc.1
v1.0.0-rc.1 — 04-26-2024
Added
- Adds an endpoint to show an individual file (link to card, #82).
- Adds an endpoint to partition files by metadata elements and namespace (link to card, #82).
- Adds support for reporting the metadata fields for file at
/metadata/file/fields
(link to card, #82). - Nine new metadata elements were added (#89 and #91).
- The library strategy for the sample (CDE 6273393 v1.00, #48)
- The preservation method for the sample's biospecimen (CDE 8028962 v2.00, #64)
- Disease at diagnosis (unaligned, #52).
- A short title for a study (CDE 11459812 v1.00, #69).
- A funding id for a study (CDE 14528051 v1.00, #66).
- An identifier for a study (CDE 12960571 v1.00, #70).
- A name for a study (CDE 11459810 v1.00, #68).
- Institution (CDE 12662779 v1.00, #67).
- dbGaP phs Accession (CDE 11524544 v1.00, #65).
Changed
- Revises the data model for files to more closely match subjects and samples by adding a
ccdi_server::responses::File
object (#82). - Ensures that all primary entities must explicitly exclude missing metadata objects for primary entities (subject, sample, and file) by assigning it a value of
null
rather than simply omitting the key (#84). - Revises the way missing or
null
results are displayed in group by endpoints. In particular, there is now a top-levelmissing
key in those responses rather than using sentinel values to indicate missing data (#83). - Clarifies the language regarding the meaning of
null
within the API including guidance on when to returnnull
and how to interpretnull
results (particularly when combined with enumerated values of CDEs that appear to overlap with this concept) (#81).
Fixed
- Adds filtering to the
/file
endpoint (#88).
v0.7.0
v0.7.0 — 03-25-2024
Added
- Five new metadata elements were added for files
(#63). - A
Namespace
now represents a top-level governance grouping of entities within the CCDI
Federation API. See the new "Organizations", "Namespaces", and "Assigning Organizations and
Namespaces" sections in the Swagger specification to learn about how your design might need to
change to account for these new definitions
(#75). - Introduces
Organization
as a supporting entity with the corresponding/organization
and
/organization/{name}
endpoints (#75). - For all primary entities, an
Identifier
is now represented as both aNamespace
identifier and
aName
of the entity. - Identifiers, when referenced from within metadata blocks (but not when specified as the top-level
identifiers for subjects/samples/files) are now known as referenced identifiers. Their body
type has changed to includelinked::Identifier
s andunlinked::Identifier
s, which are wrapped
in anidentifier::Referenced
enum (#75). - The
identifiers
metadata field for aSubject
was changed from an owned metadata field to an
unowned metadata field (#75). - A new
identifiers
metadata field was added toSample
to support adding other known identifiers
at the sample level (#75). - For both samples and subjects, there is a new
partition
query parameter that needs to be
supported for the/{entity}/by/{field}/count
endpoint
(#75).- The only current valid value for the
partition
query parameter at the moment isnamespace
,
though this may be expanded in the future.
- The only current valid value for the
Changed
- Pagination is now required by default for primary entity root endpoints (
/subject
,/sample
,
and/file
) (#59). - HTTPS served on port 443 is now required
(#60). - Updates the name of the API to be the "CCDI Data Federation API".
Fixed
v0.6.1
v0.6.1 — 01-16-2024
Changed
- Corrects two issues with the v0.6.0 release (#51).
- Corrects the description of the sample metadata
tumor_tissue_morphology
to be specified as a
struct. Additionally, add theicd_o_3
code as a named struct field so that it will be named in
the wiki. - Adds the
age_at_vital_status
subject metadata toget_field_descriptions()
so that it will be
included in the wiki page generation.
- Corrects the description of the sample metadata
v0.6.0
v0.5.0
0.5.0 — 11-25-2023
Added
- Formalizes the
Namespace
entity and adds/info
endpoint (#27)./info
: Gets information about the server./namespace
: Lists namespaces known by this server./namespace/{name}
: Gets the namespace matching the provided name (if it exists).
- Adds a
InvalidRoute
error to give feedback in the response body when a route is not available (#28). - Adds an
UnshareableData
error to explain why data is not shareable (#29).
v0.4.0
0.4.0 — 11-02-2023
Added
- Adds filtering via query parameters for
/subject
and/sample
(#26). - Adds a reference from samples back to subjects (#25).
- Adds pagination to
/subject
and/sample
(#24). - New server endpoints.
- Adds Kids First Data Resource Center endpoint (#30).
Fixes
- Applies the
Refactory
->Refractory
typo present in the CDE 12217251 v1.00 (#23).
v0.3.0
0.3.0 — 11-02-2023
Revise
- Adds identifier with namespace to sample.
/sample/{name}
now updated to/sample/{namespace}/{name}
.
v0.2.0
0.2.0 — 11-02-2023
Added
- New endpoints for
/sample
./sample
: Gets the samples known by this server./sample/{name}
: Gets the sample matching the provided name (if the sample exists)./sample/by/{field}/count
: Groups the samples by the specified metadata field and returns counts.
- Adds character restrictions to harmonized and unharmonized fields (#19).
- Adds unharmonized metadata fields.
- Adds linting with
spectral
.
Revised
- Removes
null
-based metadata fields. - Supports full set of subject fields in group by count.
- Unharmonized keys can be any json string.
Fixes
- Fixed swapping of server descriptions (#18).
Important Chores
- Versions are now workspace-wide and in sync with API version