@jexp jexp released this May 15, 2017 · 98 commits to 3.1 since this release

Assets 3

This is the first final release for Neo4j 3.2.0

It also contains required API changes for this new Neo4j release.

Please note that some APOC procedures now for security reasons have to be whitelisted as unrestricted, because they use internal APIs:

dbms.security.procedures.unrestricted=apoc.meta.*,apoc.node.* (or apoc.* for all).

Thanks a lot to every APOC user for the great feedback and reporting issues. Join us on neo4j.com/slack in the #apoc channel.

Big kudos to everyone who contributed to this release: @fbiville @InverseFalcon @tomasonjo @sarmbruster @jansta @ArslanAle @bradnussbaum

And the very productive team from Larus-BA, Italy: @albertodelazzari @AngeloBusato @DanielBerton @inserpio @omarlarus

This release contains the following updates:

  • update to Neo4j 3.2.0, Procedure Compiler 1.2

Especially cool are the new conditional procedures and the many improvements in export.

New Features:

  • property record loading for warmup, apoc.warmup.run(true)

  • Added conditional cypher execution: apoc.when(pred, then-stmt[, else-stmt]), apoc.do.when(), apoc.case([pred,stmt,pred,stmt],else), and apoc.do.case().

  • Add ability to pause / resume triggers (#437) Fixes #403

  • use export config quotes in CSVWriter (#417) issue #388

  • new procedures to rename property, rename label, rename reltype (#371) Fixes #302

  • procedure apoc.math.regr implemented Issue #316

  • function apoc.text.slug (#369)

  • Cypher export now optionally creates 3 different files fixes #270 (#374)

  • allowed "optional" config param in path expander procedures (#422)

Fixes:

  • Fix for apoc.load.jdbc Also explicitely close the connection, not just the statement, should fix #418
  • Adding support for java.sql.Date and java.util.Date in JDBC to convert to String (#411)
  • Fixes #395 - Apoc.trigger.propertiesByKey adding a dynamic label based on newValue vs oldValue does not work (#434)
  • Fixes #334 - make sure that manual index operations are read-only (#412) (#429)
  • #367: fix IllegalStateException when removing properties (#401)
  • Fixes #303 - constraint issue (create before delete) with mergeNodes (#389)
  • Allowed negative time parameter to apoc.date.format() (#393)
  • ElasticSearch: more general encoding for _search fixes #372 (#373)
  • Prevent path expander termination filter from filtering below minLevel (#379)
  • MongoDB ObjectId can be packed, it will be converted to String fixes #355 (#368)
  • Util method for transaction termination checking (algo and warmup) fixes #211 (#366)
  • Fixed path expander 'limit' interaction with 'minLevel' (#363)

Documentation Updates

  • Update documentation for procedures that have converted to functions (#427)
  • Fixes #331 - missing detailed documentation for some procedures (#432)
  • Fixes #176 - Additional documentation on apoc.triggers (#431)
  • added-gephi-export-weighted-network-docs
  • Added documentation for conditional cypher execution procedures
  • Fixes #399 - Missing detailed documentation for Graph Refactoring procedures (#402)
  • fixes #187 - docs example for XML (#400)
  • Fixes #387 - add example for apoc.load.jdbcParams to docs (#390)
  • fixes #252 - docs should explain export config (#386)
  • Fixes #253 - docs statement on default config values not correct (#385)
  • Add documentation to readme for installing APOC for Neo4j Desktop so that the kernel extension is started (and configuration read). #313
  • fixes #321 apoc.json.setJsonProperty doesn't exist (#381)
  • Fixed omission of a parameter in apoc.coll.occurrences documentation. (#370)