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

3.3.0 #176

Merged
merged 46 commits into from
May 26, 2020
Merged

3.3.0 #176

merged 46 commits into from
May 26, 2020

Conversation

richardwestenra
Copy link
Contributor

Release 3.3.0:

Major features and improvements

Bug fixes and other changes

ANA-POTJE and others added 30 commits March 3, 2020 15:19
Add typeof checks before invoking the window global, to prevent SSR builds breaking e.g. in GatsbyJS
The visibleNav calculation affects the flowchart width and is currently a class method used in multiple places, which is getting difficult to maintain. It's handled in this way because the boolean flag is stored in the Wrapper component state, so it can only be passed down as a prop. Moving this prop to the redux store and using selectors to manage the navWidth calculations will save time and make things more maintainable.
Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.3 to 5.7.4.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](acornjs/acorn@5.7.3...5.7.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update pylint version

* remove import-error disable

* move pylint disable

* trigger

Co-authored-by: Kiyo <921kiyo@users.noreply.github.com>
Prevent users from zooming too far in/out and panning too far up/down/left/right
Simplify the code and make it easier to follow
Also update node font-size and padding
- Separate graph nodes vertically (by layer)
- Add layer bands, and highlight them on hover
This commit introduces logic to calculate layer ordering server-side based on the layer's dependencies.
Update the node-list, replacing the Kedro-UI checkboxes with visibility icons, and adding node-type icons
It turns out that the width/height values in graphSize did not include margin. Adding these to the overall w/h value solves the bug.
Resolves KED-1564, fixing issues where Kedro-Viz needs to run on non-root URLs, e.g. on jupyter hub proxy
Improve the code for the node-list components by separating them into different files, and add more/better tests
The node active state changes often (e.g. on mouseover), and changing it triggers a complete update of a lot of more expensive filtering operations that are unaffected by whether a node is active (i.e. highlighted/hovered). Removing this prop from these mid-level selectors and adding it in at the render stage means that these selectors won't need to run as often, which should slightly improve mouseover performance.
Previously, Kedro-Viz would use a node's 'active' state to refer to multiple things:

1. When a node is hovered, or focused
2. When a node's tag is hovered
3. When a node has been clicked, and it is kept open (with the forthcoming meta panel)

I felt that we should style the 3rd case differently from the other two, as hovering is different from having the node selected, and the UI should reflect that. So in addition to 'active', I've added a new 'selected' visual UI state, that corresponds to the 'clicked' node store state as 'active' corresponds to 'hovered' node/tag states.

This PR also fixes a bunch of outstanding minor issues arising from the new node-list styling.
richardwestenra and others added 16 commits May 11, 2020 12:33
The random data generator now assigns layers in a way that make the ranks towards the top have more nodes than the ones at the bottom, which is more in line with how charts should behave in reality.

I've also added layers, and randomly assigned the number of ranks per layer, so that they will grow and shrink each time.
…158)

1. Refactor tooltips to turn it into a new standalone component.
2. Wrap tooltip text for long node names, by injecting zero-width spaces around special characters, and adding overflow-wrap: break-word; as a backup.
3. Make tooltips hang below their node in the top half of the screen, just as they do with their inverted horizontal positioning on the right side of the screen.
Add numerical counters to show the total number of nodes (and visible nodes) for each node-list group
1. config.js exports a function that creates an object literal. Some of these values could easily just be exportable string constants.
2. I've moved dataSource into its own file, and imported random data within it. This is because it's only called in `src/index.js`, so it would not be imported inside `src/components/App.js`, which means that the random data generator code would not be included in the exported package, which should reduce file-sizes slightly for projects that import Kedro-Viz. This is great because the random-data generator is only really useful in development/testing, and isn't that useful for package consumers
Downgrade flake8 to 3.8 due to some bug in 3.8.0
Change node-list group toggle button direction from pointing up when closed, to pointing right
List of changes:

1. Add new colour scheme styles
2. Update the image export styles, so that on the dark theme, it adds the dark background to the image, while in light mode it keeps the transparent background and instead changes the node/edge styling to the ones you sent over, so that it’s print-friendly.
3. Add `@media` print styles, so that it will print properly - see the image preview if you hit Cmd+P
4. Remove unused Sass variables, and rename colour variables
5. Hide layers bg gradient when layers are hidden
6. Rename flowchart classes to add 'pipeline-' prefix. This is to avoid compatibility issues with global classes when embedded in other projects
7. Reduce icon-toolbar width
8. Make sidebar margin a variable, and increase it
9. Fix broken layer gradient in Safari
1. Allow users to deselect a selected node with the escape key.
2. Allow users to deselect a selected node in the node-list by clicking it again.

## Major features and improvements

- **BREAKING CHANGE:** Drop support for Python 3.5 (#138)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While dropping Python 3.5 is a major change, it's not a breaking change. This release won't break anything, but users using Python 3.5 will get Kedro-Viz 3.2.0 as latest

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I know, but I just thought I'd flag it anyway so that it's really noticeable?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think adding "Drop support for Python 3.5 (#138)" at the top of "Major features and improvements" is really noticeable :) I wouldn't say "BREAKING CHANGE" because it's not.

Copy link
Contributor

@921kiyo 921kiyo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :)

@richardwestenra richardwestenra merged commit f2f9513 into master May 26, 2020
@richardwestenra richardwestenra deleted the release/3.3.0 branch May 26, 2020 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants