Skip to content

Commit 1fb65f3

Browse files
Merge branch 'main' into MTA-5533
2 parents 800a405 + 4b93348 commit 1fb65f3

File tree

82 files changed

+898
-532
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+898
-532
lines changed

bin/check-review-dates.py

Lines changed: 42 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
import logging
33
from slack_sdk import WebClient
44
from datetime import timedelta, date, datetime
5+
import json
56

67
DEFAULT_VAL_FREQ = 6
8+
FILEPATH = "./" ## for local testing use "../" and shift filepath_list[] indexes +1
79

810
def convert_to_date_and_delta(val_date, val_freq):
911
"Converts validation date string to datetime and validation frequency string (months) to timedelta."
@@ -15,6 +17,26 @@ def convert_to_date_and_delta(val_date, val_freq):
1517
# handles the case where validation format is incorrect
1618
return None, None
1719

20+
def get_prod_cat_ref():
21+
"Makes a dictionary where keys are product slugs and values are their category label and product label"
22+
23+
product_categories = {}
24+
25+
# Load the menu file
26+
with open(FILEPATH + 'menu/navigation.json', 'r') as file:
27+
data = json.load(file) # Parse the JSON content into a Python dictionary or list
28+
29+
for grouping in data:
30+
for category in grouping["items"]:
31+
category_label = category["label"]
32+
for product in category["items"]:
33+
product_label = product["label"]
34+
product_slug = product["slug"]
35+
36+
product_categories[product_slug] = [category_label, product_label]
37+
38+
return(product_categories)
39+
1840
def needs_review(val_date, val_freq):
1941
"Returns true if doc needs to be reviewed, based on val date and frequency"
2042
val_date_conv, val_freq_conv = convert_to_date_and_delta(val_date, val_freq)
@@ -60,32 +82,38 @@ def process_files(directory):
6082
docs_to_review.append(filepath)
6183
return docs_to_review
6284

63-
def get_doc_cat_name(filepath):
64-
"Returns a document-to-review's category and tidied-up filepath, based on its raw filepath."
85+
def get_doc_cat_name(filepath, prod_cat_ref):
86+
"Returns a document-to-review's category and tidied-up filepath, based on its raw filepath and the prod_cat_ref dict."
6587
trimmed_filepath = filepath[2:-4]
6688
filepath_list = trimmed_filepath.split("/")
6789

6890
if filepath_list[0] == "tutorials":
69-
category = filepath_list[0]
91+
category_product = "Tutorials"
7092
elif filepath_list[0] == "faq":
71-
category = filepath_list[1]
93+
category_product = "FAQ"
7294
else:
73-
category = ' '.join(filepath_list[0:2])
74-
75-
return category, trimmed_filepath
95+
# catches everything in pages
96+
category = prod_cat_ref.get(filepath_list[1], ["Unknown", "Unknown"])[0]
97+
product = prod_cat_ref.get(filepath_list[1], ["Unknown", "Unknown"])[1]
98+
category_product = category + ": " + product
99+
100+
return category_product, trimmed_filepath
76101

77102
def organize_docs_by_category(docs_to_review):
78103
"Organizes docs to review by category into a dictionary."
79104
print("Organizing docs by category")
80105
dict_by_cat = {}
81-
106+
107+
# one shot: make a dict of all products and their categories, based on menu file
108+
prod_cat_ref = get_prod_cat_ref()
109+
82110
for filepath in docs_to_review:
83-
category, trimmed_filepath = get_doc_cat_name(filepath)
111+
category_product, trimmed_filepath = get_doc_cat_name(filepath, prod_cat_ref)
84112

85-
if category not in dict_by_cat:
86-
dict_by_cat[category] = [trimmed_filepath]
113+
if category_product not in dict_by_cat:
114+
dict_by_cat[category_product] = [trimmed_filepath]
87115
else:
88-
dict_by_cat[category].append(trimmed_filepath)
116+
dict_by_cat[category_product].append(trimmed_filepath)
89117

90118
# sort the dictionary alphabetically by category
91119
dict_by_cat_sorted = {key: value for key, value in sorted(dict_by_cat.items())}
@@ -98,7 +126,7 @@ def prep_message(docs_to_review_by_cat):
98126
message = ":wave: Hi doc team, here are some docs to review: \n \n"
99127

100128
for key in docs_to_review_by_cat:
101-
message += "*" + key.title() + "*" + "\n"
129+
message += "*" + key + "*" + "\n"
102130
for doc in docs_to_review_by_cat[key]:
103131
message += doc + "\n"
104132
message += "\n"
@@ -116,7 +144,7 @@ def send_message(message):
116144
)
117145

118146
def main():
119-
docs_to_review = process_files(".")
147+
docs_to_review = process_files(FILEPATH)
120148
docs_to_review_by_cat = organize_docs_by_category(docs_to_review)
121149
message = prep_message(docs_to_review_by_cat)
122150
if os.environ.get("DRY_RUN") != "true":

