Skip to content

Releases: Avni2000/MergeNB

v0.4.0

Choose a tag to compare

@Avni2000 Avni2000 released this 29 Apr 16:17

What's Changed

Full Changelog: 0.3.0...0.4.0

v0.3.0

Choose a tag to compare

@Avni2000 Avni2000 released this 13 Apr 22:10

TL;DR

Readable line lengths, playground scaffolding.

What's Changed

  • Readable line lengths and inline resolved cell edit functionality by @Avni2000 in #223
  • Renders markdown within resolved cells by @Avni2000 in #226
  • MergeNB playground on docusaurus website by @Avni2000 in #225

Full Changelog: 0.2.0...0.3.0

I'm trying to release more often, and in smaller chunks, so there'll be more of these.

v0.2.0

Choose a tag to compare

@Avni2000 Avni2000 released this 11 Apr 18:06

TL;DR

  • Migrated to monorepo structure to accomodate:
    • future git mergetool
    • current website
  • Migrated tests to Playwright testing structure, where they now run headlessly and in parallel, as well as with fantastic logging.
  • A very basic docusaurus site is up at the moment, containing the README and the unmerged work I was doing to make the playground.
  • Removed lots of dead code with knip!

What's Changed

  • chore(deps-dev): bump eslint from 10.0.3 to 10.1.0 in the dev-dependencies group by @app/dependabot in #197
  • chore(deps): bump the production-dependencies group with 2 updates by @app/dependabot in #198
  • Headless and parallelized tests by @Avni2000 in #199
  • Consolidate requiresVSCode tests into a single combined run by @Avni2000 in #201
  • Migrate to playwright test structure by @Avni2000 in #203
  • chore(deps): bump the production-dependencies group with 6 updates by @app/dependabot in #205
  • Verify .vsix matches development behavior by @Avni2000 in #207
  • [CI] Update dependabot config to use bracket-style commit prefixes by @xingzihai in #212
  • fix markdown render styles by @Avni2000 in #214
  • Migrate to monorepo by @Avni2000 in #215
  • Remove lots of dead code by @Avni2000 in #216
  • ci: bump actions/upload-artifact from 4 to 7 by @app/dependabot in #210
  • Add all packages to dependabot and add cooldown by @Avni2000 in #217
  • Initialize docusaurus website by @Avni2000 in #218
  • fix(ci): release and packaging process for monorepo structure by @Avni2000 in #220

New Contributors

Full Changelog: 0.1.1...0.2.0

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 23 Mar 04:19

Caution

This tag is BROKEN. Do not use it. Activation events won't fire correctly

I left a small typo in version 0.1.0, and fixed it here, along with some QOL changes:

  • you can now select whatever text you want
  • we now overwrite if one of incoming/current == base, and the other differs, instead of showing a conflict.
    • this aligns with the typical git (or really all VCS) logic
    • this applies for all aspects of a notebook metadata, output, cell content, etc.

What's Changed

Full Changelog: 0.1.0...0.1.1

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Mar 23:44

Caution

This tag is BROKEN. Do not use it. Activation events won't fire correctly.

I will be keeping a more watchful eye on releases now that the process is somewhat automated, but

TL;DR:

  • Handle all 7 git conflict types (even though UU is by far the most common)
  • Handle cell reordering conflicts better
  • Remove and guard against nbdime
  • Expanded the test suite greatly
  • Various UI improvements
  • Fixed a ton of smaller logic bugs

v0.1.0 Changelog

New Features

  • We now handle all 7 git conflict types #135
  • Reordered cell conflict resolution: Reordered cells are now a first-class conflict type. A new UI lets you unmatch and rematch cells that were reordered across branches, so you can accept or reject moves at specific locations rather than being forced into base-anchored order. #151
  • Undo/redo history: Full undo/redo support (with optional hotkeys) for conflict resolution actions, backed by a new Zustand + Immer state store. Also adds per-row draft editing with commit-on-blur and a toggleable base column.
  • CodeMirror syntax highlighting: All code cells now use CodeMirror for syntax highlighting across all supported kernel languages, replacing plain <pre> rendering.
  • Light theme: A new beige/checkered light theme matching the MergeNB logo aesthetic, configurable via mergeNB.ui.theme in VS Code settings.
  • Character-level diffs: Inline diff highlighting now uses CodeMirror's merge engine for character-level granularity instead of a hand-rolled line-based LCS algorithm.
  • Style and Markdown rendering improvements: Visual polish pass including LaTeX rendering fixes and improved Markdown display.

Fixes & Improvements

  • Status bar auto-triggers on git merge: The status bar now detects conflicted .ipynb files automatically when a git merge is in progress.
  • Guard against merge.tool=nbdime: MergeNB now detects when nbdime is configured as the merge tool and provides a terminal-ready remediation guide.
  • Conflict detection hardened: Metadata and semantic conflicts are now evaluated independently from content conflicts, preventing false resolutions.
  • Strip output/metadata settings respected: The stripOutput and stripMetadata settings are now correctly applied during resolution.
  • All settings respected + regression tests: Fixed a regression where some settings were silently ignored; added a settings test matrix.
  • XSS prevention: SVG output cells are now sanitized with DOMPurify; web session auth is hardened against local data exposure.
  • Null current-cell index handling: Fixed incorrect index calculation when the current branch has a null/deleted cell.
  • Canonical Jupyter MIME types: Switched to the official Jupyter MIME type library for output rendering.
  • Removed drag-and-drop: Experimental drag-and-drop row reordering removed to reduce UI complexity.

