Skip to content

1.10.0

Compare
Choose a tag to compare
@michael-simons michael-simons released this 22 Aug 08:26
· 1026 commits to main since this release
ff5a63d

What's Changed

There's an exiting new feature in this release: Predefined database refactorings, such as "rename the label Movie into Film" or "normalise all properties that have the values ja, yes and y and all of nein, no, vielleicht into a boolean true respectively false". Those refactorings are largely modeled after apoc.refactor but do not require APOC to be installed and run into pure Cypher. They even do support batching in Neo4j 4.4 or higher.

Some inspiration has been taken from @fbiville's post about Graph Refactoring: The Hard Way for the general initiative and the Merge.nodes refactoring. Thanks for that, Florent!

The refactorings of this project here are in ac.simons.neo4j.migrations.core.refactorings and can actually be used without the migrations itself, a connected Neo4j driver instance will be enough to use them. We will maybe extract them into a separate module or even separate library in a new org at a later stage. Until than, they will be part of the publicly maintained API here. Have a look at the document how to use them in catalogs or standalone (full example here and a list of predefined refactorings).

This feature does not have any breaking changes to the core, so 1.10.0 is a drop-in replacement of 1.9 and depending if you are using it in Spring Boot or Quarkus and your versions there, for 1.8 or 1.7, too.

🚀 Features

  • cbd1075 Add refactoring Normalize.asBoolean. (#606)
  • 2ec53be Add support for running predefined refactorings. (#605)

🐛 Bug Fixes

  • 36459cc Escape escaped Unicode 0060 (backtick) proper. (#607)

🔄️ Refactorings

  • 794238f Don't double escape already escaped backticks. (#604)

📝 Documentation

🧹 Housekeeping

  • 2a1ca61 Bump spring-boot.version from 2.7.2 to 2.7.3 (#610)

Contributors

We'd like to thank the following people for their contributions: