Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release 2.44.0 #5242

Closed
wants to merge 9 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .fides/db_dataset.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1093,6 +1093,8 @@ dataset:
data_categories: [system.operations]
- name: description
data_categories: [system.operations]
- name: purpose_header
data_categories: [system.operations]
- name: disabled
data_categories: [system.operations]
- name: dismissable
Expand Down Expand Up @@ -1921,6 +1923,8 @@ dataset:
data_categories: [system.operations]
- name: description
data_categories: [system.operations]
- name: purpose_header
data_categories: [system.operations]
- name: experience_config_id
data_categories: [system.operations]
- name: id
Expand All @@ -1936,7 +1940,7 @@ dataset:
- name: privacy_policy_url
data_categories: [system.operations]
- name: privacy_preferences_link_label
data_categories: [system.operations]
data_categories: [ system.operations]
- name: reject_button_label
data_categories: [system.operations]
- name: save_button_label
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ The types of changes are:
- Adding source and submitted_by fields to privacy requests (Fidesplus) [#5206](https://github.com/ethyca/fides/pull/5206)
- Added Action Required / Monitored / Unmonitored tabs to Data Detection & Discovery page [#5236](https://github.com/ethyca/fides/pull/5236)
- Adding erasure support for Microsoft Advertising [#5197](https://github.com/ethyca/fides/pull/5197)
- New purpose header field for TCF banner [#5246](https://github.com/ethyca/fides/pull/5246)

### Changed
- Removed unused `username` parameter from the Delighted integration configuration [#5220](https://github.com/ethyca/fides/pull/5220)
Expand All @@ -39,6 +40,12 @@ The types of changes are:
### Fixed
- Fix bug where Data Detection & Discovery table pagination fails to reset after navigating or searching [#5234](https://github.com/ethyca/fides/pull/5234)
- Ignoring HTTP 400 error responses from the unsubscribe endpoint for HubSpot [#5237](https://github.com/ethyca/fides/pull/5237)
- Fix bug where empty datasets / table wouldn't show a Monitor button [#5249](https://github.com/ethyca/fides/pull/5249)

### Security
- Reduced timing differences in login endpoint [CVE-2024-45052](https://github.com/ethyca/fides/security/advisories/GHSA-2h46-8gf5-fmxv)
- Removed Jinja2 for email templates, the variables syntax changed from `{{variable_name}}` to `__VARIABLE_NAME__` [CVE-2024-45053](https://github.com/ethyca/fides/security/advisories/GHSA-c34r-238x-f7qx)


## [2.43.1](https://github.com/ethyca/fides/compare/2.43.0...2.43.1)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
"save_button_label": "Save",
"title": "Manage your consent preferences",
"banner_description": null,
"purpose_header": "We use data for the following purposes",
"description": "We use cookies and similar methods to recognize visitors and remember their preferences. We may also use them to measure ad campaign effectiveness, target ads, and analyze site traffic. Depending on your location, you may opt-in or opt out of the use of these technologies.",
"privacy_experience_config_history_id": "pri_4aab49f4-8dfd-4f4b-a004-feda16971e2c"
},
Expand All @@ -73,6 +74,7 @@
"save_button_label": "Enregistrer",
"title": "Gestion du consentement et des préférences",
"banner_description": null,
"purpose_header": "Nous utilisons les données aux fins suivantes",
"description": "Nous utilisons des cookies et des méthodes similaires pour reconnaître les visiteurs de ce site et nous souvenir de leurs préférences. Nous pouvons également les utiliser pour mesurer l’efficacité d’une campagne publicitaire, proposer des publicités ciblées et analyser le trafic du site. En fonction de votre emplacement géographique, vous pouvez choisir d’accepter ou de refuser l’utilisation de ces technologies."
}
],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useState } from "react";
import { useMemo, useState } from "react";

import { ResourceChangeType } from "~/features/data-discovery-and-detection/types/ResourceChangeType";
import { DiffStatus } from "~/types/api";
Expand All @@ -12,25 +12,28 @@ const useDetectionResultsFilterTabs = ({
}: DetectionResultFiltersTabsProps) => {
const [filterTabIndex, setFilterTabIndex] = useState(initialFilterTabIndex);

const filterTabs = [
{
label: "Action Required",
filters: [DiffStatus.ADDITION, DiffStatus.REMOVAL],
childFilters: [DiffStatus.ADDITION, DiffStatus.REMOVAL],
},
{
label: "Monitored",
filters: [DiffStatus.MONITORED],
childFilters: [],
changeTypeOverride: ResourceChangeType.MONITORED,
},
{
label: "Unmonitored",
filters: [DiffStatus.MUTED],
childFilters: [],
changeTypeOverride: ResourceChangeType.MUTED,
},
];
const filterTabs = useMemo(
() => [
{
label: "Action Required",
filters: [DiffStatus.ADDITION, DiffStatus.REMOVAL],
childFilters: [DiffStatus.ADDITION, DiffStatus.REMOVAL],
},
{
label: "Monitored",
filters: [DiffStatus.MONITORED],
childFilters: [],
changeTypeOverride: ResourceChangeType.MONITORED,
},
{
label: "Unmonitored",
filters: [DiffStatus.MUTED],
childFilters: [],
changeTypeOverride: ResourceChangeType.MUTED,
},
],
[],
);

return {
filterTabs,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useState } from "react";
import { useMemo, useState } from "react";

import { DiffStatus } from "~/types/api";

Expand All @@ -16,24 +16,27 @@ const useDiscoveryResultsFilterTabs = ({
}: DiscoveryResultsFilterTabsProps) => {
const [filterTabIndex, setFilterTabIndex] = useState(initialFilterTabIndex);

const filterTabs = [
{
label: "Action Required",
filters: [
DiffStatus.CLASSIFICATION_ADDITION,
DiffStatus.CLASSIFICATION_UPDATE,
],
childFilters: [
DiffStatus.CLASSIFICATION_ADDITION,
DiffStatus.CLASSIFICATION_UPDATE,
],
},
{
label: "Unmonitored",
filters: [DiffStatus.MUTED],
childFilters: [],
},
];
const filterTabs = useMemo(
() => [
{
label: "Action Required",
filters: [
DiffStatus.CLASSIFICATION_ADDITION,
DiffStatus.CLASSIFICATION_UPDATE,
],
childFilters: [
DiffStatus.CLASSIFICATION_ADDITION,
DiffStatus.CLASSIFICATION_UPDATE,
],
},
{
label: "Unmonitored",
filters: [DiffStatus.MUTED],
childFilters: [],
},
],
[],
);

return {
filterTabs,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ export const findResourceType = (
if (!item) {
return StagedResourceType.NONE;
}
if (item.resource_type) {
return item.resource_type as StagedResourceType;
}

// Fallback to match the resource type based on the presence of
// nested resources.
if (item.schemas?.length) {
return StagedResourceType.DATABASE;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,15 @@ const PrivacyExperienceTranslationForm = ({
/>
</>
)}
{values.component === ComponentType.TCF_OVERLAY && (
<CustomTextInput
name={`translations.${translationIndex}.purpose_header`}
id={`translations.${translationIndex}.purpose_header`}
label="Purpose header (optional)"
tooltip="Appears above the Purpose list section of the TCF banner"
variant="stacked"
/>
)}
<CustomTextInput
name={`translations.${translationIndex}.accept_button_label`}
id={`translations.${translationIndex}.accept_button_label`}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ export const transformTranslationResponseToCreate = (
acknowledge_button_label: response.acknowledge_button_label ?? undefined,
banner_title: response.banner_title ?? undefined,
banner_description: response.banner_description ?? undefined,
purpose_header: response.purpose_header ?? undefined,
privacy_policy_link_label: response.privacy_policy_link_label ?? undefined,
privacy_policy_url: response.privacy_policy_url ?? undefined,
privacy_preferences_link_label:
Expand Down Expand Up @@ -162,7 +163,24 @@ export const getTranslationFormFields = (
modal_link_label: { included: true },
};
}
// For TCF overlay / default

if (component === ComponentType.TCF_OVERLAY) {
return {
title: { included: true, required: true },
banner_title: { included: true },
description: { included: true, required: true },
banner_description: { included: true },
purpose_header: { included: true },
accept_button_label: { included: true, required: true },
reject_button_label: { included: true, required: true },
save_button_label: { included: true, required: true },
acknowledge_button_label: { included: true, required: true },
privacy_policy_link_label: { included: true },
privacy_policy_url: { included: true },
modal_link_label: { included: true },
};
}
// For default
return {
title: { included: true, required: true },
description: { included: true, required: true },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ const defaultTranslation: ExperienceTranslation = {
acknowledge_button_label: "OK",
banner_description: "",
banner_title: "",
purpose_header: "",
description: "Description",
privacy_policy_link_label: "",
privacy_policy_url: "",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ interface ExperienceConfigParams {
type ExperienceConfigOptionalFields =
| "banner_title"
| "banner_description"
| "purpose_header"
| "privacy_policy_link_label"
| "privacy_policy_url"
| "modal_link_label";
Expand All @@ -46,6 +47,7 @@ export type ExperienceConfigUpdateParams = Omit<
id: string;
banner_title?: string | null;
banner_description?: string | null;
purpose_header?: string | null;
privacy_policy_link_label?: string | null;
privacy_policy_url?: string | null;
modal_link_label?: string | null;
Expand All @@ -59,6 +61,7 @@ export type ExperienceConfigCreateParams = Omit<
> & {
banner_title?: string | null;
banner_description?: string | null;
purpose_header?: string | null;
privacy_policy_link_label?: string | null;
privacy_policy_url?: string | null;
modal_link_label?: string | null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,17 @@ export type ExperienceConfigResponseNoNotices = {
*/
title?: string | null;
/**
* Banner description. HTML descriptions are supported so links can be included.
* Banner description. HTML descriptions are supported so links can be included if allowHTMLDescription option is true.
*/
banner_description?: string | null;
/**
* Overall description - used for banner as well if applicable. HTML descriptions are supported so links can be included.
*/
description?: string | null;
/**
* Purpose header appears above the list of purposes in the TCF overlay
*/
purpose_header?: string | null;
name: string;
disabled?: boolean | null;
dismissable?: boolean | null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,15 @@ export type ExperienceTranslation = {
*/
title?: string | null;
/**
* Banner description. HTML descriptions are supported so links can be included.
* Banner description. HTML descriptions are supported so links can be included if allowHTMLDescription option is true.
*/
banner_description?: string | null;
/**
* Overall description - used for banner as well if applicable. HTML descriptions are supported so links can be included.
*/
description?: string | null;
/**
* Purpose header appears above the list of purposes in the TCF overlay
*/
purpose_header?: string | null;
};
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,12 @@ export type ExperienceTranslationCreate = {
save_button_label?: string | null;
title: string;
/**
* Banner description. HTML descriptions are supported so links can be included.
* Banner description. HTML descriptions are supported so links can be included if allowHTMLDescription option is true.
*/
banner_description?: string | null;
description: string;
/**
* Purpose header appears above the list of purposes in the TCF overlay
*/
purpose_header?: string | null;
};
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,19 @@ export type ExperienceTranslationResponse = {
*/
title?: string | null;
/**
* Banner description. HTML descriptions are supported so links can be included.
* Banner description. HTML descriptions are supported so links can be included if allowHTMLDescription option is true.
*/
banner_description?: string | null;
/**
* Overall description - used for banner as well if applicable. HTML descriptions are supported so links can be included.
* Overall description - used for banner as well if applicable. HTML descriptions are supported so links can be included if allowHTMLDescription option is true.
*/
description?: string | null;
/**
* The versioned artifact of the translation and its Experience Config. Should be supplied when saving privacy preferences for additional context.
*/
privacy_experience_config_history_id: string;
/**
* Purpose header appears above the list of purposes in the TCF overlay
*/
purpose_header?: string | null;
};
Loading
Loading