Skip to content

Commit beb00b8

Browse files
authored
Update changelog for 0.43.0 release. (#2702)
Signed-off-by: Michael Robinson <[email protected]>
1 parent 4194d28 commit beb00b8

File tree

2 files changed

+106
-71
lines changed

2 files changed

+106
-71
lines changed

CHANGELOG.md

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,37 @@
11
# Changelog
22

3-
## [Unreleased](https://github.com/MarquezProject/marquez/compare/0.42.0...HEAD)
3+
## [Unreleased](https://github.com/MarquezProject/marquez/compare/0.43.0...HEAD)
44

5+
## [0.43.0](https://github.com/MarquezProject/marquez/compare/0.42.0...0.43.0) - 2023-12-15
56
### Added
6-
* API: support `DatasetEvent` [`#2641`](https://github.com/MarquezProject/marquez/pull/2641) [@pawel-big-lebowski]( https://github.com/pawel-big-lebowski)
7-
*Save into Marquez model datasets sent via `DatasetEvent` event type
8-
* API: support `JobEvent` [`#2661`](https://github.com/MarquezProject/marquez/pull/2661) [@pawel-big-lebowski]( https://github.com/pawel-big-lebowski)
9-
*Save into Marquez model jobs and datasets sent via `JobEvent` event type.
10-
* API: support streaming jobs [`#2682`](https://github.com/MarquezProject/marquez/pull/2682) [@pawel-big-lebowski]( https://github.com/pawel-big-lebowski)
11-
*Creates job version and reference rows at the beginning of the job instead of on complete. Updates job version within the run if anything changes.
7+
* API: refactor the `RunDao` SQL query [`#2685`](https://github.com/MarquezProject/marquez/pull/2685) [@sophiely](https://github.com/sophiely)
8+
*Improves the performance of the SQL query used for listing all runs.*
9+
* API: refactor dataset version query [`#2683`](https://github.com/MarquezProject/marquez/pull/2683) [@sophiely](https://github.com/sophiely)
10+
*Improves the performance of the SQL query used for the dataset version.*
11+
* API: add support for a `DatasetEvent` [`#2641`](https://github.com/MarquezProject/marquez/pull/2641) [`#2654`](https://github.com/MarquezProject/marquez/pull/2654) [@pawel-big-lebowski]( https://github.com/pawel-big-lebowski)
12+
*Adds a feature for saving into the Marquez model datasets sent via the `DatasetEvent` event type. Includes optimization of the lineage query.*
13+
* API: add support for a `JobEvent` [`#2661`](https://github.com/MarquezProject/marquez/pull/2661) [@pawel-big-lebowski]( https://github.com/pawel-big-lebowski)
14+
*Adds a feature for saving into the Marquez model jobs and datasets sent via the `JobEvent` event type.*
15+
* API: add support for streaming jobs [`#2682`](https://github.com/MarquezProject/marquez/pull/2682) [@pawel-big-lebowski]( https://github.com/pawel-big-lebowski)
16+
*Creates job version and reference rows at the beginning of the job instead of on complete. Updates the job version within the run if anything changes.*
17+
* API/spec: implement upstream run-level lineage [`#2658`](https://github.com/MarquezProject/marquez/pull/2658) [@julienledem](https://github.com/julienledem)
18+
*Returns the version of each job and dataset a run is depending on.*
19+
* API: add `DELETE` endpoint for dataset tags [`#2698`](https://github.com/MarquezProject/marquez/pull/2698) [@davidsharp7](https://github.com/davidsharp7)
20+
*Creates a new endpoint for removing the linkage between a dataset and a tag in `datasets_tag_mapping` to supply a way to delete a tag from a dataset via the API.
21+
* Web: add a dataset drawer [`#2672`](https://github.com/MarquezProject/marquez/pull/2672) [@davidsharp7](https://github.com/davidsharp7)
22+
*Adds a drawer to the dataset column view in the GUI.*
23+
24+
### Fixed:
25+
* Client/Java: change url path encoding to match jersey decoding [`#2693`](https://github.com/MarquezProject/marquez/pull/2693) [@davidjgoss](https://github.com/davidjgoss)
26+
*Swaps out the implementation of `MarquezPathV1::encode` to use the `UrlEscapers` path segment escaper, which does proper URI encoding.*
27+
* Web: fix pagination in the Jobs route [`#2655`](https://github.com/MarquezProject/marquez/pull/2655) [@merobi-hub](https://github.com/merobi-hub)
28+
*Hides job pagination in the case of no jobs.*
29+
* Web: fix empty search experience [`#2679`](https://github.com/MarquezProject/marquez/pull/2679) [@phixMe](https://github.com/phixMe)
30+
*Use of the previous search value was resulting in a bad request for the first character of a search.*
31+
32+
### Removed:
33+
* Client/Java: remove maven-archiver dependency from the Java client [`#2695`](https://github.com/MarquezProject/marquez/pull/2695) [@davidjgoss](https://github.com/davidjgoss)
34+
*Removes a dependency from `build.gradle` that was bringing some transitive vulnerabilities.*
1235

1336
## [0.42.0](https://github.com/MarquezProject/marquez/compare/0.41.0...0.42.0) - 2023-10-17
1437
### Added

dev/get_changes.py

Lines changed: 76 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,135 +1,147 @@
1-
#!/bin/bash
1+
#!/usr/bin/env python3
22
#
33
# Copyright 2018-2023 contributors to the Marquez project
44
# SPDX-License-Identifier: Apache-2.0
55

6-
from github import Github
7-
import rich_click as click
86
from datetime import date
97
from typing import TYPE_CHECKING
8+
9+
import rich_click as click
10+
from github import Github
11+
1012
if TYPE_CHECKING:
1113
from github.PullRequest import PullRequest
1214

13-
class GetChanges:
1415

16+
class GetChanges:
1517
def __init__(self, github_token: str, previous: str, current: str, path: str):
1618
self.github_token = github_token
1719
self.previous = previous
1820
self.current = current
1921
self.path = path
2022
self.pulls: list[PullRequest] = []
21-
self.rel_title_str: str = ''
23+
self.rel_title_str: str = ""
2224
self.text: list[str] = []
2325
self.new_contributors: dict[str:str] = {}
2426

2527
def get_pulls(self):
26-
print('Working on it...')
28+
print("Working on it...")
2729
g = Github(self.github_token)
2830
repo = g.get_repo("MarquezProject/marquez")
2931
prev_date = repo.get_release(self.previous).created_at
3032
commits = repo.get_commits(since=prev_date)
3133
self.pulls = [pull for commit in commits for pull in commit.get_pulls()]
32-
34+
3335
def write_title(self):
34-
self.rel_title_str = f'## [{self.current}](https://github.com/MarquezProject/marquez/compare/{self.previous}...{self.current}) - {date.today()}'
35-
36+
self.rel_title_str = f"## [{self.current}](https://github.com/MarquezProject/marquez/compare/{self.previous}...{self.current}) - {date.today()}" # noqa: E501
37+
3638
def describe_changes(self):
3739
for pull in self.pulls:
38-
3940
""" Assembles change description with PR and user URLs """
4041
entry = []
41-
if pull.user.login != 'dependabot[bot]':
42+
if pull.user.login != "dependabot[bot]":
4243
labels = []
4344
for label in pull.labels:
44-
if label.name != 'documentation':
45+
if label.name != "documentation":
4546
labels.append(label.name)
46-
change_str = f'* **{labels[0]}: {pull.title}** [`#{pull.number}`]({pull.html_url}) [@{pull.user.login}]({pull.user.html_url}) '
47-
47+
try:
48+
change_str = f"* **{labels[0]}: {pull.title}** [`#{pull.number}`]({pull.html_url}) [@{pull.user.login}]({pull.user.html_url}) " # noqa: E501
49+
except Exception:
50+
continue
4851
""" Extracts one-line description if present """
49-
beg = pull.body.find('One-line summary:') + 18
50-
if beg == 17:
51-
change_descrip_str = ' **'
52-
else:
53-
test = pull.body.find('### Checklist')
54-
if test == -1:
55-
end = beg + 75
52+
try:
53+
beg = pull.body.find("One-line summary:") + 18
54+
if beg == 17: # noqa: PLR2004
55+
change_descrip_str = " **"
5656
else:
57-
end = test - 1
58-
descrip = pull.body[beg:end].split()
59-
descrip_str = ' '.join(descrip)
60-
change_descrip_str = f' *{descrip_str}*'
61-
62-
entry.append(change_str + '\n')
63-
entry.append(change_descrip_str + '\n')
57+
test = pull.body.find("### Checklist")
58+
end = beg + 75 if test == -1 else test - 1
59+
descrip = pull.body[beg:end].split()
60+
descrip_str = " ".join(descrip)
61+
change_descrip_str = f" *{descrip_str}*"
62+
except Exception:
63+
continue
64+
65+
""" Checks for new contributor """
66+
self.check_new_contributor(pull)
67+
68+
entry.append(change_str + "\n")
69+
entry.append(change_descrip_str + "\n")
6470
self.text.append(entry)
6571

66-
def get_new_contributors(self):
67-
for pull in self.pulls:
68-
comments = pull.get_issue_comments()
69-
for comment in comments:
70-
if 'Thanks for opening your' in comment.body:
71-
self.new_contributors[pull.user.login] = pull.user.url
72+
def check_new_contributor(self, pull):
73+
comments = pull.get_issue_comments()
74+
for comment in comments:
75+
if "Thanks for opening your" in comment.body:
76+
self.new_contributors[pull.user.login] = pull.user.url
77+
78+
def print_new_contributors(self):
7279
if self.new_contributors:
73-
print('New contributors:')
80+
print("New contributors:")
7481
for k, v in self.new_contributors.items():
75-
print(f'@{k}: {v}')
82+
print(f"@{k}: {v}")
7683
else:
77-
print('Note: no new contributors were found.')
84+
print("Note: no new contributors were identified.")
7885

7986
def update_changelog(self):
80-
f = open('changes.txt', 'w+')
81-
f = open('changes.txt', 'a')
82-
f.write(self.rel_title_str + '\n')
83-
for entry in self.text:
84-
for line in entry:
85-
f.write(line)
86-
f.close()
87-
88-
with open('changes.txt', 'r+') as f:
87+
with open("changes.txt", "a") as f:
88+
f.write(self.rel_title_str + "\n")
89+
for entry in self.text:
90+
for line in entry:
91+
f.write(line)
92+
f.close()
93+
94+
with open("changes.txt", "r+") as f:
8995
new_changes = f.read()
90-
with open(self.path, 'r') as contents:
96+
with open(self.path) as contents:
9197
save = contents.read()
92-
with open(self.path, 'w') as contents:
98+
with open(self.path, "w") as contents:
9399
contents.write(new_changes)
94-
with open(self.path, 'a') as contents:
100+
with open(self.path, "a") as contents:
95101
contents.write(save)
96102

103+
97104
@click.command()
98105
@click.option(
99-
'--github_token', type=str, default=''
106+
"--github_token",
107+
type=str,
108+
default="",
100109
)
101110
@click.option(
102-
"--previous", type=str, default=''
111+
"--previous",
112+
type=str,
113+
default="",
103114
)
104115
@click.option(
105-
"--current", type=str, default=''
116+
"--current",
117+
type=str,
118+
default="",
106119
)
107120
@click.option(
108-
"--path",
109-
type=str,
110-
default='',
111-
help='absolute path to changelog',
121+
"--path",
122+
type=str,
123+
default="../marquez/CHANGELOG.md",
124+
help="path to changelog",
112125
)
113-
114126
def main(
115127
github_token: str,
116128
previous: str,
117129
current: str,
118130
path: str,
119131
):
120132
c = GetChanges(
121-
github_token=github_token,
122-
previous=previous,
123-
current=current,
124-
path=path
133+
github_token=github_token,
134+
previous=previous,
135+
current=current,
136+
path=path,
125137
)
126138
c.get_pulls()
127139
c.describe_changes()
128140
c.write_title()
129141
c.update_changelog()
130-
c.get_new_contributors()
131-
print('...done!')
142+
c.print_new_contributors()
143+
print("...done!")
144+
132145

133146
if __name__ == "__main__":
134147
main()
135-

0 commit comments

Comments
 (0)