File mergiraf.changes of Package mergiraf

-------------------------------------------------------------------
Thu Oct 23 14:32:58 UTC 2025 - Andrei Dziahel <develop7@develop7.info>

- Update to version 0.15.0:
  * Set version to 0.15.0
  * feat(Python): Enable commutation of class attributes, with docstrings (#590)
  * doc: update `adding-a-language.md` (#596)
  * chore: Simplify pyproject language profile (#591)
  * chore: Update dependencies (#592)
  * feat: Support for `pyproject.toml` (#582)
  * fix(AstNode::bundle_comments): don't bundle at `A, // comment \n B` (#588)
  * tests: Utility to minimize test cases, continued (#527)
  * fix(typescript): Bad handling of semicolons in commutative merging of class bodies (#585)
  * fix: Reject parse trees with missing nodes (#587)
  * feat: bundle comments into nodes they annotate (#576)
  * feat: Install via `cargo binstall` (#583)
  * feat: Recover from commutative merging failures (#568)
  * chore: Update crate dependencies (#580)
  * chore: Update to Rust 1.89 (#579)
  * Set version to 0.14.0
  * fix: Panic in unicode boundary checking code (#578)
  * feat(merge,solve): create the debug dir if not present (#575)
  * refactor(AstNode): replace `UnsafeCell`s with `Cell`s (#574)
  * feat: Minimal CMake support (#572)
  * governance: Make mathstuf a developer (#566)
  * chore: Add `AstNode::succeeding_whitespace()` (#571)
  * fix: Switch from `grammar_name` to `kind` (#561)
  * refactor: return _exactly_ a `Conflict` from `TreeBuilder::build_conflict` (#569)
  * fix: Prevent the commutative merging of all `extra` elements (#562)
  * feat: add some signatures for children of commutative parents (#567)
  * fix(Rust): mark comments as atomic (#560)
  * misc(merged_text): clean-up and comments (#559)
  * chore: Improve log output (#553)
  * refactor(merge): `leak` in fewer places (#555)
  * feat: Switch to `tree-sitter-dart-orchard` (#557)
  * fix(`AstNode::parse`): respect char boundaries of `source` when informing about a parse error (#558)
  * feat: Add support for starlark. (#509)
  * chore: Switch to `tree-sitter-java-orchard` (#546)
  * perf(mgf_dev): Speed up commutative isomorphism via hashing (#536)
  * fix(ast): correct byte_range for empty injections (#543)
  * test(ast): improve legibility of `source` strings (#550)
  * refactor: get rid of some `Option/Result::and_then`s (#549)
  * ci: Fix `cargo install git-cliff` with `--locked` (#544)
  * chore(changelog): add commit ids to log entries without names (#547)
  * chore: Update dependencies (#548)
  * feat: add a Cargo feature for `mgf_dev`-specific functionality (#541)
  * feat(ParentType): make `Display` less verbose in the common case (#542)
  * chore(cargo/aliases): run `mgf_dev compare` in release mode (#539)
  * refactor(MultiMap): clean-up trait bounds (#538)
  * feat(parse): add an option to limit tree depth (#535)
  * fix(postprocess/merge_same_sigs): use the revisions that the node is actually known to be in (#533)
  * feat(TypeScript): commutative merging for union and intersection types (#531)
  * feat: Distinguish between exact and inexact initial matchings (#523)
  * refactor(tests): Inline all language-specific parse methods (#530)
  * chore: Print line numbers when reporting a syntax error (#529)
  * chore: Highlight new contributors in release notes (#528)

-------------------------------------------------------------------
Thu Oct 23 14:24:36 UTC 2025 - Andrei Dziahel <develop7@develop7.info>

- Update to version 0.15.0
  * Features
    + Recover from commutative merging failures (#568) by @wetneb
    + Install via cargo binstall (#583) by @wetneb
    + Bundle comments into nodes they annotate (#576) by @ada4a
    + Support for pyproject.toml (#582) by @wetneb
    + (Python) Enable commutation of class attributes, 
      with docstrings (#590) by @wetneb

  * Bug Fixes
    + Reject parse trees with missing nodes (#587) by @wetneb
    + (typescript) Bad handling of semicolons in commutative 
      merging of class bodies (#585) by @wetneb
    + (AstNode::bundle_comments) Don't bundle at `A, // comment \n B` 
      (#588) by @ada4a

  * Documentation
    + Update adding-a-language.md (#596) by @ada4a

  * Testing
    + Utility to minimize test cases, continued (#527) by @ada4a

  * Miscellaneous Tasks
    + Update to Rust 1.89 (#579) by @wetneb
    + Update crate dependencies (#580) by @wetneb
    + Update dependencies (#592) by @wetneb
    + Simplify pyproject language profile (#591) by @wetneb

  - Update to version 0.14.0
  * Features
    + (TypeScript) Commutative merging for union 
      and intersection types (#531) by @wetneb
    + Add support for starlark. (#509) by @amartani
    + Switch to the tree-sitter-dart-orchard dart parser (#557) by @wetneb
    + Add some signatures for children of commutative parents (#567) by @ada4a
    + Minimal CMake support (#572) by @OvidiusCicero

  * Bug Fixes
    + (postprocess/merge_same_sigs) Use the revisions that the node is actually 
      known to be in (#533) by @ada4a
    + (ast) Correct byte_range for empty injections (#543) by @wetneb
    + (AstNode::parse) Respect char boundaries of source when informing 
      about a parse error (#558) by @ada4a
    + (Rust) Mark comments as atomic (#560) by @wetneb
    + Prevent the commutative merging of all extra elements (#562) by @wetneb
    + Switch from grammar_name to kind (#561) by @wetneb
    + Panic in unicode boundary checking code (#578) by @wetneb

  * Other
    + (merged_text) Clean-up and comments (#559) by @ada4a

  * Refactor
    + (tests) Inline all language-specific parse methods (#530) by @wetneb
    + (MultiMap) Clean-up trait bounds (#538) by @ada4a
    + Get rid of some Option/Result::and_thens (#549) by @ada4a
    + (merge) leak in fewer places (#555) by @ada4a
    + Return exactly a Conflict from `TreeBuilder::build_conflict` 
      (#569) by @ada4a
    + (AstNode) Replace UnsafeCells with Cells (#574) by @ada4a

  * Performance
    + Distinguish between exact and inexact initial matchings (#523) by @wetneb
    + (mgf_dev) Speed up commutative isomorphism via hashing (#536) by @wetneb

  *Governance
    + Make mathstuf a developer (#566) by @wetneb

  * Testing
    + (ast) Improve legibility of source strings (#550) by @ada4a
    + (parse) Add an option to limit tree depth (#535) by @ada4a
    + (ParentType) Make Display less verbose in the common case (#542) by @ada4a
    + Add a Cargo feature for mgf_dev-specific functionality (#541) by @ada4a
    + (merge,solve) Create the debug dir if not present (#575) by @ada4a

  * Miscellaneous Tasks
    + Highlight new contributors in release notes (#528) by @wetneb
    + Print line numbers when reporting a syntax error (#529) by @wetneb
    + (cargo/aliases) Run mgf_dev compare in release mode (#539) by @ada4a
    + Update dependencies (#548) by @wetneb
    + (changelog) Add commit ids to log entries without names (#547) by @wetneb
    + Fix cargo install git-cliff with --locked (#544) by @wetneb
    + Switch to tree-sitter-java-orchard (#546) by @wetneb
    + Improve log output (#553) by @wetneb
    + Add AstNode::succeeding_whitespace() (#571) by @wetneb

  * New contributors
    + @OvidiusCicero made their first contribution in #572
    + @amartani made their first contribution in #509

-------------------------------------------------------------------
Thu Jul 31 12:32:19 UTC 2025 - Andrei Dziahel <develop7@develop7.info>

- drop mgf_dev binary
- Update to version 0.13.0:
  * Features
    + (verilog) Switch to tree-sitter-systemverilog (#514) by @come_744
    + (Python) Merge decorated methods and inner classes (#522) by @wetneb
    + (Haskell) More commutative parents and signatures (#488) by @maralorn
    + Add support for GNU Make (#510) by @twz123
  * Bug Fixes
    + (rust) Add signature to self in use_declaration (#505) by @ada4a
    + Improve detection of Jujutsu usage (#513) by @senekor
    + (tests) Correct python/working/all case (#524) by @wetneb
  * Other
    + Add cargo shortcuts for the subcommands of mergiraf and mgf_dev (#499) by @ada4a
  * Refactor
    + Add submodules to merged_tree.rs (#497) by @ada4a
    + (MergedTree) Take &Leader in methods to avoid derefs (#498) by @ada4a
    + (RevisionNESet) Use impl Deref<Target=RevisionSet> 
      instead of forwarding methods (#501) by @ada4a
    + (RevisionSet) Misc changes to iter and any (#502) by @ada4a
    + (mgf_dev) Only match on args.command once (#517) by @ada4a
    + (fallback_to_git_merge_file) Some minor clean-up (#518) by @ada4a
    + Simplify ParsedMerge::rev_range_to_merged_range (#525) by @wetneb
  * Documentation
    + Update rotten link (#504) by @ada4a
    + Use XDG paths for git directories (#508) by @jadeprime
  * Performance
    + (ParsedMerge::is_empty) Don't render the whole merge just to see 
      if it's empty (#526) by @ada4a
  * Testing
    + (lang_profile) Introduce helper to reduce (some) 
      boilerplate (#506) by @ada4a
    + Minimal environment when invoking git (#512) by @twz123
  * Miscellaneous Tasks
    + (lints) Also enable in mgf_dev (#500) by @ada4a
    + (flake) Update (#515) by @ada4a
  * New contributors
    + @twz123 made their first contribution in #510
    + @jadeprime made their first contribution in #508

- Update to version 0.12.1
  * Bug Fixes
    + Language detection by full filenames (#490) by @wetneb
    + Include full filenames in languages list (#493) by @wetneb
  * Refactor
    + Move priority_list to under tree_matcher (#495) by @ada4a
  * Miscellaneous Tasks
    + Update testing helpers to support test cases without extensions (#486) by @wetneb
    + Update dependencies (#483) by @wetneb
    + Fix crates.io upload (#494) by @wetneb
    + (cli/solve) Make --keep a hidden alias of --stdout (#496) by @ada4a

- Update to version 0.12.0
  * Features
    + (Python) Let elements of __all__ = [ … ] statements commute (#453) by @wetneb
    + (Haskell) Let type classes commute in deriving tuples (#454) by @wetneb
    + Support specifying full file names in language profiles (#465) by @wetneb
    + Support for go.mod files (#474) by @wetneb
    + Support for go.sum files (#476) by @wetneb
  * Bug Fixes
    + Add missing string signature to avoid duplicate elements in Python's __all__ (#455) by @wetneb
    + Check for Jujutsu repo at conflict location (#462) by @senekor
    + (PHP) Don't commutatively merge comments in declaration_lists (#459) by @wetneb
    + Ignore empty nodes in AstNode::isomorphic_to_source (#480) by @wetneb
    + Escape newlines in ascii art representation of trees (#481) by @wetneb
  * Refactor
    + Prepare for #448 (#452) by @ada4a
    + Use let-chains all over the place (#470) by @ada4a
  * Documentation
    + (usage) Decribe merge results in example-repo (#446) by @ada4a
  * Testing
    + Specify the language via a dedicated file (#464) by @wetneb
    + Update helpers to support explicit language setting (#475) by @wetneb
    + Reorganize parsed_merge tests (#472) by @ada4a
    + Add missing tests for go.mod support (#477) by @wetneb
  * Miscellaneous Tasks
    + Remove extra newlines between changelog items (#457) by @wetneb
    + Move mgf_dev to a separate package (#458) by @senekor
    + Add CONTRIBUTING.md (#438) by @wetneb
    + Warn of default_trait_access (#471) by @ada4a
    + (go.mod) Update parser to 0.4.0 (#478) by @wetneb
    + Use Docker image with Rust already installed (#468) by @wetneb

- Mergiraf 0.11.0
* Features
  + OCaml support (#426) by @thufschmitt
  + Elixir support (#427) by @noaccOS
  + Haskell support (#429) by @maralorn
  + (Haskell) Make record updates commutative and add signatures (#431) by @maralorn
  + (Rust) Support reordering declarations with attributes (#428) by @wetneb
  + Resolve file revisions from git commits (#434) by @xmo
* Bug Fixes
  + Improve error reporting when working copy is not in a conflict state (#423) by @xmo
* Other
  + Update (#442) by @ada4a
* Documentation
  + Small improvements to "Adding a language" (#430) by @wetneb
  + (usage) Fix typo (#432) by @ada4a
* Performance
  + Call checkout-index just once per file (#424) by @xmo
* Miscellaneous Tasks
  + Update Rust grammar to 0.7 (#435) by @wetneb
  + Fix formatting for CI to pass again (#444) by @wetneb
  + Make sure tests pass independently from the environment (#445) by @wetneb
  + Update tree-sitter-rust-orchard to 0.10.0 (#447) by @wetneb
  + Automate the release process (#433) by @wetneb

- Mergiraf 0.10.0
  * New languages
    + INI files (.ini) by @wetneb (#404)
    + HashiCorp Language (.hcl, .tf, .tfvars) by @maunzCache (#210)
  * Bug fixes
    + Be more careful when trimming newlines around the end of nodes, by @wetneb (#421)

- Mergiraf 0.9.0
  * New features
    + Support for nested languages (#403 by @wetneb). This makes it possible to 
      solve conflicts in different languages than the file's source, when 
      they are embedded through code blocks (for instance in Markdown). 
      This feature was sponsored by Stainless.
  * New languages
    + Markdown (.md) (#396 by @wetneb)
  * Documentation
    + Recommend to use * merge=mergiraf in gitattributes (#384 by @wetneb)
  * Performance
    + Avoid filling up MergedText with empty strings (#402 by @wetneb)

-------------------------------------------------------------------
Sat May 17 16:26:30 UTC 2025 - Martin Hauke <mardnh@gmx.de>

- Update to version 0.8.1
  * Maintenance release to update out of a yanked dependency.
- Update to version 0.8.0
  General improvements
  * feat: Specify different separators for each children group of
    a commutative parent.
  * fix: Avoid displaying spurious conflicts.
  * fix: Check that the merged text is syntactically valid and
    consistent with the merged tree.
  * fix: Handling of duplicate signatures in base revision.
  * fix: Don't match nodes of different types.
  * fix: Writing changeset to debug dir.
  Language-specific improvements
  * C/C++: Restrict commutativity of initializer_list.
  * C/C++: even more C++ file extensions.
  * C#: Restrict commutativity.
  * YAML: Fix handling of quoted strings.
- Update to version 0.7.0
  New languages
  * Java Properties (.properties).
  UX improvements
  * file formats can be selected manually using the new
    --language option.
  * zdiff3-style conflicts are detected and warned against, as
    Mergiraf doesn't support solving those.
  * using mergiraf solve together with jj gives a helpful error
    message.
  * the --keep option of mergiraf solve was renamed to --stdout.
  Bug fixes
  * Incorrect resolution of delete-delete conflict.
  * Spurious indentation changes on untouched nodes.
  * Missing file extensions for C++.
  * Unidentified conflict between --keep-backup and --stdout.
  * The --debug option was advertised in commands where it doesn't
    have any effect.
  * Java: Missing commutativity for 'throws' declarations.
  * Java: Missing commutativity in interfaces.
  * Python: Missing commutativity for "import from" statements.
  Performance
  * Many optimizations.

-------------------------------------------------------------------
Sun Mar  2 22:33:07 UTC 2025 - Martin Hauke <mardnh@gmx.de>

- Update to version 0.6.0:
  New language
  * SystemVerilog (*.sv, *.svh).
  * Nix (*.nix).
  New features
  * feat(LangProfile::detect_from_filename): handle extension
    comparison more correctly.
  * feat(MergedTree::line_based_local_fallback_for_revnode): handle
    the case of isomorphic left and right sides.
  * feat(line_based_merge_with_duplicate_signature_detection): if
    the line-merge has conflicts, reconstruct and check each
    revision.
  * feat: Add command to compare files by tree isomorphism.
  Fixes
  * fix(cli): add . to extensions in languages output.
  * fix(cli): add actual docs to --conflict-marker-size option.
  * fix(MergedTree/count_conflicts): respect conflict marker size.
  * fix(highlight_duplicate_signatures): don't remove separators
    if no conflict was built.
  * fix(TreeBuilder): resolve not-really-conflicts (left and right
    agree).
  Performance improvements
  * perf: use rustc-hash in more places.

-------------------------------------------------------------------
Sat Feb  8 10:43:50 UTC 2025 - Martin Hauke <mardnh@gmx.de>

- Update to version 0.5.1:
  Bugfix release
  * The --compact option works again, without needing to supply
    "--compact=true".

-------------------------------------------------------------------
Thu Feb  6 18:51:37 UTC 2025 - Martin Hauke <mardnh@gmx.de>

- Update to version 0.5.0:
  New languages
  * PHP
  * Solidity
  * TSX
  * Lua
  * Kotlin
  * Devicetree
  * Ruby
  Improvements
  * The histogram diff algorithm is used for line-based merges.
  * The mgf_dev parse command correctly displays nodes that have
    a signature and are commutative at the same time.
  * Don't add a newline at the end of merged / to-be-merged files.
  * Also parse correctly conflicts with non-newline-terminated
    sides.
  * The --keep-output option was added to the mergiraf solve to
    control the creation of .orig files.
  * The conflict size marker size can be controlled with option -l
  * The commutativity of various syntactic elements was restricted
    to avoid bad merges.
  * A --timeout option is available in mergiraf merge, to fall
    back on line-based merging if structured merging takes too
    long.
  * A panic when failing to commutatively merge a root node was
    fixed.
  Compatibility
  * Support for the MERGIRAF_DISABLE environment variable was
    removed, use mergiraf=0 instead.
  Performance
  * Many improvements reducing memory allocations.

-------------------------------------------------------------------
Sun Dec  8 09:30:11 UTC 2024 - Martin Hauke <mardnh@gmx.de>

- Update to version 0.4.0:
  New languages
  * Python
  * TOML
  * Scala
  * Typescript
  Performance
  * Many performance improvements.
  Bug fixes
  * The solve command preserves revision names in conflicts.
  * Don't swallow trailing whitespace of merged nodes.
  * Make helpers runnable from any directory.
  New features
  * Replace MERGIRAF_DISABLE=1 by mergiraf=0
  * Support for restricting commutativity.

-------------------------------------------------------------------
Wed Nov 13 20:01:16 UTC 2024 - mardnh@gmx.de

- Update to version 0.3.1:
  * Updated tree-sitter-xml to 0.7.0

-------------------------------------------------------------------
Tue Nov 12 18:43:16 UTC 2024 - Martin Hauke <mardnh@gmx.de>

- Update to version 0.3.0
  * New language: Dart (*.dart).
  * .cc files are correctly detected as C++.
  * Documentation improvements.
  * Fixes to the integration test suite when GPG signing is enabled

-------------------------------------------------------------------
Sun Nov 10 11:29:24 UTC 2024 - Martin Hauke <mardnh@gmx.de>

- Initial package, version 0.2.0
openSUSE Build Service is sponsored by