v0.0.6

v0.0.6 Pre-release
Pre-release

Choose a tag to compare

@Avni2000 Avni2000 released this 12 Feb 20:19

TL;DR

  • Fix for incoming cells dropping when base == source
  • Metadata merging fixes and edge cases
  • Regression tests

What's Changed

  • [CI] [ENHANCEMENT] Add support for MacOS and VSCode 1.80.0 by @Avni2000 in #77
  • [FEAT] Global Cell matching algorithm by @Avni2000 in #78
  • [FIX] Incoming cells now overwrite instead of dropping by @Avni2000 in #81
  • [FIX] Metadata Holes by @Avni2000 in #83

Full Changelog: 0.0.5...0.0.6

0.0.5

0.0.5 Pre-release
Pre-release

Choose a tag to compare

@Avni2000 Avni2000 released this 11 Feb 20:11
2880aac

TL;DR

  • Restores Windows functionality for finding conflicted notebooks
  • Adds Windows to CI
  • Caches dependencies in CI correctly

What's Changed

  • [CI] [FIX] Functionality for Finding Conflicts on Windows by @Avni2000 in #76

Full Changelog: 0.0.4...0.0.5

v0.0.4

v0.0.4 Pre-release
Pre-release

Choose a tag to compare

@Avni2000 Avni2000 released this 11 Feb 05:32

TL;DR

  • Undo/Redo Support
  • Performance Improvements
  • Testing Harness Improvements
  • Diff styling improvements

What's Changed

  • [FEAT] Add undo/redo support with history panel by @Copilot in #50
  • chore(deps-dev): bump react-dom and @types/react-dom by @dependabot[bot] in #56
  • chore(deps-dev): bump react and @types/react by @dependabot[bot] in #54
  • chore(deps-dev): bump the dev-dependencies group with 3 updates by @dependabot[bot] in #52
  • ci: bump actions/cache from 4 to 5 by @dependabot[bot] in #61
  • ci: bump actions/setup-node from 4 to 6 by @dependabot[bot] in #60
  • ci: bump actions/checkout from 4 to 6 by @dependabot[bot] in #59
  • [FEAT] Refactor integration test structure and fix CLI functionality by @Avni2000 in #51
  • chore(deps-dev): bump the production-dependencies group across 1 directory with 4 updates by @dependabot[bot] in #62
  • Fix image flickering from ResizeObserver/virtualization feedback loop by @Copilot in #63
  • [FIX] Improve-diffs by @Avni2000 in #65
  • [FIX] Properly pass headless settings to testing framework by @Avni2000 in #67
  • [FIX] Perf improvements by @Avni2000 in #69
  • [FEAT] Virtualize Cell Rows with TanStack and React Callbacks by @Avni2000 in #71
  • [FEAT] Performance improvements + Fix Image Rendering by @Copilot in #66

Full Changelog: 0.0.3...0.0.4

v0.0.3

v0.0.3 Pre-release
Pre-release

Choose a tag to compare

@Avni2000 Avni2000 released this 06 Feb 19:17

This is a relatively more mature release of the web port, with bug fixes and full integration tests + harnesses

What's Changed

  • [FIX] Switch to the much lighter KaTeX library by @Avni2000 in #24
  • Optimize WebConflictPanel rendering for large notebooks via virtualization and lazy MathJax by @Copilot in #23
  • [FIX] Rebuild notebook from unified rows + resolved text areas by @Avni2000 in #30
  • Remove webview compatibility layer and unused utilities by @Copilot in #31
  • [FIX] Success Screen fixes by @Avni2000 in #32
  • [FIX] Calculate DOM for virtualization behaviour by @Avni2000 in #33
  • [FEAT] Create a Testing Harness by @Avni2000 in #34
  • Replace Levenshtein-based LCS with snaking algorithm for cell matching by @Copilot in #41
  • [CI] Implement caching for playwright, npm, and vscode by @Avni2000 in #42
  • [ENHANCEMENT] Adds take all current/incoming/base by @Avni2000 in #43
  • [FEAT] Generic Testing Harness + "Take All" tests by @Avni2000 in #44

Full Changelog: 0.0.2...0.0.3

v0.0.2

v0.0.2 Pre-release
Pre-release

Choose a tag to compare

@Avni2000 Avni2000 released this 03 Feb 20:38

TL;DR:

Ported to Web, working out the kinks.

What's Changed

  • [Refactor] Sorting logic to create a wrapper for sorting by postion by @Avni2000 in #9
  • chore(deps-dev): bump typescript-eslint from 8.53.1 to 8.54.0 in the production-dependencies group by @dependabot[bot] in #14
  • chore(deps-dev): bump @types/node from 25.0.10 to 25.2.0 in the dev-dependencies group by @dependabot[bot] in #13
  • Remove textual conflict marker support, consolidate to semantic resolution only by @Copilot in #15
  • [MIGRATE] [WEB] Port to Web-based merge resolver by @Avni2000 in #16
  • [FEAT] Optimize WebConflictPanel rendering for large notebooks via virtualization and lazy MathJax

Full Changelog: 0.0.1...0.0.2