Skip to content

Neo4j 3.5 changelog

Gustav Lindroth edited this page Aug 11, 2022 · 88 revisions

3.5.35

Cypher

  • Upgrade Apache Shiro from 1.8.0 to 1.9.1. This version includes fixes for CVE-2022-32532.
  • Adds blocklist of ip addresses for cypher's outbound http requests

Docker

3.5.34

Cypher-shell version

  • 1.1.15

Browser

  • Export plan txt and make download dropdown context dependent
  • Set SSO as default if sso providers were present - NOTE only supported from Neo4j 4.4.
  • Fix bug causing autocomplete to no longer work

Misc

  • Fixed security issue with the HTTP Transactional API.

3.5.33

Cypher-shell version

  • 1.1.15

Browser

  • Export plan txt and make download dropdown context dependent
  • Set SSO as default if sso providers were present - NOTE only supported from Neo4j 4.4.
  • Fix bug causing autocomplete to no longer work

3.5.32

Cypher-shell version

  • 1.1.15

Cypher

  • Map Factory timezone to UTC
  • Remove support for US/Pacific-New timezone. Existing values that use unsupported timezone will be interpreted as US/Pacific
  • Fixed a bug where matching on the same variable multiple times would trigger an exception during planning or produce incorrect results.

Security

  • Update jackson-databind from 2.10.5.1 to 2.13.2.2 (and thus also com.fasterxml.jackson.* from 2.10.5 to 2.13.2), to address CVE-2020-36518

Browser

  • Upgrade to D3 v7
  • Show hint about :auto on CALL {...} IN TRANSACTIONS
  • Add missing 4.4 keywords
  • Upgrade query plan view to D3 v7
  • Reduce icon size to avoid scroll on single line values in table
  • Display clustering data in :sysinfo frame again
  • Enable setting :params on multiple lines
  • Use shift, cmd or ctrl as mod key for wheel zoom
  • Add zoom to fit button
  • Bump driver to 4.4.2
  • Zoom mod key info message
  • Debounce writing to localstorage to improve performance
  • Remove hard limit of 1000 nodes for visualisation
  • Params template on missing paramters errors
  • Make max record setting user configurable
  • Handle null values in graph viz
  • Remove listConfig call in sys info frame causing error for non admins
  • Improve causal cluster detection

Misc

  • Cypher-shell version 1.1.15

3.5.31

Cypher-shell version

  • 1.1.14

Cypher

  • Bug fix: Neo4j now also accepts datetime expressions including an offset of times immediately after switching from summer time to winter time.
  • Fix bug where planner would fail to find a sorted plan to fulfil order on two variables including aggregation, which would result in issuing an "Expected a sorted plan" error.
  • Fixed a bug where using values returned from a procedure would cause a type error like Type mismatch: expected Float, Integer or Duration but was Number.
  • Handle timestamp() in CYPHER 3.4 mode regardless of casing
  • Fix a memory leak of the runtime transactional context into the query plan cache

Security

  • Update caffeine version from 2.6.2 to 2.9.2 to mitigate potential vulnerability CWE-611

Browser

  • Upgrade to D3 v7
  • Show hint about :auto on CALL {...} IN TRANSACTIONS
  • Add missing 4.4 keywords
  • Upgrade query plan view to D3 v7
  • Reduce icon size to avoid scroll on single line values in table
  • Display clustering data in :sysinfo frame again
  • Enable setting :params on multiple lines
  • Use shift, cmd or ctrl as mod key for wheel zoom
  • Add zoom to fit button
  • Bump driver to 4.4.2
  • Zoom mod key info message
  • Debounce writing to localstorage to improve performance
  • Remove hard limit of 1000 nodes for visualisation
  • Params template on missing paramters errors
  • Make max record setting user configurable
  • Handle null values in graph viz
  • Improve causal cluster detection

3.5.30

Kernel

  • Bump commons compress to 1.21
  • Fixes an overflow issue for Duration properties where specific values could lead to failed transactions or transaction log corruption.

Cypher

  • Fix a bug where querying for self-relationships (a relationship that connects a node to itself) in combination with asserting on relationship id (e.g. MATCH (n)-[r]->(n) WHERE id(r) = 7) could incorrectly return matches from non-self-relationships. The Cypher planner will now do necessary filtering to ensure that start and end nodes are bound to the same node variable when matching self-relationships in combination with asserting on relationship id.
  • When performing an OPTIONAL MATCH with 2 or more relationships of different relationship types, when returning DISTINCT results (whether in the context of an aggregation or not), the results could be wrong. An example query that returned wrong results is: OPTIONAL MATCH (a)-[r:R]->(b)-[r2:R2]->(c) RETURN count(DISTINCT a) as count. This has been fixed.
  • Upgrade to Apache Shiro 1.8.0
  • Fixes a bug where queries like MATCH (a:A) RETURN count(a.prop) would return the wrong results if there is a uniqueness constraint on label A and property prop.

Browser

  • Drag and drop cypher and grass files anywhere to import
  • Detect operating enviromentments more generically
  • Upgrade neo4j-driver to 1.7.5
  • Handle Infinity and -Infinity results correctly
  • Now displaying clickable urls in table and graph views
  • Export :history
  • Give user more connection feedback + add connection timeout configuration
  • Export query result records as JSON
  • Support additional :param definition. See :help params in neo4j-browser for instructions.
  • Use GraphQL version of Relate-API when available (in Neo4j Desktop)
  • UI fixes on :server user add and :server user list commands
  • Fix regression in write-code guide name
  • Revert "Use GraphQL version of Relate-API when available (in Neo4j Desktop)"
  • More robust :server change-password in a clustered system
  • Request discovery endpoint in cloud env
  • Fix various UI glitches
  • Don’t auto-connect without credentials
  • Bring back JSON data export
  • Fix "Force password change" on :server user add

Misc

  • Update netty to 4.1.66 to address vulnerabilities CVE-2021-21409 and CVE-2021-21295
  • Update netty to address CVE-2021-37136 and CVE-2021-37137

3.5.29

Cypher-shell version

  • 1.1.14

Kernel

  • Better handling of inconsistent property chains so that in the very unlikely event that a property record chain cannot be read properly a better failure will propagate to the user. It is also possible to delete entities with inconsistent property chains, at which point the entity's data will be logged to debug.log (only if user explicitly sets setting dbms.log_inconsistent_data_deletion=true.
  • Fix issue with relationship belonging to dense nodes in the high-limit format that could cause corruptions. This affects relationship types with ids larger than 65535.

Cypher

  • Don't overflow on --9223372036854775808. Github issue: neo4j/neo4j#12726

Docker

  • add --expand-commands flag to neo4j-admin commands

3.5.28

