Releases: NASA-IMPACT/nasa-apt
Releases Β· NASA-IMPACT/nasa-apt
v2.4.0-beta
Changelog
π Features
- Inline equations!
- ATBD Version lock endpoint, backed by permissions model handling!
π Improvements
- Convert
plain_summary
andabstract
to rich-text type fields - PDF improvements (ref):
- Remove date from PDF for non-published ATBDs, display
published_at
date for published ATBDS - Add page break after table of contents
- Add custom headings (centered and light gray) for both journal and regular PDFs
- Remove date from PDF for non-published ATBDs, display
- Return HTML content with parsed error + full error in dropdown when PDF generation fails
- Update email template (ref)
- Update test user emails in fixture data (loaded when running an instance of the API locally)
- Update cognito user sub regex in data migration upload script to ignore image filenames that have a UUID
- Update deployment script to use new permission boundary (mcp-tenantOperator-APIG)
π Fixes
- Add
publication_checklist
as parameter when creating a new major version to ensure publication checklist from parent version gets passed to new version - Ensure whitespaces in
hyperref
text are respected - Remove
uvicorn
requirement to resolve version incompatibility betweenclick
andblack
+ pin black code formatter tov22.3.0
- Add file permissions to LaTeX class file when building docker image
- Raise error when ATBD alias is updated (thanks @oliverroick)
- Handle abstract as option in PDF generation
v2.2.3-beta
Changelog
π Features
- GCC deployed!
- Add migration scripts:
download.py
andupload.py
(runpython3 [download.py|upload.py] --help
from the command line for details on how to use the scripts)
π Improvements
- Add
mcp-TennantOperatorBoundary
permissions boundary to enable programmatic deployments into the GCC environment - Add private subnet to the stack's VPC for GCC deployment
- Note: in non-GCC (ie: non-production) stacks the RDS instance will be placed in the public subnet, with access granted only to the Lambda function's security group. This means that each person who wishes to access the RDS instance should add their WIFI network to the RDS instance's security group ingress rules. In GCC, access to the RDS can only be gained by SSH'ing into an EC2 instance placed within the same VPC (ie: a jumpbox instance).
- Note: when creating a VPC with just public subnets (like it was in the previous deployment) the VPC's CIDR gets split up between the subnets (one per Availability Zone). Since all IP addresses are allocated, it's not possible to add a private subnet to the VPC. It's also not possible to reduce the CIDR range of an existing subnet, so the VPC (and therefore the whole stack) must be re-deployed.
- Deploy the Lambda function into the VPC to have a security group that can be granted access to the RDS instance
- Add a NAT Gateway to the VPC's public subnet to enable the Lambda function to access the internet/other AWS resources.
- Add SNAPSHOT removal policy to RDS instance (for all stages)
- Add DESTROY removal policy to S3 bucket and ElasticSearch domain for non-prod deployments (to avoid littering AWS environments with unused resources when tearing down and re-building stacks)
- Enable case IN-sensitivity for cognito user pool email attribute (Note: this requires re-deploying the stack)
- Add open source license (Thanks @code-geek!)
- Enable custom domain name for RDS instance for easier resource identification
π Fixes
- Remove unnecessary IAM role granting the Lambda function access to the cloudwatch logs, which was creating a separate, empty lambda function. Lambda functions have access to cloudwatch logs by default.
v2.1.3-beta
v2.1.3-beta
π Features:
- π¦
π Improvements:
- Enable greek character support in text
π Bugfixes:
- π¦
v2.1.2-beta
Changelog:
Features π :
- π¦
Improvements π :
- π¦
Bugfixes π :
- Skip filtering on empty data access url lists to maintain backward compatibility with published data
v2.1.1-beta
Changelog
π Features
- π¦
π Improvements
(All of the following improvements have been applied to the Journal PDF)
- Move corresponding author from title page footnote to after affiliations
- List authors with only first initial
- Rename "Data availability" section to "Open Research" and move to before "Discussion"
- Start section numbering at "Introduction"
- Remove "Contacts" section
- Make subsections and sub-subsection non-bold
- Add equation numbering by switching from the math environment to the equation environment
- Add fields to references:
report_number, doi, online_resource, other_reference_details, series
(series
gets changed tojournal
sinceseries
isn't a field used in the@article
citation type ofapacite
) - Add
nolinkurl
to hyperref text to ensure thathyperref
will wrap long hyperlinks according to the same url wrapping/breaking logic from theurl
package (ie: break on all symbols like?,#,&,-,/
as opposed to plain text wrapping, which only breaks on whitespace and hyphens
π Fixes
- Split tables longer than a full page over multiple page
v2.1.0-beta
Changelog
π Features
- Adds application level roles:
curator
andcontributor
- Adds document level roles:
owner
,authors
,reviewers
- Obfuscates user information depending on role of requesting user (eg:
author
-type user cannot see username and email ofreviewer
-type user) - Adds application-level user management functionalities (eg: add user X to ATBD Y as a reviewer)
- Restricts these functionalities to
curator
type user - Adds
/events
endpoint for document state management (eg: request review --> deny review) - Adds email notification for relevant users when transitioning state
- Adds Comments and Comment Thread functionalities
- Add changelog support
- Adds Publication Units calculation
- Adds GCMD keyword API integration
π Improvements
- Adds filtering for LIST /atbds by user role within the ATBD (eg: "show me all the ATBD where I am a contributor, but not an author")
- Implements
agujournal.cls
Latex class for improved formatting of Journal PDFs - Adds Abstract, Plain Language Summary, Keypoints and Keywords to journal PDF
- Adds HTML error response to PDF generation failure
π Fixes
- Fixes ElasticSearch failing to index plain text timestamps
v2.0.0-beta3
Changelog:
π Features
- Add ability to create, update, delete and resolve threads!
- Add ability to create, update, delete comments within threads!
- Add email notifications!
π Improvements
- Implement Bearer token parsing using the fastapi-cloudauth library for native handling of the token parsing and better integration with the FastAPI docs page
- Add a
get_token
endpoint that allows users to retrieve an ID token directly from the API - Add user info to
created_by
andlast_updated_by
fields of comments, threads, atbds, atbd_versions - Implement apa style references in PDF document (as specified by the AGU Latex guidelines)
- Update document sections and contact roles
- Add default
NO_JOURNAL
value for thejournal_status
field - Block Atbd Alias update when at least one version has been published
π Fixes
DataAccessUrls
now accepts empty strings as value for eitherurl
ordescription
- Fix bugs with missing user info in
/events
API endpoint response
v2.0.0-beta2
Changelog:
v2.0.0-beta2 (hotfix):
π Features:
- π¦
π Improvements:
- Merges the Lambda Docker image and the Local Docker image into a single docker image with different ENTRYPOINT/CMD directives, in order to avoid problems with Latex packages installing differently locally and in the lambda image, since the lambda image used to be centOS based.
- Some improvements to table generation, including table content wrapping, and setting the pandas.max_colwidth property to None to ensure that Pandas doesn't truncate cell content, when generating a latex table from a DataFrame
π Bugfixes:
- Escapes special chars (including the U0A00 , which translates to \nobreakspace in Latex)
- Fixes a typo in journal_discussion
Version 2.0.0-beta1
Deploys all changes made in API V2 up to date:
- Migrate from Postgrest to FastAPI
- Refactor PDF generation
- Migrate from pure cloudformation to CDK
- Migrate from ECS images to Lambda + API Gateway