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

Revive the changelog #300

Merged
merged 6 commits into from
Jan 12, 2019
Merged
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
67 changes: 66 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,69 @@
# Changes merged into master
# Releases

## Next (unreleased)

### Enhancements

* **Embedded mode:** Revisions to search and trace detail embed mode ([@tiffon](https://github.com/tiffon) in [#286](https://github.com/jaegertracing/jaeger-ui/pull/286))

* This release establishes our commitment to the `uiEmbed=v0` API
* A big thanks to [@aljesusg](https://github.com/aljesusg) for getting this off the ground in [#263](https://github.com/jaegertracing/jaeger-ui/pull/263)! :tada:

* **Trace detail:** Add a TraceGraph to the TracePage ([@copa2](https://github.com/copa2) in [#276](https://github.com/jaegertracing/jaeger-ui/pull/276))

* Stability: Experimental – See [#293](https://github.com/jaegertracing/jaeger-ui/issues/293) for discussion.
* Big thanks to [@copa2](https://github.com/copa2) for the contribution! :tada:
* **We would love to hear feedback!**

* **Trace detail:** Add a copy icon to entries in KeyValuesTable ([#204](https://github.com/jaegertracing/jaeger-ui/issues/204)) ([@everett980](https://github.com/everett980) in [#292](https://github.com/jaegertracing/jaeger-ui/pull/292))

* **Trace detail:** Add a Button to Reset Viewing Layer Zoom ([#215](https://github.com/jaegertracing/jaeger-ui/issues/215)) ([@everett980](https://github.com/everett980) in [#290](https://github.com/jaegertracing/jaeger-ui/pull/290))

* **Trace detail:** Add indent guides to trace timeline view ([#172](https://github.com/jaegertracing/jaeger-ui/issues/172)) ([@everett980](https://github.com/everett980) in [#297](https://github.com/jaegertracing/jaeger-ui/pull/297))

* **Search:** Add popover and prevent submit if duration params are invalid ([#244](https://github.com/jaegertracing/jaeger-ui/issues/244)) ([@everett980](https://github.com/everett980) in [#291](https://github.com/jaegertracing/jaeger-ui/pull/291))

* **Menu configuration:** Ability to open additional menu links in same tab (Resolves [#275](https://github.com/jaegertracing/jaeger-ui/issues/275)) ([@zablvit](https://github.com/zablvit) in [#278](https://github.com/jaegertracing/jaeger-ui/pull/278))

### Fixes

* **Trace detail:** Fix [#269](https://github.com/jaegertracing/jaeger-ui/issues/269) - Fix column resizer overlays trace header ([@tiffon](https://github.com/tiffon) in [#280](https://github.com/jaegertracing/jaeger-ui/pull/280))

### Chores & Maintenance

* **Dev docs:** Update a few links to the new website ([@ledor473](https://github.com/ledor473) in [#287](https://github.com/jaegertracing/jaeger-ui/pull/287))

* **Jaeger UI codebase:** Update create-react-app to 2.1.2 ([@tiffon](https://github.com/tiffon) in [#302](https://github.com/jaegertracing/jaeger-ui/pull/302))

## Changes released in Jaeger 1.8.2 and earlier

These changes are listed in chronological order by the date they were merged into master.

### [#263](https://github.com/jaegertracing/jaeger-ui/pull/263) Embedded components (SearchTraces and Tracepage ) ([@aljesusg](https://github.com/aljesusg))

### [#274](https://github.com/jaegertracing/jaeger-ui/pull/274) Fix rendering X axis in TraceResultsScatterPlot - pass milliseconds to moment.js ([@istrel](https://github.com/istrel))

### [#266](https://github.com/jaegertracing/jaeger-ui/pull/266) Use correct duration format for scatter plot ([@tiffon](https://github.com/tiffon))

### [#264](https://github.com/jaegertracing/jaeger-ui/pull/264) Fix collapse all issues ([@tiffon](https://github.com/tiffon))

### [#265](https://github.com/jaegertracing/jaeger-ui/pull/265) Fix Readme Error for setup local jaeger service ([@clyang82](https://github.com/clyang82))

### [#238](https://github.com/jaegertracing/jaeger-ui/pull/238) Span Search - Highlight search results ([@davit-y](https://github.com/davit-y))

### [#237](https://github.com/jaegertracing/jaeger-ui/pull/237) Span Search - Improve search logic ([@davit-y](https://github.com/davit-y))

### [#257](https://github.com/jaegertracing/jaeger-ui/pull/257) Use a sanely sized canvas for the span mini-map ([@tiffon](https://github.com/tiffon))

### [#234](https://github.com/jaegertracing/jaeger-ui/pull/234) Span Search - Add result count, navigation and clear buttons ([@davit-y](https://github.com/davit-y))

### [#228](https://github.com/jaegertracing/jaeger-ui/pull/228) Trace diffs ([@tiffon](https://github.com/tiffon))

### [#223](https://github.com/jaegertracing/jaeger-ui/pull/223) Add links to make values in tags or log properties clickable ([@divdavem](https://github.com/divdavem))

### [#230](https://github.com/jaegertracing/jaeger-ui/pull/230) Fix CollapseOne action ([@yuribit](https://github.com/yuribit))

### [#224](https://github.com/jaegertracing/jaeger-ui/pull/224) Directed graph React component ([@tiffon](https://github.com/tiffon))

### [#221](https://github.com/jaegertracing/jaeger-ui/pull/221) Timeline Expand and Collapse Features

Expand Down
6 changes: 6 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
{
"private": true,
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "https://github.com/jaegertracing/jaeger-ui.git"
},
"devDependencies": {
"babel-eslint": "9.x.x",
"eslint": "5.6.0",
Expand All @@ -14,6 +18,8 @@
"flow-bin": "^0.71.0",
"glow": "^1.2.2",
"husky": "1.3.1",
"isomorphic-fetch": "2.2.1",
"jsdom": "13.1.0",
"lerna": "^2.10.2",
"prettier": "^1.10.2",
"rxjs-compat": "6.3.3"
Expand Down
94 changes: 94 additions & 0 deletions scripts/get-changelog.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
#!/usr/bin/env node

// Copyright (c) 2019 Uber Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// This code will generate changelog entries
// eslint-disable-next-line import/no-extraneous-dependencies
const fetch = require('isomorphic-fetch');
// eslint-disable-next-line import/no-extraneous-dependencies
const jsdom = require('jsdom');

const DOMAIN = 'https://github.com/';

const URL_PARTS = [`${DOMAIN}jaegertracing/jaeger-ui/pulls?page=`, '&q=is%3Apr+is%3Amerged&utf8=%E2%9C%93'];

function getData(elm) {
const title = elm.querySelector('[data-hovercard-type="pull_request"]').textContent;
const url = elm.querySelector('[data-hovercard-type="pull_request"]').href;
const pid = /#\d+/g.exec(elm.querySelector('.opened-by').textContent)[0];
const user = elm.querySelector('[data-hovercard-type="user"]').textContent;
const dateMerged = new Date(elm.querySelector('[datetime]').getAttribute('datetime'));
return { title, url, pid, user, dateMerged };
}

function fmtPr(data) {
const { title, url, pid, user } = data;
return `- ${title} ([@${user}](https://github.com/${user}) in [${pid}](${url}))`;
}

function compareMergedDates(a, b) {
return a.dateMerged > b.dateMerged ? 1 : Number(a.dateMerged === b.dateMerged) - 1;
}

function getPrData(document) {
const wrapper = document.querySelector('[aria-label="Issues"]');
const issues = [].slice.call(wrapper.querySelectorAll('.js-issue-row'));
const okIssues = issues.filter(elm => !elm.querySelector('[aria-label*="Closed"]'));
return okIssues.map(getData);
}

function getMergedPrs(page) {
const _page = page == null || isNaN(page) ? 1 : Number(page);
const url = URL_PARTS.join(_page);
return (
fetch(url)
.then(resp => resp.text())
.then(textContent => {
const dom = new jsdom.JSDOM(textContent, { url: DOMAIN });
return getPrData(dom.window.document);
})
// eslint-disable-next-line no-console
.catch(error => console.error(error))
);
}

function getChangelog(pages) {
const _pages = pages == null || isNaN(pages) ? 1 : Number(pages);
const promises = [];
for (let i = 1; i <= _pages; i++) {
promises.push(getMergedPrs(i));
}
return (
Promise.all(promises)
.then(groups => [].concat(...groups))
.then(items => {
items.sort(compareMergedDates);
items.reverse();
return items;
})
// eslint-disable-next-line no-console
.catch(error => console.error(error))
);
}

if (require.main === module) {
getChangelog(process.argv[2] || 1)
// eslint-disable-next-line no-console
.then(items => console.log(items.map(fmtPr).join('\n\n')))
// eslint-disable-next-line no-console
.catch(error => console.error(error));
} else {
module.exports = getChangelog;
}
4 changes: 2 additions & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7740,7 +7740,7 @@ isobject@^3.0.0, isobject@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"

isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1:
isomorphic-fetch@2.2.1, isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
dependencies:
Expand Down Expand Up @@ -8172,7 +8172,7 @@ jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"

jsdom@>=11.0.0:
jsdom@13.1.0, jsdom@>=11.0.0:
version "13.1.0"
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-13.1.0.tgz#fa7356f0cc8111d0f1077cb7800d06f22f1d66c7"
dependencies:
Expand Down