Kernel

  • Admin commands stop using the 'Xms' heap setting from the server config

Misc

  • Update jetty to 9.4.39.v20210325 to address vulnerability CVE-2021-28165

3.5.27

Kernel

  • Removing 'No progress check' from crash generation cleaner
  • Fix some corner cases where unhelpful exceptions were thrown when a transaction would read a deleted entity lazily. The entity could have been deleted by this or some other concurrent transaction. We now throw ReadAndDeleteTransactionConflictException from the embedded API, and TransientException (which tells clients to retry their transactions) from the driver (Bolt) API.
  • Fixes an issue where an unexpected concurrent closing of a page cursor which was in the middle of doing page faulting might leave a latch unreleased, trapping all future cursors that wanted to look at that page.

Cypher

  • Handle returning of deleted path

Security

  • Upgrade to Apache Shiro 1.7.1

Misc

  • Update jetty to address security vulnerability CVE-2020-27223 (#9199)
  • Update Jackson to 2.10.5.1 to address CVE-2020-25649

3.5.26

Kernel

  • Fixes an issue with over-assigning threads during import which could lead to scheduling problems and sub-optimal performance

Misc

  • Update jetty to address security vulnerability CVE-2020-27218

3.5.25

Kernel

  • Fixes an issue scanning records in high_limit format, where trying to read a record which happened to be a secondary unit would throw exception or read invalid data instead of observing it as unused
  • Restore ability to have KeyStores with multiple certificates

Security

  • Upgrade to Apache Shiro 1.7.0

3.5.24

Misc

  • The neo4j-admin push-to-cloud command now does an early check for whether the database will fit the Aura instance before making the dump
  • Update jetty from 9.4.17.v20190418 to 9.4.34.v20201102

3.5.23

Kernel

  • Fixes a volumetric checkpoint triggering issue where database could be stuck in a state where checkpoint was made, but no logs were pruned and so checkpoints would be continued to be made even tho no transactions were committed
  • Fixes an issue decrementing node degrees where deleting a relationship from a node could sometimes, if the node had self-relationships, decrement the degree twice
  • Add StandardNoStopWords analyser provider.
  • Fixes an issue where a panic during import could cause a deadlock
  • Improving cooperation between the page cache and the IO limiter

Cypher

  • Fixes a scoping issue where nested pattern comprehensions were evaluated in the wrong scope leading to wrong results. An example of such a query:

    MATCH (f:F)<-[:A]-(p)
    WHERE
      ALL(condition IN [
        (p)-[:B]->(d:D)
        d.name CONTAINS 'foo'
      ] WHERE condition)
    RETURN p { .name }
    
  • Prevent crash in dbms.killTransaction when log level is set to debug

  • Fix bug where predicate in WHERE clause was ignored for queries combining

    variable length pattern and DISTINCT.

Misc

  • Cypher-shell version 1.1.14

3.5.22

Kernel

  • Improve error message when index key size limit is violated during index population, include entity id index description.

  • BatchInserter builds counts once

  • Fix bug with potential wrong order for queries with "ORDER BY"

    that use an index in the presence of concurrent inserts into that index.

Cypher

  • Fix issue where queries like WITH *, count(a) AS c ORDER BY c RETURN a were failing with no variable a in scope.
  • Upgrade the dependencies of SLF4j and Shiro to latest stable versions in order to mitigate security vulnerabilities.

Misc

  • expose and document the causal_clustering.cluster_binding_timeout setting

3.5.21

Kernel

  • Make failed indexes restartable again
  • Fixed bug where args provided to neo4j-admin commands could not have spaces on windows

Cypher

  • Update Apache Shiro version to 1.5.3
  • Fix bug when combining * and a map projection in the same projection, e.g. WITH , s {.}...
  • 3.5 planner cardinality fix for OPTIONAL MATCH under APPLY
  • Fix bug with multiple ANYs in WHERE clause fail to match
  • Fixed a bug where using node:Label check on a node returned from a procedure would result in a planner error.
  • Retain solved hints from the right-hand side of a union.

3.5.20

Kernel

  • Fix a bug where deleting a relationship would not remove its entry from any relevant full-text index on relationships such relationships.
  • Fix a bug where space would not be reclaimed by label scan store when removing many nodes or labels, causing the label scan store to grow indefinitely on workloads that would continuously create and delete large portions of the graph.
  • Threadpool race fix 3.5

Cypher

  • Fix RollupApply bug

Docker

  • explicitly set neo4j uid and gid to 7474 in Docker

3.5.19

Kernel

  • Includes store file name in version/ids debug.log printout
  • The BatchInserter now honours the dbms.read_only setting. Furthermore, read-only batch inserters are faster to shut down because they don't rebuild indexes.
  • Fixes issue where created indexes would stop being resampled after restart

Cypher

  • Planner bugfix to avoid cases where the planner gives up without considering all possible plans

3.5.18

Kernel

  • Fixes a bug that in rare cases can lead to a JVM crash with a sysmalloc: Assertion or SIGSEGV error message.
  • Includes NodeRecord in dynamic label record load error
  • Attempting to create a full-text index with a non-existent analyser will now fail the creating query, instead of failing at commit time.
  • Fixes issue shrinking high_limit double-unit record back to single-unit

Cypher

  • Update Apache Shiro to 1.5.2 to fix BlackDuck warning

Causal Clustering

  • Log ClusterId and MemberId in neo4j.log on cluster bootstrap

Docker

  • removed docker specific configuration overrides incompatible with windows networking

3.5.17

Kernel

  • Fix a bug in DETACH DELETE on dense nodes that could lead to inconsistencies
  • Fix a bug where DETACH DELETE would not lock the relationships being deleted, allowing overlapping transactions to make changes, such as property updates and chain linkage changes, to those records, which could lead to inconsistencies.

Cypher

  • Fixed a bug where shadowed variable from outer scope would be accessible inside list comprehension when combined with aggregating function.
  • Parsing or compilation related errors are now also logged in the query log.

3.5.16

Kernel

  • Fix a problem where the combination of parallel apoc.periodic.iterate, and dbms.logs.query.parameter_logging_enabled=true, could lead to a JVM crash.
  • Last line in the configuration file is no longer ignored if there is a missing new line
  • Add jvm argument, -Dorg.neo4j.kernel.impl.storemigration.participant.StoreMigrator.migration_threads=<nbrOfThreads>, to set number of threads used to read and write when upgrading store. By setting a lower value the contention on disk can be reduced. Default value is the number of processors available to the process.
  • Fix bug where store upgrade could see IndexOutOfBoundsException when upgrading store that was much larger than available memory.

3.5.15

Kernel

  • Upgrade the Bouncy Castle dependency to version 1.64
  • Pass through exception message in transaction event handlers

Cypher

  • Fix bug with negative intervals such as RETURN range(1, 2, -1)
  • Fixed a bug where outer hash join would be incorrectly planned to solve OPTIONAL MATCH with non-join dependencies.

Docker

  • Add NEO4JLABS_PLUGINS support for neosemantics (n10s)

Misc

  • Upgrade jackson to 2.10

3.5.14

Kernel

  • A bug has been fixed where recovery of large stores with the high_limit format would sometimes fail with an Access to record <...> went out of bounds of the page error.
  • Fix a bug where a ClassCastException would be thrown when querying a full-text index, from a transaction that has uncommitted changes.
  • Fix race between index drop and checkpoint

Causal Clustering

  • Upgrade netty to 4.1.43.Final

Docker

  • Replaced curl with wget in the entrypoint

3.5.13

Kernel

  • Upgrade commons-compress to 1.19
  • Fix a bug that would sometimes cause a NullPointerException to be thrown when generating index update commands for transaction changes that partially matched a full-text index.
  • The consistency-checker now no longer report NullPointerExceptions when a node or relationship does not have all properties declared in a full-text index. Mismatches between the properties and what is indexed are also properly reported.
  • Transaction id is now available for transaction event handles, even for "zero-change write transactions."
  • Fix a bug in internal relationship traversal that could lead to a dense node that does not have any relationships of a sought after relationship type, would appear to have a relationship of that type if the iteration occurred immediately after another non-empty relationship iteration.
  • Neo4j utility scripts respects HEAP_SIZE over setting from neo4j.conf

Cypher

  • Solved a bug in compiled runtime where complex NodeHashJoins sometimes led to wrong result.
  • Decrease the chance of getting Found no solution for block with size 0 by reducing the number of solutions considered
  • When calling procedures with parameters of the wrong type, the error message has been improved to make this clear.
  • Fixed an IDP planner edge case where complex joins fail to find a solution due to the presence of ignored argument variables
  • Fixes regressions with PatternComprehensions inside of head or single element accesses/list slices . Expamples head([ (a)-->(b) | b.prop ]), [ (a)-->(b) | b.prop ][1], [ (a)-->(b) | b.prop ][..5]
  • Fixes bug where queries with a pattern comprehension in an ORDER BY could get wrong results.
  • Improve error message for procedure calls
  • Added a nicer error message if the planner fails to find a plan

Causal Clustering

  • Fix handling of IPv6 addresses in the backup command.

Browser

  • Drag and drop cypher and grass files anywhere to import
  • Detect operating enviromentments more generically
  • Upgrade neo4j-driver to 1.7.5
  • Handle Infinity and -Infinity results correctly
  • Now displaying clickable urls in table and graph views
  • Export :history
  • Give user more connection feedback + add connection timeout configuration
  • Export query result records as JSON
  • Support additional :param definition. See :help params in neo4j-browser for instructions.
  • Use GraphQL version of Relate-API when available (in Neo4j Desktop)
  • UI fixes on :server user add and :server user list commands
  • Fix regression in write-code guide name
  • Revert "Use GraphQL version of Relate-API when available (in Neo4j Desktop)"
  • More robust :server change-password in a clustered system
  • Request discovery endpoint in cloud env
  • Fix various UI glitches
  • Don’t auto-connect without credentials
  • Bring back JSON data export
  • Fix "Force password change" on :server user add

3.5.12

Kernel

  • Fix a problem where exceptions can occur in the metrics component during HA mode switch.

Cypher

  • Fix a planning problem where the planner wasn't using the index after nodes have been deleted.

  • Combining index read, DISTINCT, and MERGE could in some

    situations end up with an error saying Uh oh... There was no slot for...

Packaging

  • Fixed parsing of neo4j.conf on Windows to allow users to specify additional jvm arguments such as jdk.serialFilter.

3.5.11

Kernel

  • Starting a database that needs recovery will no longer wait for a uniqueness index to be rebuilt if the uniqueness index has no uniqueness constraint associated with it
  • Consistency check now verify structural consistency of indexes
  • Fulltext procedure can not create index with duplicate entity tokens
  • Fixed a bug where Distinct combined with MapProjection could cause some results to be removed because they were incorrectly seen as not distinct.
  • Upgrade commons-compress due to security fix

Cypher

  • Upgrade Apache Shiro to 1.4.1 to mitigate DoS vulnerability
  • Queries with variables defined before optional matches that contain OR predicates and can be planned as UNION queries were failing to retain the incoming variables.
  • Allows queries like MATCH (n) WHERE id(n)=20.0 RETURN n to return the node with the id 20.

Causal Clustering

  • Load external config file for akka.
  • Optionally use jdk.serialFilter to avoid java serialization exploits
  • Fix leak in akka distributed metadata
  • No longer try to connect to members which are long gone.

Misc

  • Startup script has been fixed to run on java11 in all bash variants.

3.5.9

Kernel

  • The consistency checker no longer logs DEBUG messages about the full text indexes failing to register transaction state providers or procedures. These were harmless to begin with, so now they are gone.
  • Improve error message for returning relationships that are deleted in the same transaction.
  • Fix bug that broke settings that used relative paths when using neo4j-admin backup.
  • Monotonic time tracking for transaction termination monitor

Cypher

  • : Solves a bug that produced wrong results for queries with VarExpand and a predicate that qualifies for solving during expansion containing a PatternComprehension. An example query looks like this:

    MATCH path = ( (a) -[r1:REL*0..]- (b) )
    WHERE
        ALL(n in nodes(path) WHERE
          some.predicate( [ (n)<-[r2]-(c) | c.foo ] )
        )
    
  • Fixes bug in slotted runtime, when a property is read from index and then a node property of the same name is updated later in the query.

    E.g. MATCH (n:Label) WHERE n.prop > 0 WITH collect(n.prop) AS ns MATCH (n:Label) SET n.prop = 0

  • Solved a bug in slotted runtime where complex NodeHashJoins sometimes led to wrong result.

  • Bound calculated selectivity of range seek to exact match selectivity...

  • Adding ProcedureCallContext to Context that can be used by procedures. This will give procedures information about the context in which they were called, specifically which return items were requested via yield. Based on this, the procedure can safely decide to skip calculating values that are not yielded anyway. The procedures db.labels and db.relationshipTypes have taken advantage of this for performance optimizations.

High Availability

  • Resets HA slave state on InvalidEpochException

3.5.8

Kernel

  • LabelScanStore is always store copied under StoreCopyCheckpointMutex
  • GenericKey only keep entityId if strictly needed to differentiate keys in minimalSplitter

Cypher

  • Less logging of Discarded stale query...

3.5.7

Kernel

  • Fix bug where an eventually consistent fulltext index after db restart not be not be eventually consistent anymore.
  • The db.labels and db.indexes procedures now no longer take shared schema locks, which means that they no longer conflict with, nor wait for the completion of, schema mutating transactions.

Cypher

  • Fixes bug with the message "Expressions need to be registered with it's owning Pipe, so the profiling knows where to report db-hits". This should now never happen when assertions are disabled.
  • Spatial distance queries will now be solved by a NodeUniqueIndexSeekByRange instead of a NodeByLabelScan when an uniqueness constraint exists.
  • Fix planning bug with pattern-predicates on var-length-expand patterns, which would get overly expensive plans including RollUpApplies. This bug is only present in 3.5.6.
  • Rarely the planner was not able to find a join between two perfectly joinable plans which would then result in a "Found no solution for block with size 0" error. This is fixed now.
  • Fix a rewriter issue which caused too many predicates to be rewritten away for certain queries with optional match and distinct.

Docker

  • Changed the base image from adoptopenjdk/openjdk8:alpine-jre to openjdk:8-jre-slim

3.5.6

Kernel

  • A new dbms.checkpoint procedure has been added. This is useful for when you change the log pruning configuration, and you want the changes to take effect quickly. Note that calling this procedure can have a negative effect on transaction throughput because it temporarily disables the dbms.checkpoint.iops.limit setting.
  • Fixes a problem where the recovery that happened after an incremental catchup in a Causal Cluster, would put the write the wrong starting transaction to the debug.log. The starting transaction was cached from the first recovery, and wasn't cleared for subsequent recoveries. This only influenced the logging output -- the recovery process itself always picked the correct starting transaction to recovery from.
  • Full-text schema index queries can now start with a leading "*" wildcard, such that, for instance, the token "abcdef" in a property value, can be matched by the query "*def".
  • Print process priority as part of neo4j admin report instead of start time.
  • Better handling of OutOfMemoryErrors during log flushing

Cypher

  • Solve bug with the error message This expression should not be added to a logical plan that would only occur in test environments.
  • Fix bug in slot allocation of aliased variable names
  • Fix bug with node reference leaking to bolt server
  • Fix bug where adding nodes to the graph would not cause a query replan
  • Fix rounding error in DurationValue approximate
  • Fix memory hogging query collector
  • Fixes bug with the message "Tried to map bad logical plan. LHS and RHS must never be the same".

Causal Clustering

  • Partially order routers in accordance with filtering policies
  • Reset last message timer monitor on leader stepping down.

Browser

  • Block background queries until the prev is finished
  • Updates to dark theme
  • Fix retain credentials info on connect frame
  • Escape auto-completed labels, types and property keys in editor.
  • Upgrade to neo4j-driver version 1.7.4

Misc

  • Backup no longer logs in running server debug.log
  • Failure message is not flushed when no free work thread is available

3.5.5

Kernel

  • Performance of making changes to nodes and relationships are no longer affected by the presence of indexes and/or constraints that are not related to the actual changes. Before these changes a large number of indexes and/or constraints could affect performance of write transactions negatively, even if the actual changes were unrelated to the changes made.
  • Fix a number of cases where unhelpful exceptions were thrown, when a committed write transaction that perform deletes or removals cause conflicts in an overlapping read transaction. We now throw IllegalStateException from the embedded API, and TransientException (which tells clients to retry their transactions) from the driver (Bolt) API.
  • Failed index sampling doesn't prevent index drop. Previously if index sampling failed for some reason, this could prevent index from being dropped because sampler didn't clean up after itself.
  • The neo4j-admin dump now uses a new archive format. This makes the dump and load commands significantly faster, while also making the archives slightly smaller. Additionally, the dump and load commands now also prints their progress to the console.
  • Fix delay calculation in IO limiter
  • Always close reader from RecordingConflictDetector

Cypher

  • fix runtime=slotted any() on rhs of NodeHashJoin
  • fix scala.MatchError crash on DELETE last(col)
  • Fix bug in planner where queries with many OR:ed exact predicates would plan slowly or never complete, if they where solvable with a uniqueness constraint (or Node Key) index.
  • Fix missing register-owning-pipe on expression in some pipes

3.5.4

Kernel

  • Makes consistency checker relationship cache algo actually work
  • Three improvements around uniqueness constraint creation: (1) Indexes of type UNIQUE without a constraint can be dropped using DROP INDEX ON :Label(key). (2) Uniqueness constraint creation will not be subject to the dbms.transaction.timeout timeout. (3) Uniqueness constraint creation transaction will notice termination, e.g. termination using killQuery/killTransaction procedures will actually terminate it.
  • Internal annotation processors are now in a separate module so they can run from a cleaner annotation path, rather than the classpath. This makes it easier to convince build tools to not complain about them, when building applications that embed Neo4j.
  • neo4j-admin memrec now makes better suggestions for systems that have memory capacities in the 512 MiB to 1 GiB range.
  • Deprecate for removal dbms.active_database and unsupported.dbms.directories.database.
  • The Causal Cluster Raft Replicator will no longer print (potentially enormous) textual transaction log segments to the debug.log.
  • Index population backed by "block based index populator" could report false negatives for duplicate property values. This happened if, while scanning the store to provide updates for the populating index, property values changed such that the scan would see the same value twice even though no duplication existed in any point in time. This is mitigated by verifying suspected duplicates after population is finished.

Cypher

  • Fix rare bug in slotted runtime which would manifest as an exception with the message Tried to copy more data into less in Cypher queries with execution plans containing an Apply with a Optional and a Distinct on its right hand side.
  • Fixes problem in procedure dbms.setTXMetaData() where null value in the given map could lead to a null pointer exception
  • Fixed distance queries that used < and ranged over the dateline and would miss points exactly on the dateline

Causal Clustering

  • Routing procedures now run with mode DBMS
  • ClusterBinding Shutdown
  • Improve logging of result of causal cluster handshakes
  • Raft membership manager can no longer consider itself superfluous

Browser

  • Fix [object Object] for integers in viz for PathSegments
  • Use less resource intensive background requests
  • Fix user management UI in Community Edition
  • Add tx metadata to queries that's generated by user actions
  • Show query termination message when closing frame that has an active query
  • Fix subgraphs not displaying correctly under certain circumstances

Misc

  • Updated Jetty version to 9.2.26.v20180806

3.5.3

Kernel

  • Fixes an issue where a large amount of bad data items encountered during an import could use an excessive amount of heap and slow down the import as a whole. The report queue is now bounded and applies back-pressure.
  • Improvements to total mapped size calculations
  • Programatic invocations of online backup now respects the page cache tuning parameters that they are given.
  • Programatic invocations of online backup now respects the page cache tuning parameters that they are given.
  • Adds IndexReader#distinctValues() able to access all distinct values in an index with number of indexed entries for each value. Values are materialized if user requests it and the index supports materialization of actual values.
  • Backport: Removes accidental limitation of number of reltypes to 64K for high_limit format

Cypher

  • Updating after undirected match with predicate
  • Fix issue with PROFILE and EXPLAIN of queries with unusual variable names
  • Fix bug in slotted NodeRightOuterHashJoin, which would lead to wrong results.

Causal Clustering

  • Delete spammy log line.

3.5.2

Kernel

  • A new db.index.fulltext.awaitIndex procedure has been added, which can await indexes specified by name, instead of the label/property pattern it supported so far by the db.awaitIndex procedure. Specifically, this means that you can now wait for specific named fulltext indexes to come online. Previously it was only possible to wait for fulltext indexes to come online, by calling the db.awaitIndexes procedure, which waits for all schema indexes. The behaviour of the existing db.awaitIndex procedure has not been changed, in order to preserve compatibility.
  • When a native memory allocation fails, Neo4j will now include helpful debugging information in all such cases, instead of just some of them.
  • Fix node set property to not lock unrelated constraints
  • Fix a problem where if a fulltext schema index and a normal schema has the same schema (e.g. the same label and property combination) then the fulltext schema index could not be dropped. It is now possible to drop fulltext schema indexes, even when the schema of the fulltext index matches that of a normal schema index.
  • Fixes a race updating the label index, where e.g. a node CREATE followed by DELETE could be reordered into DELETE followed by CREATE, and vice versa.
  • The result of the db.index.fulltext.listAvailableAnalyzers procedure now includes a description of each analyzer. The simple, classic, and stop analyzers from the standard Lucene analyzer suite have also been added.
  • Properly prints FAILED on import failure
  • Close all index readers opened during lockingNodeUniqueIndexSeek
  • Restore possibility to use BranchedStoreBean.
  • Prevent fulltext indexes from being created via db.createIndex procedure.

Cypher

  • Obsfucate LDAP system password in debug log

  • When ordering both by aliased (var01) and unaliased (p.name)

    columns, we would possibly swap them. This is now fixed.

Packaging

  • Pass command line arguments to powershell scripts using proper parameter passing rather than injection into a script block.

Causal Clustering

  • Netty 4.1.32.Final
  • Remove ID-files if instance was unbound

Browser

  • Support Neo4j Kerberos auth when in a Neo4j Desktop environment

  • Keep bolt connections alive in web workers

  • Fix hidden error on re-run when going from success -> error result

  • Fix :help keys in dark mode

    fixes: https://github.com/neo4j/neo4j-browser/issues/889

  • Add link :server user list to admin section of db sidebar

Misc

  • Deprecate JMX beans in favour of metrics that can be exposed over multiple providers (including JMX) or procedures.

3.5.1

Kernel

  • Introduce procedures that able to kill transactions.
  • Neo4j will now log warnings if there are duplicate settings in the neo4j.conf file.
  • Update reported metrics types to correctly represent nature of reported event.
  • Removes explicit neo4j-admin import db existence check
  • Improves the error message when a kernel extension cannot be loaded for various reasons, such as version mismatches between extensions like APOC, and Neo4j itself.
  • Fix public api: revive legacy iterators
  • Fix VM pause monitor logging

Cypher

  • Fix issue with compiled runtime and count(), where transient entity inconsistencies would make some aggregating queries (e.g. MATCH (n:Artist) WHERE n.name = 'Madonna' RETURN count(n)) return fewer rows than expected.

  • Fixes an issue with having a DISTINCT (that is on the node instead of the property) between an index read and the usage of the property.

    E.g MATCH (n:Label) WHERE n.prop = 42 WITH DISTINCT n RETURN n.prop

  • Fix an error that made the timestamp function case sensitive, https://github.com/neo4j/neo4j/issues/12097

  • Solve a bug where a variable reused after a WITH ORDER BY (e.g. MATCH (n) WITH n.prop1 AS prop ORDER BY n.prop2 MATCH (n) ...), meant the variable use in the ORDER BY was not picked up in semantic checking.

Browser

  • New format for tx metadata for logs
  • Fix application crash when killing a query from :queries frame
  • Fix (extremely) slow data parsing in certain cases
  • Collapse manually expanded nodes in the viz
  • Replace and add more viz styling colors
  • Upgrade neo4j-driver to 1.7.2
  • Support deep links via Neo4j Desktop

Misc

  • Fixed an issue where discovery document construction did not consider request URI for bolt entries and always pointed to localhost when no advertised_address is not configured for the connector.

3.5.0

Cypher

  • Fix issue where queries with many disjunctive index seeks (... n.age = 3 OR n.name = 'George' ...) would plan forever.

3.5.0-rc01

Kernel

  • Adds IndexReader#distinctValues
  • Add original cause of failure to failed index stack trace. Partly addresses https://github.com/neo4j/neo4j/issues/12038
  • The continuous checkpoint policy (the dbms.checkpoint setting) has been made less aggressive. It will now only requests checkpoints if any write transactions has committed since last check, and it now only checks at most once every 100 milliseconds, instead of in a busy loop. This reduces the CPU overhead of the policy on systems that don't do many writes.
  • Throttle StoreSizeMBean calls to prevent excessive resources consumption

Cypher

  • Fixes 12051 so that more complex IN predicates (containing AND/OR together with NOT) are rewritten correctly.
  • Fixes bug with cypher.lenient_create_relationship. It would not work under some circumstances with MERGE in interpreted.

Browser

  • Update icons
  • Introduce experimental features section in Settings
  • Enable fullscreen ability for :queries frame
  • Fix auto-completed relationships not showing in viz legend on first render
  • Fix nested :params bug
  • Update neo4j-driver to 1.7 and send transaction metadata with Cypher queries
  • Let the configuration initCmd be empty
  • Fix stream rendering issues in IE 11
  • Add Order to plan output if it exists
  • Update links to documentation in the docs sidebar
  • Show message if neo4j-browser is opened without an active graph in a Neo4j Desktop environment
  • Add support for GraSS selectors (node labels and rel types) containing a .
  • Remote guides - resovle config ’*’ to default whitelist

Misc

  • Fix queue size update race in Bolt read limiter
  • "Connection reset by peer" errors will be logged on warning level without stack traces to avoid log pollution.

3.5.0-beta03

Kernel

  • Index providers lucene-1.0, lucene+native-1.0 and lucene+native-2.0 are deprecated and will eventually be removed. The recommended index provider to use is native-btree-1.0. The only reason to use any of the deprecated providers should be the limitations described in detail in the operations manual. For those limitations there are currently no replacement and deprecated providers will not be removed until there is.
  • In some cases, label would be left out when printing index description in logs. This is now fixed. Partly addresses https://github.com/neo4j/neo4j/issues/12038
  • In the case where an index ends up in a failed state, it is now possible to get the cause of the failure from procedure db.indexes. Partly addresses https://github.com/neo4j/neo4j/issues/12038
  • Avoids legacy index removed-entity-repair if no write allowed

Cypher

  • Fix issue where missing headers caused a NullPointerException to occur.
  • Fix ORDER BY + LIMIT 0 in slotted runtime
  • Added new property schema procedures db.schema.nodeTypeProperties and db.schema.relTypeProperties
  • Fixes issue where spatial and temporal properties wasn't handled correctly when using "resultDataContents": ["rest"] in REST API.
  • Fix PeRiOdiC COmmIT being case sensitive
  • Fixed a bug with alphabetical ordering of indexes from db.indexes

Causal Clustering

  • Incremental online backup now leaves the resulting backed up store in a fully recovered state. This fixes problems with seeding a Causal Cluster with a store from an incremental online backup.

3.5.0-beta02

Kernel

  • Consistency-checker PropertyReader detects circular property chains
  • Fixes an issue in IndexHits#getSingle() where it would miss an item when called after a previous call to IndexHits#hasNext().
  • Remove property key tokens limit from BatchInserterImpl.
  • Server plugins are now deprecated for removal in the next major release. We recommend that unmanaged extensions are used instead.
  • The neo4j-shell command, and the shell server, have been removed. We recommend using cypher-shell instead.

Cypher

  • Fixes issue with index planning around predicates with dependencies. In particular, spatial bounding box queries can now be index backed even if the min and/or max expressions include variables.

  • Fix planner regression in which HashJoin + AllNodeScan was preferred

    over OptionalExpand in certain cases.

  • Fix ORDER BY + LIMIT 0 in slotted runtime

Packaging

  • Garbage collector log location is changed to be logs directory instead of neo4j home.

Security

  • Properly handle multiple authorization providers. Fixes an issue where if one provider failed (e.g. connection to ldap failed) the user would end up un-authorized even though another provider had succeeded.
  • Fixes an authentication bug when using startTLS and System Account

Causal Clustering

  • Read replicas now copy the store from a single other member of the cluster.

Browser

  • Fix issue where editor buttons would overflow the viewport
  • Fetch fresh version of remote guides on every request
  • Fix neo4j-browser not working properly when db auth is disabled
  • Future proof Neo4j Desktop integration by using the url field in connection info.
  • Fix rare neo4j-browser crash when clicking on yellow Cypher warning triangle
  • Fix crashing :queries frame in clustered environments when all members couldn't be reached

Misc

  • Rotate transaction logs during incremental backup.

3.5.0-beta01

Kernel

  • Remove cursor pooling on a page cache level.

  • Uses order from index seeks in Cypher instead of planning Sort operators, where possible. This will work only for a very limited set of queries and only for ascending order. Example MATCH (n:B) WHERE n.prop STARTS WITH 'foo' RETURN n.prop ORDER BY n.prop. In order to trigger index-backed ordering, it is currently always necessary to provide a Range predicate (n.prop STARTS WITH 'foo' or n.prop > 0 or ...).

    This also adds a new column to the ASCII art plan description: Order. The column describes the order of the outgoing rows of that operator.

Cypher

  • Augment Cypher to support index-backed order on CONTAINS and ENDS WITH predicates. This is possible because all current indexes that support ordering solve these queries by a scan and filter, and therefore provide results in order.

  • Enable Index-backed order by in descending order from Cypher.

  • This changes the planner to use index provided properties (instead of going to the property store) in the following two cases:

    MATCH (n:L) WHERE n.prop <= 42 AND n.prop % 2 = 0 (usage in another predicate)

    MATCH (n:L) WHERE n.prop = 42 WITH n as m MATCH (m)-[r]-(o) RETURN m.prop (usage after a WITH)

  • Ensure renamed timezones are always returned the same way.

    RETURN datetime("2018-04-05T12:34:00[Canada/East-Saskatchewan]")
    MATCH (n) WHERE n.date = datetime("2018-04-05T12:34:00[Canada/East-Saskatchewan]") RETURN n.date
    

    Will now return the same object with timezone set to Canada/Saskatchewan, which Canada/East-Saskatchewan has been renamed to. Previously only the value read from store would be Canada/Saskatchewan

  • Fix bug in queries containing RETURN or WITH clauses including both a star and a pattern comprehesion (e.g. ... RETURN *, [ (a)-[:HAS_BUREAU]->(bureau:Bureau) | bureau.CREDIT_ACTIVE = "Active"] AS bureauStatus), which would previously fail with WITH/RETURN should note its Scope in the SemanticState.

  • Fix bug which would cause FunctionInvocation(...) has to type from semantic analysis errors for some complex WITH-clauses in a write query.

Causal Clustering

  • Check recovery status of store when bootstrapping cluster

Config

  • User log can written directly to neo4j.log. neo4j.log can be configured to use log rotation.

Browser

  • Fix username not updating in sidebar when disconnecting
  • Improve Cypher result rendering performance
  • Prepare for Neo4j Desktop distribution

Misc

  • Allow disabling HTTP in Neo4j server and harness. Embedded Jetty server is not started when both HTTP and HTTPS are disabled. REST endpoints will not be available and server plugins / extensions will never be loaded or executed.

3.5.0-alpha09

Kernel

  • Upgrade the Bouncy Castle dependency to version 1.60.
  • Deprecate High Availability Edition.

Cypher

  • Fix $12011 by providing the wanted functionality under a feature toggle.
  • Remove browser warnings when using temporal and spatial property accessors e.g. .year, .x.
  • Fix 12029 where combining multiple a IN with AND and OR could lead to the wrong result.

Causal Clustering

  • Cluster instances display additional information on availability endpoints to help in rolling upgrades
  • Unbind from cluster successful if already unbound

Tools

  • Revert mistakenly enabling NEO4J_DEBUG by default for neo4j-admin

Browser

  • Add :history clear command
  • Add pagecache hits and misses to plan output
  • Add complete support for bolt+routing://
  • Add Neo4j Community Forum link to sidebar
  • Enable users with non reader roles to connect
  • Fix :server switch bug in Neo4j Desktop environment

3.5.0-alpha08

Kernel

  • Fix bug causing property values that where too large for an index to slip through during population. This will later cause readers to fail upon reading from index with org.neo4j.io.pagecache.CursorException: Read unreliable key. For further information on how to handle this issue, please see release notes.
  • Reuse threads between cleanup jobs during recovery. This fixes an issue where user would see java.lang.OutOfMemoryError: unable to create new native thread caused by Neo violating the number of allowed tasks per process, set by system.
  • Remove objenesis from the dependencies and from libraries included into distribution.
  • Fixes a native index issue where inserting large values, although within size limit, could result in attempt to write out of bounds on page. Any transaction experiencing this would be allowed to commit, but run into this issue when applying the changes to the index.
  • Remove com.google.code.findbugs:jsr305 from distribution libraries.

Cypher

  • Fixed a bug where spatial range queries with inequalities would return points on the axes defined by the search points

  • Made error messages for functions applied to incompatible types more consistent

  • If the index can provide exact property values, they will be used starting of now. Indexes can always provide the values for equality predicates and all native indexes except the spatial index can also return the property values for other predicates. Lucene and spatial indexes cannot provide the values.

    An example of what improves: MATCH (n:N) WHERE n.prop > 10 RETURN n.propused to planned with a Projection. Now, the property values are obtained directly from the NodeIndexSeek. This will avoid additional lookups in the PropertyStore.

  • Fixes https://github.com/neo4j/neo4j/issues/12017 so when solving an OR predicate, other predicates are only considered solved if they were solved in both underlying operators.

  • Fix broken ON MATCH SET in PERIODIC COMMIT. This bug would show up as a problem to read properties in all the PERIODIC COMMIT commits except the first.

3.5.0-alpha07

Kernel

  • Add an eventually consistent update mode for the fulltext indexes.
  • All APIs, surfaces and features related to explicit/auto/manual/legacy indexes are now deprecated for removal in the next major release. People are encouraged to switch to schema indexes, and the new full-text indexes, instead.
  • Avoid ConcurrentModificationException in the SchemaCacheState copy-constructor.
  • Allow disabling the FileWatcher

Cypher

  • Fixed issues with WRITE procedures interacting badly with their enclosing Cypher read queries by allowing authors to add an eager attribute to the @Procedure annotation.

Causal Clustering

  • Akka discovery
  • Bounded queue and batching for Raft content
  • Fix hostname regression

Misc

  • Removing the stracktrace of login errors in user log (neo4j.log)

3.5.0-alpha06

Kernel

Cypher

  • Port okapi.schema() procedure to 3.4

  • date(null) used to falsely return the current date. Now it returns null instead. The same is true for all other temporal functions.

  • Give sensible error message for merge on null node.

  • Reverts the restriction on passing unknown keys to the point function. Behaviour is now as it was before, allowing complex maps. Users need to take note of the fact that this means a map like {x:1,y:2,z:3} will create a 2D point in Neo4j 3.1-3.3, but a 3D point in Neo4j 3.4 and later.

  • Pattern comprehensions in other expressions were not planned correctly. Example:

    size([ (a)-->(b:B) WHERE (b)-->(:C) b.foo ]). This is now fixed.

Packaging

  • Add support for Powershell ConstrainedLanguage mode

Causal Clustering

  • ICE hostname verification

Misc

  • Procedures to list and kill network connections
  • Fix connection stop from failing because of rejected execution errors

3.5.0-alpha05

Kernel

  • Index provider for the fulltext index
  • Add support for attaching to running neo4j instance on Windows servers

Cypher

  • Take Query Parameters over default arguments. If you don't provide actual arguments, but query parameters instead (like in CALL org.neo4j.aNodeWithLabel params = Map("label" -> "Cat") ) this will from now on use the provided parameters and override any default arguments. It was preferring default arguments before, if they existed.
  • Improve error message on non-node input in LockNodesPipe
  • Compiled ExpandInto respects relationship type

Causal Clustering

  • Fix log warning of replication retry attempts

Browser

  • Add toggle for multi statement cypher editor
  • Fix editor to handle string literals that contain new lines

Misc

  • Make authentication rate limits configurable

3.5.0-alpha04

Kernel

  • Parallel flushing and forcing of pages
  • Disable prometheus during backup to fix port conflict issues
  • Fix a bug whereby once a spatial index exists, all future spatial indexes of the same CRS will inherit the same settings, regardless of what the neo4j.conf settings say.

Cypher

  • Fix a bug where predicates inside pattern comprehensions could end up not being correctly planned which could lead to incorrect results

  • Fix bug in duration.between() that would calculate wrong time difference for date times if the total difference was less than a whole day.

  • Don't use exact division in selectivity estimation

    We were using BigDecimal#divide without rounding mode when computing the selectivity. It uses exact division and does thus not handle numbers with non-terminating decimal expansions, e.g. 1/3 and 1/6.

Causal Clustering

  • Nicer store copy logging.

    Avoid logging stack trace on:

    • connection refused
    • topology lookup exception

Browser

  • Add support for multi-statement execution
  • Switch to React 16.4
  • Fix meta query to be more performant
  • Handle changelog url building in disconnected state
  • Fix crashing favorites sidebar when using non latin1 characters

3.5.0-alpha02

Kernel

  • Restore ability to handle directories on database restore
  • Fix incorrect index validity check for lucene indexes (Backport of PR #11150)
  • Update logging messages around indexes and constraints population.
  • Fix issue where the diagnostic reporter did not support paths with spaces in the destination file.
  • Add db-setting: dbms.import.csv.buffer_size allowing for increasing the internal buffer in order to handle csv-files with huge fields.
  • Update CSV file rotation threshold in metrics to be 10m instead of 100m by default
  • Disable tracking of CPU time and memory allocation by default
  • Add missing hits and unpins metrics to page cache statistics JMX bean.

Cypher

  • Such hints in spatial indexes when querying by distance are now allowed:

    MATCH (b:Business)<-[:REVIEWS]-(r:Review)
    USING INDEX b:Business(location)
    WHERE distance(b.location, point({latitude: 33.3288, longitude: -111.977})) < 6500
    
  • Plan consecutive CREATE clauses as one Create operator instead of multiple CreateNode and CreateRelationship. This improves performance of big create queries, and avoid stack overflow problems for extreme cases.

  • Core API users used to be allowed to pass in arbitrary objects as parameters. If these were not used by Cypher, we would silently ignore them. In 3.4.0 this was changed to always fail the query if any parameter was not convertible to a cypher type. This commits reverts to the previous lenient behavior, as this change caused problems for some users.

  • Fixes bug that caused the Unknown value type: STRUCT error with queries that use PERIODIC COMMIT over bolt and return whole nodes or relationships

  • Aggregation (SUM, AVG) for Durations

  • Fixes problems where variables were displayed as ReferenceFromSlot in plan descriptions.

  • VarExpand: Detect dependencies on path in inner predicates

  • Fix locking seeks with NO_VALUE

  • Clean up of QueryGraph

  • Add support for using compiled expressions.

Causal Clustering

  • Streamed replicated content
  • Abort replication on missing leader or leader switch

Browser

  • Add auto refresh to sysinfo frame
  • Fix [object Object] output when returning paths with new types
  • Fix missing inspector items when spread over more than one line
  • Word break long values in db info drawer
  • Don’t add type hinting quotes on strings in CSV export
  • In guides allow one dynamic field to update multiple elements
  • Fix :style / GraSS regressions
  • Show the total number of nodes and relationships in db meta sidebar
  • Fix issue where neo4j-browser kept allocating more and more disk space

Misc

  • Upgrade to jetty 9.4.11.v20180605

3.5.0-alpha01

Kernel

  • Increase swapper id limit, allowing more files (like indexes) to be opened by the page cache, and fix a MemoryManager bug around alignment handling.

  • Adds the configuration option db.temporal.timezone to configure a default time zone affecting the creation of all temporal values.

  • Remove the traversal endpoints.

  • When writing WHERE n.str CONTAINS 'x'

            or WHERE n.str ENDS WITH 'x'
    

    Cypher will issue a warning, if n.str is backed by a native String index which is suboptimal for these index scans.

Cypher

  • Fix bug in un-directed ProjectEndPoints when both end points are in scope

  • Add missing accessors to duration

  • Return null when trying to access a non-existing property from

    a string instead of throwing error.

  • fixes #11663, Using percentileDisc with empty data should return null

High Availability

  • Failure to switch to master is no longer terminal

Causal Clustering

  • Cache local topology information and various minor cleanup

Browser

  • Update JS driver to 1.0.0
  • Update Neo4j JS Driver to 1.0.2
  • Update neo4j js driver to 1.0.3
  • Get Bolt address from server discovery service
  • Query parameter support added
  • Persist visualization auto-complete of relationships and add it to Settings Drawer.
  • Cypher frame now only loads ascii table results when required
  • Enable Bolt setting by default
  • List and kill running queries with the new command :qs
  • See Core-Edge cluster in :sysinfo and connect to individual members
  • Update neo4j-driver to 1.1.0
  • Bolt query execution time is now timed on the server side.
  • Update links to docs on pre-releases to 'beta'
  • Rename command :qs -> :queries
  • Include the server version in the beta docs url
  • Show 'beta' welcome frame for pre-releases to promote new features and how users can send us feedback.
  • Enable :queries command only when procedure is available
  • Sort user roles alphabetically in user admin frame
  • Add support for the bolt+routing protocol when in a Causal Cluster
  • Give users feedback when setting :param
  • Reuse connections for heartbeat to not flood the security log with login items
  • Pre-release of rewritten version of Neo4j Browser.
  • Try to fetch guide remotely if not found locally
  • Fix slow loading of user and system info in database drawer
  • Read and act on server config retain_connection_credentials
  • Define URL to connect to with URL param 'connectURL'
  • Style table view and just show relevant information
  • Fix editor error when writing Cypher LOAD CSV or referencing non existing indexes
  • Fix failure to parse server config browser.remote_content_hostname_whitelist
  • Fix missing scrollbars in left drawer in some web browsers
  • Make the Browser commands case insensitive
  • Fix for collected graph items now showing up in viz
  • Bring back :server status command.
  • Present total db hits and time stats in PROFILE View
  • Backtick meta items in auto generated queries from drawer
  • Fix login for restricted users
  • Fix broken elapsed time in :queries frame
  • Add slider to text view statusbar
  • Listen for config maxFrames and enforce that limit in stream
  • Fix indicator being at start of line in error messages
  • Fix for sensitive dropdown menu closing too easy
  • Update document title with connected username and host
  • Add support for handling multiple commands from browser.post_connect_cmd
  • Escape backticks in meta item queries
  • Limit number of meta items shown in db drawer
  • Introduce fetching client configuration from a remote JSON file
  • Fix :help input with space
  • Fix unstable guide pagination
  • Fix missing auth headers on local :GET, :POST etc command requests
  • Fix cursor sometimes resetting to start position
  • Parse server config duration strings correctly
  • Add cluster role, db filename and total store size to sidebar
  • Add dark theme
  • Only display truthy connection data in the browser title
  • Use separate thread for running cypher queries
  • Save/Edit favorite in editor
  • Add support for setting browser :config with objects
  • Fix sluggish experience when having hundreds of thousands meta items
  • Fix app break when no events in UDC state
  • Fixes mapping issue when using :sysinfo with HA
  • Honor url whitelist when fetching remote grass files
  • Bring back :style command
  • Fix display of zero length paths
  • Don't add repeated executed commands to history
  • Fix expand/collapse of plan results in all levels
  • Fix cypher result exports
  • Fix display of Neo4j integers in Cypher result frames
  • Add ability to download a query plan as png
  • Fix x overflow in frames with %-width in IE 11
  • Sort keys when inspecting nodes
  • Fix null not rendering in table view results
  • Fix generated query for sidebar meta items named ‘*’
  • Update neo4j-driver to 1.4.0
  • Autologin to Browser Sync and obey server config browser.allow_outgoing_connections
  • Fix various bugs in editor Cypher parsing
  • Fix Browser not being able to run cypher queries when using TLS and self signed certs
  • Fix setting initial password over TLS when encryption is required
  • In query plan: show signature of the procedure that got called
  • In query plan: show the label that has been scanned
  • Fix viz bug where boolean captions didn't show up on graph elements
  • Add 3rd party LICENSES.txt and NOTICE.txt
  • Remove escaping of characters in tables views
  • Add visual feedback when adding new favourite, and enter 'edit favourite' mode.
  • Integrate with desktop API
  • Show Browser Sync banner when not accepted terms yet
  • Enable thread to execute cypher on (web worker)
  • Fix issue where mapping cypher result to vis would break the app
  • Sync styling with Browser sync
  • Disable editor highlighting with config option
  • Add more detailed error messages for known Browser/OS issues
  • Fix issue of some queries getting stuck because of the shape of the result
  • Use latest released neo4j-driver
  • Add page cache hit ratio to :sysinfo frame
  • Update :sysinfo to display 'Store sizes' jmx values
  • Fix for clearing local data when not signed in to browser sync
  • Fix memory leak in background job
  • Make every type of Bolt transactions use web workers
  • Display driver result summary in code view
  • Support new Neo4j types (Neo4j 3.4)
  • Fix Cypher warning position in Warnings View
  • Display more store sizes if they exist (Neo4j > 3.2)
  • Add new param syntax to evaluate against the server
  • Upgrade neo4j-driver to 1.6.0
  • Render new types correctly in visualization
  • Show more information on operators in plan output
  • Fix docs links in sidebar to point to the connected version
  • Upgrade neo4j-driver to 1.6.1

Misc

  • Configurable CORS header
  • Couple security-related improvements for server
Clone this wiki locally