All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
The types of changes are:
Added
for new features.Changed
for changes in existing functionality.Developer Experience
for changes in developer workflow or tooling.Deprecated
for soon-to-be removed features.Breaking Changes
for updates that break public facing APIsDocs
for documentation only changes.Removed
for now removed features.Fixed
for any bug fixes.Security
in case of vulnerabilities.
- Add deprecation warning #1429
- Fix redis
db_index
config issue #1427 - Allow multiple masking strategies to be specified when using fides as a masking engine #1428
- Refactor privacy center to be more modular #1363
- Update docs footer links #1406
- Distinguish whether webhook has been visited and no fields were found, versus never visited #1339
- Fix Redis Cache Early Expiration in Tests #1358
- Limit values for the offset pagination strategy are now cast to integers before use #1364
- Allow
requires_input
PrivacyRequests to be addressed if a webhook is deleted, disabled, or updated #1394
api_key
auth strategy for SaaS connectors #1331- Access support for Rollbar #1361
- Adds a new Timescale connector #1327
- Allow querying the non-default schema with the Postgres Connector #1375
- Frontend - ability for users to manually enter PII to an IN PROGRESS subject request #1016
- Enable retries on saas connectors for failures at the http request level #1376
- Add consent request api #1387
- Add authenticated route to get consent preferences #1402
- Access and erasure support for Braze #1248
- Admin UI: Persist Redux store to localStorage #1401
- Access and update support for Firebase Auth #1339
- Adds the Braze connector to the SaaS connector registry #1418
- Removed
query_param
auth strategy asapi_key
auth strategy now supersedes it #1331
- Update Fidesops config with sane defaults where necessary #1393
- Created a docker image for the privacy center #1165
- Adds email scopes to postman collection #1241
- Clean up docker build #1252
- Add
Strategy
abstract base class for more extensible strategy development 1254
- Adds users and owners configuration for Hubspot connector #1091
- Foundations for a new email connector type #1142
- Have the new email connector cache action needed for each collection #1168
- Adds new Celery queue for async email dispatch #1173
- Added
execution_timeframe
to Policy model and schema #1244 - Added
due_date
to Privacy request model #1259 - Wrap up the email connector - it sends an email with erasure instructions as part of request execution #1246
- Added
days_left
field to Privacy request response #1281 - Mapping Vault environment variables in docker-compose.yml #1275
- Foundations for a new "manual_webhook" connector type #1267
- Add Days left display to admin ui #1283
- Data seeding for Datadog access tests #1269
- Added support for one-to-many relationships for param_values in SaaS configs #1253
- Added
due_date
sorting #1284 - Added erasure endpoints for Shopify connector #1289
- Adds ability to send email notification upon privacy request completion #1282
- Added human readable label to ConnectionType endpoint #1297
- Enable new manual webhooks in privacy request execution #1285
- Add table for consent #1301
- Adds ability to send email notification upon privacy request receipt #1303
- Utility to update SaaS config instances based on template updates #1307
- Added generic request sorting button #1320
- Adds ability to send email notification upon privacy request review #1306
- Add a Connector - upload a DB Dataset YAML #923
- Add a Connector - DB connector configs #922
- Add a Connector - SaaS Dataset Management (YAML method) #1090
- Frontend - Configure a Manual entry connector #1015
- Manual webhook test functionality #1323
- Added change request table #1340
- Renamed
PrivacyRequestIdentity
toIdentity
#1324 - Use existing Celery queue for all email dispatch calls #1341
- Created a docker image for the privacy center #1165
- Adds email scopes to postman collection #1241
- Clean up docker build #1252
- Add
Strategy
abstract base class for more extensible strategy development 1254
- Fix analytics opt out environment variable name #1170
- Added how to view a subject request history and reprocess a subject request #1164
- Adds section on email communications, and exposes previously hidden guides in nav bar #1233
- Change references to
FIDESOPS__CONFIG_PATH
toFIDES__CONFIG_PATH
#1302
- Fix issue with fideslog event loop errors #1174
- Allow passwords to be sent either base64 encode or as plaintext. #1236
- Allow worker to start up successfully for dev and dev_with_worker nox commands #1250
- Fix for pytest-asyncio bug #1260
- Fix download link in privacy center #1264
- Make admin ui work when volumes are mounted #1266
- Fixed typo in enum value #1280
- Remove masking of redis error log #1288
- Logout with malformed or expired token #1305
- The
toml
package is now included in the list of direct dependencies (requirements.txt
) #1338 - Fix bug where erasure counts instead of access results may be retrieved for certain collections on request retry #1349
- Bump python from 3.9.13 to 3.9.14 #1287
- Adds users and owners configuration for Hubspot connector #1091
- Foundations for a new email connector type #1142
- Adds endpoint for GET identity verification config #1221
- Add user identification flow to privacy center #1231
- Access support for Shopify #1220
The oauth2
strategy has been renamed to oauth2_authorization_code
in order to make a distinction between the newly introduced oauth2_client_credentials
strategy #1159
- Access support for Datadog Logs #1060
- Adds infra for email config and dispatch #1059
- Add an endpoint that allows you to create a Saas connector and all supporting resources with a single request #1076
- Add a Connection - SaaS connector's configuration parameters #761
- Saas Connector configuration - left navigation to toggle between connection params and dataset config #984
- SaaS Connector Configuration - Testing a Connection #985
- Add an endpoint for verifying the user's identity before queuing the privacy request. #1111
- Adds tests for email endpoints and service #1112
- Adds the ability to verify a subject's identity before processing a Privacy Request #1115
- Add option to login as root user from config#1116
- Added email templates #1123
- Add Retry button back into the subject request detail view #1128
- When releases are published, dispatch a repository webhook event to ethyca/fidesdemo #1075
- HTTP headers are now preserved in requests generated from SaaS connector pagination #1069
- Bump fideslib to fix issue where the authenticate button in the FastAPI docs did not work #1092
- Escape the Redis user and password to make them URL friendly #1104
- Reduced number of connections opened against app db during health checks #1107
- Fix FIDESOPSROOT_USERANALYTICS_ID generation when env var is set #1113
- Set localhost to None for non-endpoint events #1130
- Fixed docs build in CI #1138
- Added future annotations to privacy_request.py for backwards compatibility #1136
- Update request status endpoint to return both audit and execution logs [#1068] (#1068)
- Update backend routing to handle dynamic frontend routes #1033
- Make connection type search case-insensitive #1133
- Adjust log formatting to be %-style instead of f-string #1132
- Update
StorageConfig
to support multiple auth methods for S3 #1140
- Minor formatting updates to Policy Webhooks documentation #1114
- Removed create superuser #1116
- Erasure support for Salesforce #888
- Publish a
dev
tagged image on every push to main #956 - Access and erasure support for Sendgrid contacts endpoint #883
- Added saas config base info to connection config responses #904
- Access and erasure support for Adobe Campaign #905
- Added db vs saas to connection type api #937
- Retry a DSR (FE) #863
- Add a Connection - Select a connector to configure (front end) #760
- Add a Connection - Front End layout structure #866
- Enable python function overrides for SaaS connector request execution #986
- add Events and logs section to Subject Request Details Page #1018
- Access and erasure support for Auth0 #991
- Start better understanding how request execution fails #993
- Add approval
AuditLog
s for user and sytem approved privacy requests #1038 - Add finished
AuditLog
for subject requests #1040
- Users should be able to click on the full field of a dropdown-type filter to open up the dropdown #747
- Reorganize the core code logic to be easier to merge with fidesctl #1058
- Updated the python docker base image from slim-buster to slim-bullseye #928
- Removed ipython from the docker install #928
- Run static nox checks outside of Docker #1053
- Serve admin UI by default #906
- Move tests into an
ops
subdir #935 - Move client code into an
ops
subdir #964 - Updated the docs docker base image to be consistent with the fidesops image #949
- Update fidesops to use bcrypt for hashing #876
- Updated fideslog==1.1.0 #890
- Fix randomly failing mssql integration tests #918
- Update the way
make clean
works #767 - When releases are published, dispatch a repository webhook event to ethyca/fidesops-plus #945
- Added
nox
commands to replace theMakefile
#919 - GitHub Actions Workflows leverage
nox
commands #966 - The
docker-compose.yml
file no longer handles builds #966
- Added zendesk and salesforce connection pages #908
- Added documentation for OAuth2 configuration and usage #963
- Added nox command documentation #981
- Updated references to
fidesops.toml
to use lowercase values #952
- Correct build arg variable name #925
- Reduce number of clients connected to the application db #944
- Patch versioneer to allow editable installs #1070
- Add setuptools to dev-requirements to fix versioneer error and revert patch #1072
- Adds
COMPOSE_SERVICE_NAME
toMakefile
#884
- [Admin UI] Update Subject Request status filter to be a multiselect dropdown #513
- Add support for multiple statuses to be selected for filtering subject requests #660
- [Datastore Management] Include Icon with datastore connection (FE)#671
- Store provided identity data in the privacy request table #743
- [Datastore Management] Keep datastore cards in 1/3 screen pattern #745
- Adds SaaS connection type to SaaS yaml config 748
- Adds exact match identity search to the privacy request status endpoint #765
- Adds endpoint to get available connectors (database and saas) #768
- Erasure support for Zendesk #775
- Adds endpoint to get the secrets required for different connectors #795
- Adds Vault for secrets management #688
- Adds privacy_request_id placeholder to use in SaaS configs #911
- Update clipboard icon in Admin UI #838
- Stop masking uvicorn logs by default #831
- Bump fideslib to handle base64 encoded password #820
- Return identity data from application DB, instead of cache #860
- Update admin ui to be served from the root route
/
#720 - Refactored the root directory and various Docker-related files #877
- Replace user authentication routes with fideslib routes #811
- Reduce docker image size #846
- Load Celery config overrides from a dedicated
celery.toml
#821
- Backend UI deployment #827
- Fix publish_docs CI action #818
- Reorganize docs and standardize formatting #858
- Changed wording on Admin UI login page #774
- Fixed typos in Admin UI #774
- Resolve issue with MyPy seeing files in fidesops as missing imports #719
- Fixed
check-migrations
Make command #806 - Fix issue requiring separate install of snowflake-connector-python #807
- [User Management] Create new user gives HTTP 422 Unprocessable Entity exception #833
- Fix error when running
make test-data
862 - [User Management] Refactored New and Edit user pages to reduce duplicate code #839
- Fix error when there are no scopes in
ClientDetail
#830
fidesops worker
command for running a Celery worker #673
- Add fixture to clear tables between test #680
- Reduce the size of the docker image #707
- Parallelize CI safe checks to reduce run time #717
- Add dependabot to keep dependencies up to date #718
- Make running a worker node optional #770
- Base64 encode passwords on frontend #749
- Updated the tutorial installation to use main in fidesdemo #715
- Added a page on how to use the datastore UI #742
- Added a page on implementing and opting out of fideslog analytics #751
- Make reading of environment variables case insensitive #712
- Fix console warning in disable connection modal #750
- Fix no such container error with docker-compose #758
- Fixed issue with extending the configuration #721
- Subject Request Details page #563
- Restart Graph from Failure #578
- Redis SSL Support #611
- Celery as a dependency for use in the execution layer #610
- Cache and Surface Resume/Restart Instructions #591
- Build and deploy Admin UI from webserver #625
- Allow disabling a ConnectionConfig #637
- Erasure support for Outreach connector #619
- Adds searching of ConnectionConfigs #641
- Added
AdminUiSettings
to thelog_all_config_values
helper method #647 - Prettier formatting CI check for frontend code #655
- Adds default policies #654
- Added ConnectionConfig
connection_type
anddisabled
filters #675 - Adds Fideslog integration #541
- Adds endpoint analytics events #622
- Sample dataset for Salesforce with access configuration #676
- Sample dataset and access configuration for Zendesk (ticket endpoints) #677
- Include number of records to be masked in masking endpoint's log message #692
- Datastore Connection Landing Page #674
- Added the ability to delete a datastore from the frontend #683
- Added the ability to disable/enable a datastore from the frontend #693
- Adds Postgres and Redis health checks to health endpoint #690
- Adds the ability to revoke a pending privacy request #592
- Added health checks and better error messages on app startup for both db and cache #686
- Datastore Connection Filters #691
- Refactor auth and enable static file serving #577
- Bumped mypy to version 0.961 #630
- Bumped Python to version 3.9.13 in the
Dockerfile
#630 - Matched the path to the migrations in the mypy settings with the new location #634
- Sort ConnectionConfig by name ascending #668
- Install MSSQL By Default #664
- [Admin UI] Change "Policy Name" to "Request Type" on SR list page.#546
- Queue PrivacyRequests into a Celery queue for execution #621
- Added filtering clearing in datastore connections #701
- Subject Request detail documentation for the UI #702
- Fixed error with running mypy on M1 Macs #630
- Fixed error with mypy on Python versions greater than 3.9.6 #630
- Bumped fideslib to 2.0.4. This fixes the issue where alembic couldn't find the
fidesops.toml
file from its new location #643 - Fixes Postman Collection inconsistencies #704
- Database migrations now exist as part of the core
fidesops
package #620
- The
[package]
config section no longer exists #620
- Process privacy requests as Celery tasks and not background processes #621
- Added OAuth2 authentication strategy for SaaS connectors #555
- Added
FIDESOPS__SECURITY__LOG_LEVEL
configuration variable to allow controlling the log level #579 - Added
DEBUG
logs at startup to view all configuration values #579 - Modified
filter
post-processor to include toggles for exact and case sensitive matching #584 - Added dataset for Outreach with access configuration #588
- All directories containing
*.py
files now also contain__init__.py
files #590 - Pause Erasure Request Execution / Resume on Manual Input in #571
- Use the
RuleResponse
schema within thePrivacyRequestReposnse
schema #580 - Updated the webserver to use
PORT
config variable from thefidesops.toml
file #586 - Updated
black-ci
makefile command to also checktests/
directory #594
- Adds a script for MSSQL schema exploration #557
1.5.1 - 2022-05-27
- Added
FIDESOPS__DATABASE__ENABLED
andFIDESOPS__REDIS__ENABLED
configuration variables to allowfidesops
to run cleanly in a "stateless" mode without any database or redis cache integration #550 - Pause Access Request Execution / Resume on Manual Input in #554
- A
[package]
section of thefidesops.toml
configuration file may specify the path to thefidesops
package itself #566
MaskingStrategyFactory
and associatedMaskingStrategy
implementations now use a decorator-based registration system, to improve extensibility #560- Added
from __future__ import annotations
tosrc/fidesops/util/logger.py
to maintain backward compatibility with Python < 3.9 #569
- Import ordering is now enforced using isort in CI #533
- Teardown all Docker infra once it's finished with #498
- Update PR checklist for
CHANGELOG.md
file #558 - Database migrations are included in the published PyPI package #566
- Updated documentation for the user management ui #530
- Added documentation for the privacy center #549
- Fixed type errors for privacy center build #540
1.5.0 - 2022-05-18
- ESLint configuration changes #514
- User creation, update and permissions in the Admin UI #511
- Yaml support for dataset upload #284
- Update masking API to take multiple input values #443
- DRP feature documentation #520
1.4.2 - 2022-05-12
- GET routes for users #405
- Username based search on GET route #444
- FIDESOPS__DEV_MODE for Easier SaaS Request Debugging #363
- Track user privileges across sessions #425
- Add first_name and last_name fields. Also add them along with created_at to FidesUser response #465
- Denial reasons for DSR and user
AuditLog
#463 - DRP action to Policy #453
CHANGELOG.md
file#484- DRP status endpoint #485
- DRP exerise endpoint #496
- Frontend for privacy request denial reaons #480
- Publish Fidesops to Pypi #491
- DRP data rights endpoint #526
- Converted HTTP Status Codes to Starlette constant values #438
- SaasConnector.send behavior on ignore_errors now returns raw response #462
- Seed user permissions in
create_superuser.py
script #468 - User API Endpoints (update fields and reset user passwords) #471
- Format tests with
black
#466 - Extract privacy request endpoint logic into separate service for DRP #470
- Fixing inconsistent SaaS connector integration tests #473
- Add user data to login response #501
- Update masking API to take multiple input values #443
- Added issue template for documentation updates #442
- Clarify masking updates #464
- Added dark mode #476