changelog/january2025/2025-01-15-kubernetes-removed-container-storage-interface-csi-driv.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ category: containers
99
product: kubernetes
1010
---
1111

12-
The Scaleway Block Volume Container Storage Interface (CSI) driver **v0.2** will reach its end of support on **January 31, 2025**.
12+
The Scaleway Block Volume Container Storage Interface (CSI) driver **v0.2** will reach its end of support on **February 28, 2025**.
1313

1414
To ensure continued compatibility, **we recommend upgrading to the latest version (v0.3)** as soon as possible.
1515

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: Periodic report duplication
3+
status: fixed
4+
author:
5+
fullname: 'Join the #transactional-email channel on Slack.'
6+
url: 'https://slack.scaleway.com'
7+
date: 2025-01-29
8+
category: managed-services
9+
product: transactional-email
10+
---
11+
12+
We have resolved an issue where some clients received multiple reports per Project. The periodic report is now being sent correctly, as expected.
13+
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: DKIM Enhancement - Stronger Signature
3+
status: security
4+
author:
5+
fullname: 'Join the #transactional-email channel on Slack.'
6+
url: 'https://slack.scaleway.com'
7+
date: 2025-01-29
8+
category: managed-services
9+
product: transactional-email
10+
---
11+
12+
We have enhanced the security of DKIM (DomainKeys Identified Mail) signatures by including additional headers. This improvement strengthens email authentication, reduces the risk of spoofing, and enhances deliverability across various email providers.
13+
The following headers are now included in the DKIM signature:
14+
The following headers are now included in the DKIM signature:
15+
- List-ID
16+
- List-Help
17+
- List-Owner
18+
- List-Post
19+
- List-Subscribe
20+
- List-Unsubscribe
21+
- List-Unsubscribe-Post
22+
- Message-ID
23+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: Environmental footprint calculator is now in Public Beta allowing you to track and understand the environmental impact of your cloud resources
3+
status: added
4+
author:
5+
fullname: 'Join the #environmental-footprint channel on Slack.'
6+
url: 'https://slack.scaleway.com'
7+
date: 2025-01-30
8+
category: environmental-footprint
9+
product: environmental-footprint
10+
---
11+
12+
The Environmental Footprint calculator is currently available for Elastic Metal offers. The calculator will progressively integrate all Scaleway products. Refer to the [Environmental Footprint documentation](/environmental-footprint/)  for more information.
13+

changelog/serverless/january2023/2023-01-11-added-functions-php-extensions.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ category: serverless
99
product: functions
1010
---
1111

12-
The PHP Runtime for Serverless Functions now supports [more extensions](/serverless-functions/reference-content/functions-runtimes-configuration/).
12+
The PHP Runtime for Serverless Functions now supports [more extensions](/serverless-functions/reference-content/functions-runtimes/).

changelog/serverless/september2022/2022-09-08-functions-changed-nodejs.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ product: functions
1212
NodeJS 18 is now in general availability.
1313

1414

15-
For more information please refer to our [dedicated documentation](/serverless-functions/reference-content/functions-lifecycle/).
15+
For more information please refer to our [dedicated documentation](/serverless-functions/reference-content/functions-runtimes/).

changelog/serverless/september2022/2022-09-08-functions-deprecated-go.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ product: functions
1111

1212
- Golang and Go113 will reach end of support. We recommend you update to go1.17 or a newer version.
1313

14-
For more information please refer to our [dedicated documentation](/serverless-functions/reference-content/functions-lifecycle/).
14+
For more information please refer to our [dedicated documentation](/serverless-functions/reference-content/functions-runtimes/).

changelog/serverless/september2022/2022-09-08-functions-deprecated-nodejs.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ product: functions
1212
- NodeJS 8 and NodeJS 10 will reach end of support. We recommend you update to Node 14 or a newer node version.
1313
- NodeJS 17 will reach end of support. We recommend you update to NodeJS 18.
1414

15-
For more information please refer to our [dedicated documentation](/serverless-functions/reference-content/functions-lifecycle/).
15+
For more information please refer to our [dedicated documentation](/serverless-functions/reference-content/functions-runtimes/).

changelog/serverless/september2022/2022-09-08-functions-deprecated-python.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ product: functions
1212
- Python and Python 2.7 will reach end of support. We recommend you update to a newer version of Python.
1313
- Python 3 will reach end of support. We recommend you update to Python 3.7.
1414

15-
For more information please refer to our [dedicated documentation](/serverless-functions/reference-content/functions-lifecycle/).
15+
For more information please refer to our [dedicated documentation](/serverless-functions/reference-content/functions-runtimes/).

0 commit comments

Comments
 (0)