Published June 4, 2026 | Version v0.5.0

HyperAST

Authors/Creators

Description

You can explore the capabilities of our tool reproductibly through our graphical interface in a few steps:

  • run the backend in a terminal
    • download the docker image: HyperAST-.v0.5.0.tar.gz
    • load it with docker: docker load < HyperAST-.v0.5.0.tar.gz
    • run the image: docker run -p 8888:8888 hyperast:0.5.0
  • serve the frontend in another terminal and access it via a web browser
    • download the source: HyperAST/HyperAST-v0.5.0.zip
    • then serve hyper_app/dist/index.html with the static web server of your choice like http-server

You can also find alternative ways and further intructions in the README at the root of the code base, in the book and through the inline documentation.

What's Changed

  • Major refactoring: using the Lender pattern in many places in https://github.com/HyperAST/HyperAST/pull/57
  • Better construction monitoring and speed (for cpp) in https://github.com/HyperAST/HyperAST/pull/58
  • cleanup(matchers, decompressed_trees) in https://github.com/HyperAST/HyperAST/pull/59
  • better handling of roles (fields in tree-sitter) in https://github.com/HyperAST/HyperAST/pull/60
  • put my modified cpp grammar behind a feature and consider more roles in https://github.com/HyperAST/HyperAST/pull/61
  • many refactoring and bug fixes in https://github.com/HyperAST/HyperAST/pull/62
  • Many improvments in https://github.com/HyperAST/HyperAST/pull/63
  • Took care of many chores in https://github.com/HyperAST/HyperAST/pull/64
  • Update flake.lock in https://github.com/HyperAST/HyperAST/pull/56
  • Add benchmark for the runtime when constructing an HyperAST in https://github.com/HyperAST/HyperAST/pull/66
  • fix bench run in https://github.com/HyperAST/HyperAST/pull/67
  • Fix construction of HyperAST the equality used on the hash map was not properly considering subtrees with one or two children in https://github.com/HyperAST/HyperAST/pull/68
  • faster hashing in https://github.com/HyperAST/HyperAST/pull/69
  • custom no hasher to dedup subtrees as we already have hashes in https://github.com/HyperAST/HyperAST/pull/70
  • more micro optimizations in https://github.com/HyperAST/HyperAST/pull/71
  • freeze rhai version and fix/update grammar types in https://github.com/HyperAST/HyperAST/pull/72
  • Update flake.lock in https://github.com/HyperAST/HyperAST/pull/65
  • Update flake.lock in https://github.com/HyperAST/HyperAST/pull/74
  • Many improvements and bug fixes in https://github.com/HyperAST/HyperAST/pull/75
  • Ports of structural mapping variants with benchmarks and optimizations transferred from HyperDiff in https://github.com/HyperAST/HyperAST/pull/76
  • Scalable structural code diffs - contribution of Maciej Mejer by @mrmejer in https://github.com/HyperAST/HyperAST/pull/73
  • Ready for a release related to HyperDiff improvements in https://github.com/HyperAST/HyperAST/pull/79
    • added commit selector in the UI as a modal and made it available in all workspaces
    • upgraded egui to 0.32.0
    • fixed clippy lints
    • refactored a lot of HyperDiff code
    • to reduce bounds on impls in HyperDiff, HAST::IdN must implement more bounds
      • now requires UniformeNodeId instead of only NodeId
      • and NodeId also requires Debug
  • Added README for HyperDiff in https://github.com/HyperAST/HyperAST/pull/80
  • Fixed nix build in https://github.com/HyperAST/HyperAST/pull/82
  • Fix nix hyperast-dockerImage and migrate to crane by @Tol0kk in https://github.com/HyperAST/HyperAST/pull/83

Full Changelog: https://github.com/HyperAST/HyperAST/compare/v0.2.0...v0.5.0

Notes

If you use this software, please cite it using the metadata from this file.

Files

HyperAST/HyperAST-v0.5.0.zip

Files (48.5 MB)

Name Size Download all
md5:27c71252ef21865c6de7bcfb952b8cc0
34.4 MB Download
md5:39f665193f961925769e6ba6ce9c921e
14.1 MB Preview Download

Additional details

Related works

Software