Skip to content

v4.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 15 Aug 21:47
· 158 commits to main since this release

What's Changed

  • Updated package.json engines minimum requirements to include Yarn 3 (>=3.5.0) and Node 18 (>=18.0.0) for improved performance, better node_modules resolvers, updated V8 JavaScript engine, and global fetch enabled by default.
  • dnd kit replaces React DnD for performant drag-n-drop operations; including smooth dragging in and out of Stack components, consistent dragging with multiple cards present on canvas, and additional new features (i.e. bounded dragging, sorted cards within Stacks, etc.).
  • TypeScript updated to TypeScript 5.0 which includes new decorators standards, added functionality to better support ESM projects in Node and bundlers, and the new extends keyword.
  • React updated to React v18.0 which includes automatic batching, new APIs like startTransition, streaming server-side rendering with support for Suspense, and a new concurrent renderer that enables catching rendering errors with an error boundary.
  • Electron updated to Electron 25.0.0 which includes upgrades to Chromium 114, V8 11.4, and Node.js 18.15.0. This update also implements net.fetch within Electron's net module, using Chromium's networking stack (this differs from Node's fetch(), which uses Node.js' HTTP stack), and adds protocol.handle to replace the deprecated protocol.{register,intercept}{String,Buffer,Stream,Http,File}Protocol.
  • Material UI updated from Material UI v4 to v5 which includes replacing JSS for Emotion as the default styling solution, support for React 18, and minimum bundled version requirements of Node 12, React 17, and TypeScript 3.5.
  • Removal of Cache objects within the Redux store to reduce memory overhead and disk thrashing when projects containing git repositories with lots of branches and commits are loaded.
  • Introduction of Commit objects within the Redux store to centralize the management of git commit state across branches as they are loaded into the GitGraph visualization.
  • Expanded functionality within GitGraph to include context menus for checking out at specific commits/branches, staging/unstaging changes within branches, committing/reverting changes within branches, resolving merge conflicts, and deleting branches.
  • Fail only on error messages in stderr output stream for cloneRepo command by @nelsonni in #970
  • Resolve hierarchical grouping in branch names for listBranch command by @nelsonni in #977
  • Consolidate branch merging into Branch objects to maintain consistent unmerged status information by @nelsonni in #1028
  • Remove unnecessary RootState typing when calling useAppSelector by @nelsonni in #1029
  • Bump actions/checkout from v2 to v3 by @nelsonni in #1030
  • Bump actions/setup-node from v2 to v3 by @nelsonni in #1031
  • Use createAsyncThunk.withTypes<>() from RTK 1.9 for pre-typed createAsyncThunk by @nelsonni in #1056
  • Process MergeOutput to handle successful, failed, and halted merges by @nelsonni in #1059
  • Prune stale linked worktrees in buildRepo to prevent ENOENT errors when loading root directories by @nelsonni in #1060
  • Enable ESLint @typescript-eslint/naming-convention rules by @nelsonni in #1061
  • Migrate react-flow-renderer v10 to reactflow v11 for consistent graph construction in GitGraph by @nelsonni in #1080
  • Fix/serializable state invariant perf by @nelsonni in #1151
  • Replace uuid package with built-in Crypto library for generating UUIDs by @nelsonni in #1152

Chores

Full Changelog: v3.2.0...v4.0.0