neo4j_server 1.8.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +20 -0
- data/README.rdoc +5 -0
- data/Rakefile +4 -0
- data/bin/neo4j_server +53 -0
- data/lib/neo4j_server/java.rb +8 -0
- data/lib/neo4j_server/server.rb +96 -0
- data/lib/neo4j_server/tasks.rb +18 -0
- data/lib/neo4j_server/version.rb +3 -0
- data/neo4j/CHANGES.txt +618 -0
- data/neo4j/LICENSE.txt +695 -0
- data/neo4j/LICENSES.txt +2614 -0
- data/neo4j/NOTICE.txt +220 -0
- data/neo4j/README.txt +62 -0
- data/neo4j/UPGRADE.txt +167 -0
- data/neo4j/conf/README.txt +16 -0
- data/neo4j/conf/logging.properties +73 -0
- data/neo4j/conf/neo4j-http-logging.xml +37 -0
- data/neo4j/conf/neo4j-server.properties +85 -0
- data/neo4j/conf/neo4j-wrapper.conf +38 -0
- data/neo4j/conf/neo4j.properties +30 -0
- data/neo4j/conf/windows-wrapper-logging.properties +73 -0
- data/neo4j/lib/README.txt +16 -0
- data/neo4j/lib/geronimo-jta_1.1_spec-1.1.1.jar +0 -0
- data/neo4j/lib/lucene-core-3.5.0.jar +0 -0
- data/neo4j/lib/neo4j-cypher-1.8.1.jar +0 -0
- data/neo4j/lib/neo4j-graph-algo-1.8.1.jar +0 -0
- data/neo4j/lib/neo4j-graph-matching-1.8.1.jar +0 -0
- data/neo4j/lib/neo4j-jmx-1.8.1.jar +0 -0
- data/neo4j/lib/neo4j-kernel-1.8.1.jar +0 -0
- data/neo4j/lib/neo4j-lucene-index-1.8.1.jar +0 -0
- data/neo4j/lib/neo4j-shell-1.8.1.jar +0 -0
- data/neo4j/lib/neo4j-udc-1.8.1.jar +0 -0
- data/neo4j/lib/org.apache.servicemix.bundles.jline-0.9.94_1.jar +0 -0
- data/neo4j/lib/scala-library-2.9.1-1.jar +0 -0
- data/neo4j/lib/server-api-1.8.1.jar +0 -0
- data/neo4j/plugins/README.txt +13 -0
- data/neo4j/system/README.txt +9 -0
- data/neo4j/system/lib/README.txt +7 -0
- data/neo4j/system/lib/antlr-2.7.7.jar +0 -0
- data/neo4j/system/lib/asm-3.1.jar +0 -0
- data/neo4j/system/lib/asm-analysis-3.2.jar +0 -0
- data/neo4j/system/lib/asm-commons-3.2.jar +0 -0
- data/neo4j/system/lib/asm-tree-3.2.jar +0 -0
- data/neo4j/system/lib/asm-util-3.2.jar +0 -0
- data/neo4j/system/lib/bcprov-jdk16-140.jar +0 -0
- data/neo4j/system/lib/blueprints-core-1.2.jar +0 -0
- data/neo4j/system/lib/blueprints-neo4j-graph-1.2.jar +0 -0
- data/neo4j/system/lib/commons-beanutils-1.8.0.jar +0 -0
- data/neo4j/system/lib/commons-beanutils-core-1.8.0.jar +0 -0
- data/neo4j/system/lib/commons-collections-3.2.1.jar +0 -0
- data/neo4j/system/lib/commons-configuration-1.6.jar +0 -0
- data/neo4j/system/lib/commons-digester-1.8.1.jar +0 -0
- data/neo4j/system/lib/commons-io-1.4.jar +0 -0
- data/neo4j/system/lib/commons-lang-2.4.jar +0 -0
- data/neo4j/system/lib/commons-logging-1.1.1.jar +0 -0
- data/neo4j/system/lib/concurrentlinkedhashmap-lru-1.3.1.jar +0 -0
- data/neo4j/system/lib/gremlin-groovy-1.5.jar +0 -0
- data/neo4j/system/lib/gremlin-java-1.5.jar +0 -0
- data/neo4j/system/lib/groovy-1.8.5.jar +0 -0
- data/neo4j/system/lib/jackson-core-asl-1.9.7.jar +0 -0
- data/neo4j/system/lib/jackson-jaxrs-1.9.7.jar +0 -0
- data/neo4j/system/lib/jackson-mapper-asl-1.9.7.jar +0 -0
- data/neo4j/system/lib/janino-2.5.10.jar +0 -0
- data/neo4j/system/lib/jansi-1.5.jar +0 -0
- data/neo4j/system/lib/jcl-over-slf4j-1.6.1.jar +0 -0
- data/neo4j/system/lib/jersey-core-1.9.jar +0 -0
- data/neo4j/system/lib/jersey-multipart-1.9.jar +0 -0
- data/neo4j/system/lib/jersey-server-1.9.jar +0 -0
- data/neo4j/system/lib/jettison-1.3.jar +0 -0
- data/neo4j/system/lib/jetty-6.1.25.jar +0 -0
- data/neo4j/system/lib/jetty-util-6.1.25.jar +0 -0
- data/neo4j/system/lib/jsr311-api-1.1.2.r612.jar +0 -0
- data/neo4j/system/lib/logback-access-0.9.30.jar +0 -0
- data/neo4j/system/lib/logback-classic-0.9.30.jar +0 -0
- data/neo4j/system/lib/logback-core-0.9.30.jar +0 -0
- data/neo4j/system/lib/mimepull-1.6.jar +0 -0
- data/neo4j/system/lib/neo4j-cypher-plugin-1.8.1.jar +0 -0
- data/neo4j/system/lib/neo4j-gremlin-plugin-1.8.1.jar +0 -0
- data/neo4j/system/lib/neo4j-server-1.8.1-static-web.jar +0 -0
- data/neo4j/system/lib/neo4j-server-1.8.1.jar +0 -0
- data/neo4j/system/lib/pipes-1.0.jar +0 -0
- data/neo4j/system/lib/rrd4j-2.0.7.jar +0 -0
- data/neo4j/system/lib/servlet-api-2.5-20081211.jar +0 -0
- data/neo4j/system/lib/slf4j-api-1.6.2.jar +0 -0
- data/neo4j/system/lib/stax-api-1.0.1.jar +0 -0
- data/neo4j_server.gemspec +32 -0
- metadata +138 -0
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2013 Assay Depot
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
data/Rakefile
ADDED
data/bin/neo4j_server
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Not sure if the following two lines should be here.
|
3
|
+
lib = File.join(File.dirname(__FILE__), '..', 'lib')
|
4
|
+
$:.unshift(lib) unless $:.include?(lib)
|
5
|
+
|
6
|
+
begin
|
7
|
+
require 'tmpdir'
|
8
|
+
require 'optparse'
|
9
|
+
require 'pathname'
|
10
|
+
require File.join(lib, 'neo4j_server', 'server')
|
11
|
+
rescue LoadError => e
|
12
|
+
if require 'rubygems'
|
13
|
+
retry
|
14
|
+
else
|
15
|
+
raise(e)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
server = Neo4jServer::Server.new
|
20
|
+
server.data_dir = Pathname.new(Dir.tmpdir).join("neo4j_data")
|
21
|
+
server.log_dir = server.data_dir.join("log")
|
22
|
+
server.neo4j_home = Pathname.new(lib).join("../neo4j")
|
23
|
+
server.port = '7474'
|
24
|
+
|
25
|
+
|
26
|
+
opts = OptionParser.new do |opts|
|
27
|
+
opts.banner = "Usage: neo4j_server run [options]"
|
28
|
+
|
29
|
+
opts.on '-p', '--port=PORT', 'Port on which to run Neo4j (default 7474)' do |p|
|
30
|
+
server.port = p
|
31
|
+
end
|
32
|
+
|
33
|
+
opts.on '-h', '--home=HOME_PATH', 'Neo4j home directory' do |h|
|
34
|
+
server.neo4j_home = Pathname.new(h)
|
35
|
+
end
|
36
|
+
|
37
|
+
opts.on '-d', '--data_dir=DATA_PATH', "Neo4j data directory" do |d|
|
38
|
+
server.data_dir = Pathname.new(d)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
opts.parse!
|
43
|
+
|
44
|
+
begin
|
45
|
+
case ARGV[0]
|
46
|
+
when 'run'
|
47
|
+
server.run
|
48
|
+
else
|
49
|
+
abort(opts.help)
|
50
|
+
end
|
51
|
+
rescue Neo4jServer::Server::ServerError => e
|
52
|
+
abort(e.message)
|
53
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# This code is heavily influenced by sunspot_solr's server.rb
|
2
|
+
|
3
|
+
require 'tempfile'
|
4
|
+
require 'neo4j_server/java'
|
5
|
+
|
6
|
+
module Neo4jServer
|
7
|
+
class Server
|
8
|
+
ServerError = Class.new(RuntimeError)
|
9
|
+
JavaMissing = Class.new(ServerError)
|
10
|
+
|
11
|
+
attr_accessor :data_dir, :log_dir, :neo4j_home, :port
|
12
|
+
|
13
|
+
def initialize(*args)
|
14
|
+
ensure_java_installed
|
15
|
+
super(*args)
|
16
|
+
end
|
17
|
+
|
18
|
+
def run
|
19
|
+
make_data_dir
|
20
|
+
make_log_dir
|
21
|
+
|
22
|
+
cmd = ["java"]
|
23
|
+
cmd << "-server"
|
24
|
+
cmd << "-cp '#{jars.join(':')}'"
|
25
|
+
cmd << "-Dlog4j.configuration=file:#{log4j_config_path}"
|
26
|
+
cmd << "-Dorg.neo4j.server.properties=\"#{neo4j_server_properties_path}\""
|
27
|
+
# cmd << "-Djava.util.logging.config.file=\"#{logging_config_path}\""
|
28
|
+
cmd << "-Dneo4j.home=\"#{@neo4j_home}\""
|
29
|
+
cmd << "-Dneo4j.instance=\"#{@neo4j_home}\""
|
30
|
+
cmd << "-Duser.home=\"#{@neo4j_home}\""
|
31
|
+
cmd << "org.neo4j.server.Bootstrapper"
|
32
|
+
|
33
|
+
exec(cmd.join(" "))
|
34
|
+
end
|
35
|
+
|
36
|
+
def logging_config_path
|
37
|
+
File.expand_path(@neo4j_home.join("conf/loggging.properties"))
|
38
|
+
# return @logging_config_path if defined?(@logging_config_path)
|
39
|
+
# @logging_config_path =
|
40
|
+
# if log_file
|
41
|
+
# logging_config = Tempfile.new('logging.properties')
|
42
|
+
# logging_config.puts("handlers = java.util.logging.FileHandler")
|
43
|
+
# # logging_config.puts("java.util.logging.FileHandler.level = #{'INFO'}")
|
44
|
+
# # logging_config.puts("java.util.logging.FileHandler.pattern = #{log_file}")
|
45
|
+
# logging_config.puts("java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter")
|
46
|
+
# logging_config.flush
|
47
|
+
# logging_config.close
|
48
|
+
# logging_config.path
|
49
|
+
# end
|
50
|
+
end
|
51
|
+
|
52
|
+
private
|
53
|
+
def log_file
|
54
|
+
@log_dir.join("neo4j.log")
|
55
|
+
end
|
56
|
+
|
57
|
+
def ensure_java_installed
|
58
|
+
unless defined?(@java_installed)
|
59
|
+
@java_installed = Neo4jServer::Java.installed?
|
60
|
+
unless @java_installed
|
61
|
+
raise JavaMissing.new("You need a Java Runtime Environment to run the Solr server")
|
62
|
+
end
|
63
|
+
end
|
64
|
+
@java_installed
|
65
|
+
end
|
66
|
+
|
67
|
+
def jars
|
68
|
+
lib_jars = Dir.glob(@neo4j_home.join("lib/*.jar"))
|
69
|
+
sys_jars = Dir.glob(@neo4j_home.join("system/lib/*.jar"))
|
70
|
+
plugin_jars = Dir.glob(@neo4j_home.join("plugins/*.jar"))
|
71
|
+
coordinator_jars = Dir.glob(@neo4j_home.join("system/coordinator/lib/*.jar"))
|
72
|
+
|
73
|
+
[lib_jars,sys_jars,plugin_jars,coordinator_jars].flatten.collect{|f| File.expand_path(f)}
|
74
|
+
end
|
75
|
+
|
76
|
+
def neo4j_instance
|
77
|
+
@neo4j_home
|
78
|
+
end
|
79
|
+
|
80
|
+
def log4j_config_path
|
81
|
+
File.expand_path(@neo4j_home.join("conf/log4j.properties"))
|
82
|
+
end
|
83
|
+
|
84
|
+
def neo4j_server_properties_path
|
85
|
+
File.expand_path(@neo4j_home.join("conf/neo4j-server.properties"))
|
86
|
+
end
|
87
|
+
|
88
|
+
def make_data_dir
|
89
|
+
FileUtils.mkdir_p(@data_dir)
|
90
|
+
end
|
91
|
+
|
92
|
+
def make_log_dir
|
93
|
+
FileUtils.mkdir_p(@log_dir)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
desc 'Update the vendored neo4j'
|
4
|
+
task :update, [:path] do |t,args|
|
5
|
+
path = Pathname.new(args[:path])
|
6
|
+
raise ArgumentError.new("Expecting path to a tar.gz") unless path.basename.to_s =~ /tar\.gz/
|
7
|
+
|
8
|
+
puts "tar -xzf #{args[:path]} -C #{ROOT}"
|
9
|
+
system("tar -xzf #{args[:path]} -C #{ROOT}")
|
10
|
+
|
11
|
+
unpacked_folder_name = path.basename.to_s.gsub(/\.tar\.gz/,'').gsub("-unix","")
|
12
|
+
|
13
|
+
FileUtils.mv ROOT.join(unpacked_folder_name), ROOT.join("neo4j")
|
14
|
+
FileUtils.rm_rf ROOT.join("neo4j/data")
|
15
|
+
FileUtils.rm_rf ROOT.join("neo4j/examples")
|
16
|
+
FileUtils.rm_rf ROOT.join("neo4j/doc")
|
17
|
+
FileUtils.rm_rf ROOT.join("neo4j/bin")
|
18
|
+
end
|
data/neo4j/CHANGES.txt
ADDED
@@ -0,0 +1,618 @@
|
|
1
|
+
For Release Notes, see http://neo4j.org/release-notes
|
2
|
+
|
3
|
+
1.8.1 (2012-12-13)
|
4
|
+
--------------------
|
5
|
+
Java 7 Support:
|
6
|
+
o We now compile and test with Java 7 on both Oracle JVM and OpenJDK (however, we still only officially support Sun JDK6).
|
7
|
+
o JVM compatibility checking will warn when you use incompatible JVMs or incompatible Java versions.
|
8
|
+
|
9
|
+
Cypher:
|
10
|
+
o Numerous bug fixes:
|
11
|
+
+ Fixes #304, bug that stops renaming of identifiers that are used as key expressions when aggregating
|
12
|
+
+ Fix for problems when using patterns with multiple unnamed nodes
|
13
|
+
+ Fixes problems when doing ORDER BY ... LIMIT x
|
14
|
+
+ Fixed problem with dependencies inside foreach statements being reported wrongly
|
15
|
+
+ Fixes #336 - Patterns that re-use a pattern node can produce non-existing matches
|
16
|
+
o Integration with Bidirectional Traverser Framework
|
17
|
+
o Improvements to memory consumption
|
18
|
+
|
19
|
+
Graph Algorithms:
|
20
|
+
o Fixed issue with bi-directional shortest path
|
21
|
+
|
22
|
+
1.8.GA (2012-09-24)
|
23
|
+
--------------------
|
24
|
+
Kernel:
|
25
|
+
o Fix for issue where, under some conditions, an incorrect number of relationships were returned.
|
26
|
+
|
27
|
+
Server:
|
28
|
+
o Fixed webadmin bug where clicking save in the visualization profiles did not change the page
|
29
|
+
|
30
|
+
Cypher:
|
31
|
+
o Added synchronization to avoid race conditions in the Cypher parser
|
32
|
+
|
33
|
+
1.8.RC1 (2012-09-05)
|
34
|
+
--------------------
|
35
|
+
Kernel:
|
36
|
+
o Removed contention around allocating and moving persistence windows so that a thread won't need to await
|
37
|
+
another thread doing this refresh, instead just continue knowing that the windows will be optimally
|
38
|
+
placed in a very near future.
|
39
|
+
o Removed contention around translating a key (as String) into the ID by using copy-on-write map instead
|
40
|
+
of a concurrent hash map. Used in property key as well as relationship type translation.
|
41
|
+
o Fix for Node/Relationship#getPropertyValues() sometimes returning null values from the iterator.
|
42
|
+
|
43
|
+
Server:
|
44
|
+
o Upgraded Jackson JAXRS to version 1.9.7
|
45
|
+
o Keeping the Cypher execution engine between calls makes it possible to re-use execution plans
|
46
|
+
o added User-Agent header tracking to udc to determine rest-driver usage
|
47
|
+
|
48
|
+
Cypher:
|
49
|
+
o Removed the /../ literal for regular expressions. Now a normal string literal is used instead
|
50
|
+
o Concatenation handles types better
|
51
|
+
o Changed how the graph-matching module is used, to make it safe for concurrent use
|
52
|
+
o Better type error messages
|
53
|
+
o Renamed iterable to collection
|
54
|
+
o Fixed #795: so that WITH keeps parameters also for empty aggregation results
|
55
|
+
o Fixed #772: Creating nodes/relationships goes before SET, so SET can run on already created elements
|
56
|
+
o Added error when using != instead of <>
|
57
|
+
o Fixed #787: Issue when comparing array properties with literal collections
|
58
|
+
o Fixed #751: Better error message for some type errors
|
59
|
+
o Fixed #818: Problem where properties could only have scalar values (they can be arrays as well)
|
60
|
+
o Fixed #834: Gives relevant syntax exception when properties are entered in MATCH
|
61
|
+
|
62
|
+
1.8.M07 (2012-08-08)
|
63
|
+
--------------------
|
64
|
+
Kernel:
|
65
|
+
o Traversal framework backwards compatibility
|
66
|
+
+ Cleaned up any breaking changes
|
67
|
+
+ Removed Expander#addFilter
|
68
|
+
o Kernel JMX bean instance identifier is now reused and can optionally be set explicitly via forced_kernel_id config setting
|
69
|
+
|
70
|
+
Server:
|
71
|
+
o Consoles in webadmin can now be disabled.
|
72
|
+
|
73
|
+
Cypher:
|
74
|
+
o Added escape characters to string literals
|
75
|
+
o Renamed `RELATE` to `CREATE UNIQUE`
|
76
|
+
|
77
|
+
UDC:
|
78
|
+
o Added edition information (community, advanced, enterprise)
|
79
|
+
o Added a cluster-name hash so that stores originating from the same cluster can be aggregated
|
80
|
+
o Fixed release version and revision
|
81
|
+
o Changed precedence of database configuration over internal udc configuration
|
82
|
+
o Added distribution information (dpkg, rpm, unknown)
|
83
|
+
|
84
|
+
1.8.M06 (2012-07-06)
|
85
|
+
--------------------
|
86
|
+
Kernel:
|
87
|
+
o Deprecated AbstractGraphDatabase.transactionRunning()
|
88
|
+
o Changed synchronization of applying transactions to prevent a deadlock scenario
|
89
|
+
o Original cause can be extracted from a transaction RollbackException
|
90
|
+
|
91
|
+
Server:
|
92
|
+
o Fixed issue that stopped the server from starting without the UDC-jars.
|
93
|
+
|
94
|
+
Cypher:
|
95
|
+
o Fixes problem when graph elements are deleted multiple times in the same query
|
96
|
+
o Fixes #625: Values passed through WITH have the wrong type
|
97
|
+
o Fixes #654: Some paths are returned the wrong way
|
98
|
+
|
99
|
+
1.8.M05 (2012-06-25)
|
100
|
+
--------------------
|
101
|
+
Kernel:
|
102
|
+
o Configurable amount of logical logs to keep, by for example number of days or size on disk.
|
103
|
+
keep_logical_logs configuration is extended to support values such as: "10 days", "200M size" a.s.o.
|
104
|
+
Regardless of configuration there will always be at least the latest non-empty logical log left.
|
105
|
+
o Reduced synchronization while memory mapping files, leading to increased multithreaded performance
|
106
|
+
|
107
|
+
Server:
|
108
|
+
o Added support for multi line Cypher queries in webadmin browser
|
109
|
+
|
110
|
+
Lucene-index:
|
111
|
+
o Removed lucene_writers_cache_size and have lucene_searcher_cache_size decide for both, since
|
112
|
+
it's doesn't make sense to have a writer w/o a searcher and isn't possible to have a searcher
|
113
|
+
w/o its writer.
|
114
|
+
o Loosened contention regarding getting index searchers for querying.
|
115
|
+
|
116
|
+
Cypher:
|
117
|
+
o CREATE and RELATE can now introduce path identifiers
|
118
|
+
o String literals can now contain escape characters
|
119
|
+
o Fixes #600: Double optional with no matching relationships returns too many rows
|
120
|
+
o Fixes #613: Missing dependencies not reported correctly for queries with RELATE/SET/DELETE
|
121
|
+
o Fixes around optional paths
|
122
|
+
|
123
|
+
1.8.M04 (2012-06-07)
|
124
|
+
--------------------
|
125
|
+
Kernel:
|
126
|
+
o Additions to the traversal framework:
|
127
|
+
+ Bidirectional traversals (with BidirectionalTraversalDescription). AllPaths/AllSimplePaths
|
128
|
+
uses this feature and are now faster due to less relationships being traversed.
|
129
|
+
+ Multiple start nodes (as well as multiple end nodes for bidirectional traversals).
|
130
|
+
+ PathExpander (RelationshipExpander for Paths) which has the full Path passed in instead of
|
131
|
+
just the end node of the path. It can also see and modify a user defined traversal branch state.
|
132
|
+
+ Metadata about the traversal, for the time being: number of relationships traversal and
|
133
|
+
number paths returned.
|
134
|
+
+ Added Path#reverseNodes() and Path#reverseRelationships which gives all nodes/relationships in
|
135
|
+
a path in reverse order (starting from the end node going back to the start node). More relevant
|
136
|
+
in many scenarios as well as allowing for a more efficient implementation.
|
137
|
+
+ Sorting of traversal results, specify with TraversalDescription#sort(Comparable).
|
138
|
+
+ Some measure to reduce memory consumption and garbage generation during traversals.
|
139
|
+
|
140
|
+
Graph-algo:
|
141
|
+
o AllPaths/AllSimplePaths uses the new bidirectional traversal feature in the traversal framework.
|
142
|
+
Less relationships now needs to be traversed to find the requested paths.
|
143
|
+
o Added an implementation of the shortest path algorithm with the bidirectional traversal feature.
|
144
|
+
|
145
|
+
Cypher:
|
146
|
+
o CREATE now accepts full paths and not only single nodes and relationships
|
147
|
+
o Path patterns can now be used as expressions and as predicates
|
148
|
+
o Fixes bug where RELATE fails to compare array properties
|
149
|
+
o Fixes #573: Arithmetics operations have wrong type
|
150
|
+
o Fixes #567: Parameter maps coming through REST are not parsed correctly
|
151
|
+
o Fixes #563: COUNT(*) does not return 0 for empty result
|
152
|
+
o Fixes #561: RELATE doesn't work as expected with map-parameters
|
153
|
+
|
154
|
+
1.8.M03 (2012-05-24)
|
155
|
+
--------------------
|
156
|
+
Kernel:
|
157
|
+
o Changed array map to CHM in property index manager, better multithreaded performance
|
158
|
+
Shell:
|
159
|
+
o Added BEGIN TRANSACTION/COMMIT/ROLLBACK
|
160
|
+
o Sessions now live on the server side instead of on the client, which means that not just
|
161
|
+
serializable values can be set there. Paves the way for Cypher making use of it.
|
162
|
+
Server:
|
163
|
+
o keep_logical_logs is now respected if set to false - default is still true
|
164
|
+
Cypher:
|
165
|
+
o Added RELATE
|
166
|
+
o Changed the CREATE syntax, so it looks more like RELATE
|
167
|
+
o Fixes #506: delete head(rels) doesn't work
|
168
|
+
o Fixes #508: length function on array properties doesn't work
|
169
|
+
o Fixes #512: start n=node(*) match n-[r?]->() delete n,r not working
|
170
|
+
o Fixes #514: Extract doesn't work with array properties
|
171
|
+
o Fixes #523: String literals not parsed correctly in CREATE statement
|
172
|
+
o Fixes #526: cypher filter in return clause
|
173
|
+
o Fixes #536: SQRT only returns an integer
|
174
|
+
o Fixes #543: Appending elements to collections
|
175
|
+
|
176
|
+
1.8.M02 (2012-05-11)
|
177
|
+
--------------------
|
178
|
+
Kernel:
|
179
|
+
o Optimized short string and short array encoding algorithms
|
180
|
+
o Fixed problem with SpringTransactionManager during HA master switch
|
181
|
+
Shell:
|
182
|
+
o Shell can now be exited with Ctrl-D
|
183
|
+
Server:
|
184
|
+
o Support for streaming results for http batch operations.
|
185
|
+
o Proper encoding of Index URI key/value pairs.
|
186
|
+
o Fixed Swedish character problem in webadmin string properties.
|
187
|
+
o Webadmin chart labels have nice formatting now.
|
188
|
+
Cypher:
|
189
|
+
o Added the possibility to create nodes from an iterable of maps
|
190
|
+
|
191
|
+
1.8.M01 (2012-04-26)
|
192
|
+
--------------------
|
193
|
+
o Byte array properties are handled in a more optimized way, increasing performance by a couple of times at least.
|
194
|
+
o Fix for an issue where update of cache when creating a relationship on a very dense node would take longer and longer time.
|
195
|
+
o Fix for an issue where a recovery would sometimes fail with it reporting that a start record already had been injected.
|
196
|
+
o Added "create" shell app for Cypher queries only doing creations.
|
197
|
+
Server:
|
198
|
+
o Added streaming to REST API. All representation implementations have been adapted to produce their data lazily.
|
199
|
+
o Added HTTP logging.
|
200
|
+
Cypher:
|
201
|
+
o Added the possibility to return all graph elements using RETURN *
|
202
|
+
o Added CREATE, SET, DELETE, FOREACH, WITH
|
203
|
+
o Fixes issue #432, #446
|
204
|
+
|
205
|
+
1.7 (2012-04-18)
|
206
|
+
----------------
|
207
|
+
o Moved BatchInserter to a different package.
|
208
|
+
o Fixed 'Record Not In Use' issue with creating and setting Node properties with the BatchInserter.
|
209
|
+
Cypher:
|
210
|
+
o Added the possibility to use multiple relationship types on patterns
|
211
|
+
o Fixed bug when aggregation is used in ORDER BY and not listed in the RETURN clause
|
212
|
+
Server:
|
213
|
+
o Added scored index results to REST API
|
214
|
+
o Improvements to installation docs for the server
|
215
|
+
o Added auto index management API to REST, fixing #399
|
216
|
+
o Fixed unicode issues in batch operations API in windows and OS X
|
217
|
+
o Server now disallows creating indexes with empty names. Closes #311
|
218
|
+
o Attempting to delete a non-existing index now returns 404, closes #349
|
219
|
+
UDC:
|
220
|
+
o Modified UDC to run one thread per DB, and to shut down background thread on unload. Closes #279
|
221
|
+
o UDC now sends the machines MAC adress to Neo Technology, to separate between instances behind firewalls
|
222
|
+
o UDC now sends database registration ID to Neo Technology, if one is available
|
223
|
+
o UDC now sends "tags" to Neo Technology, these contain information about the type of deployment, such as language, web-container, app-container, spring, ejb
|
224
|
+
|
225
|
+
1.7.M03 (2012-04-11)
|
226
|
+
--------------------
|
227
|
+
o Removed old OSGi support in favor of the new and better one.
|
228
|
+
o Added possibility to use logback for logging.
|
229
|
+
o Renamed array cache to GC resistant cache (GCR) and moved it to enterprise.
|
230
|
+
o Fixed problem with GCR cache that could cause it to calculate incorrect size.
|
231
|
+
o Fixed problem with closing of messages.log on windows
|
232
|
+
|
233
|
+
1.7.M02 (2012-03-26)
|
234
|
+
--------------------
|
235
|
+
o Added lock free atomic array cache that avoids triggering full GCs.
|
236
|
+
o Added GC monitor that will keep track on how much the JVM blocks application threads.
|
237
|
+
o Fix for an issue where upgrading indices with an unclean shutdown.
|
238
|
+
|
239
|
+
1.7.M01 (2012-03-12)
|
240
|
+
--------------------
|
241
|
+
o Fixed bug in PropertyStore that during recovery would throw exception if the last record was incomplete.
|
242
|
+
o Fixes to transaction log start position caching which mitigates a performance issue and fixes a caching issue during rotation.
|
243
|
+
o Fixed a couple of issue around copying incomplete transaction to new log during a log rotation.
|
244
|
+
o Fixed a property cache poisoning bug and some stale references leaking.
|
245
|
+
o Fixed a data race issue between threads removing the same property while the node is evicted from cache.
|
246
|
+
o Fixed an issue where a property record in the logical log was missing its owner.
|
247
|
+
o Log messages in messages.log are now printed in UTC time zone so that it's the same across servers.
|
248
|
+
o Fix for an issue where a full rebuild of an id generator (rebuild_idgenerators_fast=false) could result
|
249
|
+
in exception when adding free ids.
|
250
|
+
o Fix for issue which would close an id generator as clean if a startup failed at the wrong time, which would make
|
251
|
+
the id generator diverge from the store it held ids for and possible truncate that store file the next clean shutdown.
|
252
|
+
Indexing:
|
253
|
+
o Added LowerCaseKeywordAnalyzer and a clear test for it which shows how to configure a case-insensitive exact index.
|
254
|
+
Cypher:
|
255
|
+
o Added literal collections and the IN predicate
|
256
|
+
o Added HEAD, TAIL, LAST and FILTER
|
257
|
+
o Added ! so that missing property can evaluate to false
|
258
|
+
o BREAKING CHANGE: To check whether a property exists on a node, use the HAS(...) function
|
259
|
+
o Arithmetic & string concatenation
|
260
|
+
o An identifier can now be assigned all the nodes/rels in the graph - START a=node(*)
|
261
|
+
o Predicates can be specified inside of a pattern relationship description
|
262
|
+
Server:
|
263
|
+
o Fixed a NPE in guarded database for the result of Index#putIfAbsent.
|
264
|
+
o Added SSL support in the server.
|
265
|
+
o SecurityRule implementations can now use simple wildcards to allow whole sub paths of URIs to be covered by the rule.
|
266
|
+
o Added an "order" parameter to index REST queries to control result ordering.
|
267
|
+
Shell:
|
268
|
+
o dbinfo command now able to print simple values as well as arrays and compound values as JSON output.
|
269
|
+
o A shell server which isn't remotely avaiable doesn't touch RMI, neither does a client which connects
|
270
|
+
to a server within the same JVM. This makes for less RMI garbage when forgetting to call shutdown().
|
271
|
+
o Fixes problem with eval command in that it couldn't execute a single-line command, which made it impossible
|
272
|
+
to do ./shell -c 'eval ...' from outside
|
273
|
+
UDC:
|
274
|
+
o Added MAC address to pings.
|
275
|
+
|
276
|
+
|
277
|
+
1.6 (2012-01-19)
|
278
|
+
----------------
|
279
|
+
o Fixed a ConcurrentModificationException problem in lucene index when rotating logs and listing store files.
|
280
|
+
o Fixes issues #173, #118, #138, #103
|
281
|
+
o Minor performance optimization in property handling code.
|
282
|
+
Cypher:
|
283
|
+
o Lots of changes to the parsers error reporting
|
284
|
+
o Queries can now be pre-pended with which parser version to use
|
285
|
+
o Database configuration can now change which version of the parser to use as default
|
286
|
+
|
287
|
+
1.6.M03 (2012-01-12)
|
288
|
+
--------------------
|
289
|
+
o Added a different aggregation logic. Makes aggregating on the same columns as sorting much faster
|
290
|
+
o Made it possible to query on array properties
|
291
|
+
o Fixed bugs #157,#140,#168,#170 and a bug which prevented a node sent in as a parameter unable to be returned in a result
|
292
|
+
o Added means of introspecting locks taken by the LockManager.
|
293
|
+
o Added a diagnostics API.
|
294
|
+
o Added Index#putIfAbsent which ensures uniquely put key/value pair for an entity.
|
295
|
+
o Added UniqueFactory which gets or creates entities uniquely using Index#putIfAbsent
|
296
|
+
o Fixed an issue with upgrading an 1.5.M02 store where a "store version" record wouldn't be added and which caused problems after non-clean shutdown.
|
297
|
+
o Fixed an issue where sometimes dual start entries for a transaction would be added in the logical log.
|
298
|
+
o Upgraded to Lucene version 3.5.
|
299
|
+
o Added request timeout, controlled with org.neo4j.server.webserver.limit.executiontime (disabled by default).
|
300
|
+
Request header (max-execution-time) can shorten it if specified.
|
301
|
+
o Fixed issues #113, #166, #172
|
302
|
+
o Allow overriding of server base url for when test browser needs to access server via a different hostname from the bind address.
|
303
|
+
o Exposes get-or-create-uniquely via REST in ex. POST /index/node/<name>?unique {...}
|
304
|
+
o Added shell command mknode for creating new nodes w/o creating a relationship.
|
305
|
+
|
306
|
+
1.6.M02 (2011-12-16)
|
307
|
+
--------------------
|
308
|
+
o [server] Webadmin data browser now supports cypher queries
|
309
|
+
o [server] DEPRECATION: Cypher execution is now part of the core REST API, the cypher plugin is deprecated.
|
310
|
+
o [server] Updated to gremlin 1.4
|
311
|
+
o [server] Fixed bug in how auto indexes are represented
|
312
|
+
o [server] Max request execution time can now be limited
|
313
|
+
o [server] Hypermedia URLs returned by the server now set their host based on the HTTP host header
|
314
|
+
o [kernel] Lower memory usage of ImpermanentGraphDatabase.
|
315
|
+
o [kernel] Abstracted stores that stores id/name pairs into AbstractNameStore/AbstractNameRecord and removed lots of duplicated code.
|
316
|
+
o [kernel] Fixed a race condition in the property cache which cuold poison the cache.
|
317
|
+
o [kernel] Fixed an issue where a JVM crash in the wrong place would make the next startup rename the current logical log without
|
318
|
+
incrementing the logVersion, making the next log rename fail.
|
319
|
+
o [kernel] Start records in the logical log aren't written until the transaction starts preparing/committing. This fixes an issue
|
320
|
+
with the logical log not being rotated sometimes.
|
321
|
+
o [kernel] Added AbstractGraphDatabase#tx() which returns a TransactionBuilder possible of configuring the transaction to be "unforced"
|
322
|
+
meaning that logical logs won't be forced when committing. Means better performance for small non-critical transactions.
|
323
|
+
o [kernel] Reduced number of proxy object instantiation and node record loading in general.
|
324
|
+
o [kernel] Added a wrapping graphdb abstraction, which makes instances survive even if the underlying db restarts.
|
325
|
+
o [kernel] Detached LogExtractor from XaLogicaLog so that it can be used without having a db running.
|
326
|
+
o [kernel] Added an API for progress indication. With a default implementation that prints dots (every 0.5%) and percentages (every 10%) to a PrintStream.
|
327
|
+
o [cypher] Added allShortestPaths
|
328
|
+
o [cypher] Added COALESCE
|
329
|
+
o [cypher] Added column aliasing with AS
|
330
|
+
o [cypher] Variable length relationships can now introduce a rel-iterable
|
331
|
+
o [cypher] BREAKING CHANGE: Changed the syntax for iterable predicated ALL/NONE/ANY/SINGLE to use WHERE instead of a colon
|
332
|
+
o [cypher] BREAKING CHANGE: ExecutionResult is now a read-once, forward only iterator.
|
333
|
+
o [cypher] Fixed problems with optional graph elements
|
334
|
+
|
335
|
+
|
336
|
+
1.6.M01 (2011-11-24)
|
337
|
+
--------------------
|
338
|
+
o ImpermantentGraphDatabase now uses purely in-memory structures for speed during tests. It's done on a FileChannel level
|
339
|
+
so that every other aspect of the database is intact, just that the bytes end up in ByteBuffers instead of files.
|
340
|
+
o Fixed an issue with evaluators not executing correctly for the start node of a traversal.
|
341
|
+
o Fixed an issue with BufferOverflowException thrown sometimes during extraction of prepared transactions.
|
342
|
+
o Added graph properties, i.e. properties that belongs to the graph itself as opposed to a specific node or relationship.
|
343
|
+
Useful for extensions which would like to store configuration and what not.
|
344
|
+
o Better multi-line support in shell, as well as case insensitive app names.
|
345
|
+
o GraphDatabaseService#getAllNodes and #getRelationshipTypes @Deprecated and moved to GlobalGraphOperations class,
|
346
|
+
where also #getAllRelationships is implemented.
|
347
|
+
o Added LRU cache for open indexes so that a limit can be set. Thanks vivekprahlad (github id) for the patch.
|
348
|
+
o When using ImpermanentGraphDatabase RAMDirectory is used instead of FSDirectory. Useful for speed during testing.
|
349
|
+
o Added a LowerCaseKeywordAnalyzer to use for having an exact case-insensitive index.
|
350
|
+
o Cypher console in webadmin is now a Neo4j Shell console with the exact same Cypher support included.
|
351
|
+
o More documentation and examples.
|
352
|
+
o Made zero length (a single node) as well as optional paths in Cypher possible
|
353
|
+
o Cypher Skip, limit and regular expressions can now be parameterized
|
354
|
+
o Column order in Cypher output is now preserved
|
355
|
+
o Cypher Distinct and order by can now be used at the same time
|
356
|
+
o Cypher Execution plans can now be pretty printed
|
357
|
+
o Solved a bug when using multiple regular expressions in the same query
|
358
|
+
o Added the extract function in Cypher
|
359
|
+
|
360
|
+
1.5 (2011-10-18)
|
361
|
+
----------------
|
362
|
+
o More useful logging to messages.log to help investigating problems.
|
363
|
+
o Fixed some issues with detection of version and the need to migrate a store.
|
364
|
+
o In webadmin: visualization adds nodes/relationships to the view for each search and search is performed with CTRL+ENTER.
|
365
|
+
o Added DISTINCT to all aggregate functions in Cypher.
|
366
|
+
|
367
|
+
1.5.M02 (2011-10-10)
|
368
|
+
--------------------
|
369
|
+
o [STORE FORMAT CHANGE] New layout of the property store(s) which results in roughly a 30% reduction in size on disk as well as fewer I/O read operations for reading properties.
|
370
|
+
o Significant performance improvements for extracting transactions from logical logs.
|
371
|
+
o Lots of new Cypher features, f.ex: path functions, parameters, shortest path function.
|
372
|
+
o Icons in the visualization in webadmin and added a standalone webadmin mode.
|
373
|
+
o REST batch API has reduced memory overhead and more appropriate response codes in case of failure.
|
374
|
+
o Adding to index via REST has changed to have the value in the JSON body.
|
375
|
+
o Added simple security and authorization hooks and configuration in the server.
|
376
|
+
|
377
|
+
1.5.M01 (2011-08-31)
|
378
|
+
--------------------
|
379
|
+
o Fixed file lock issues on an open database which could cause them to be released, making the database vulnerable.
|
380
|
+
o Fixed several recovery issues which could leave the logical logs in an inconsistent state after a recovery.
|
381
|
+
o Fixed some data visibility issue for relationships as well as some issues with committing relationships to NodeImpl.
|
382
|
+
o Auto indexing follows tightly with each mutating operation, not per transaction commit.
|
383
|
+
o Tighter integration with the manual in a lot of places.
|
384
|
+
|
385
|
+
1.4 (2011-06-27)
|
386
|
+
----------------
|
387
|
+
o Fix for numerical values not being indexes properly in fulltext index.
|
388
|
+
o More shell commands for deleting entities from the graph.
|
389
|
+
|
390
|
+
1.4.M04 (2011-06-09)
|
391
|
+
--------------------
|
392
|
+
o First iteration of the Cypher Query Language included,
|
393
|
+
with a section in the manual.
|
394
|
+
o Experimental support for batch operations in REST
|
395
|
+
o The Neo4j Manual now includes some examples, and the
|
396
|
+
section on REST has been extended.
|
397
|
+
|
398
|
+
1.4.M01 (2011-04-28)
|
399
|
+
--------------------
|
400
|
+
o Server logging has been changed, see the Server Configuration chapter in
|
401
|
+
the manual for further information.
|
402
|
+
|
403
|
+
1.3 (2011-04-11)
|
404
|
+
----------------
|
405
|
+
o Neo4j Community now licensed under GPL
|
406
|
+
o All known Windows problems in Neo4j fixed.
|
407
|
+
o rewritten Webadmin interface with graph visualization support
|
408
|
+
o Short string support in kernel for better
|
409
|
+
o 256 Billion database primitives
|
410
|
+
o support for Gremlin 0.9 and related Tinkerpop projects
|
411
|
+
o Better JMX and monitoring support (Neo4j Advanced)
|
412
|
+
o New backup solution with support for both incremental and full online backup (Neo4j Enterprise)
|
413
|
+
|
414
|
+
1.3.M05 (2011-03-24)
|
415
|
+
--------------------
|
416
|
+
o New look and feel of the webadmin
|
417
|
+
o New visual data browser
|
418
|
+
o Updated to Gremlin 0.8
|
419
|
+
o Added docs for server plugin initialization.
|
420
|
+
|
421
|
+
1.3.M04 (2011-03-10)
|
422
|
+
--------------------
|
423
|
+
o All manpages are included in the manual.
|
424
|
+
o Some fixes to be more Windows friendly.
|
425
|
+
o Added Dijkstra to the list of graph algorithms to be used when finding paths.
|
426
|
+
o Support for advanced index queries through REST.
|
427
|
+
|
428
|
+
1.3.M03 (2011-02-24)
|
429
|
+
--------------------
|
430
|
+
|
431
|
+
o Numerous updates to the Webadmin tool to make it more usable and to fix some visual bugs.
|
432
|
+
o Removal of the properties service, replaced with a discovery service to allow third-party apps to bind to the server at runtime and discover what services are offered and where.
|
433
|
+
o Changed the configuration file format to make it simpler and less error prone (but it is *not*) backwards compatible with earlier versions.
|
434
|
+
o Separated out the server plugin API for easier development, making only the only development dependency for server a very thin layer and small jar.
|
435
|
+
|
436
|
+
1.3.M02 (2011-02-10)
|
437
|
+
--------------------
|
438
|
+
|
439
|
+
o Gremlin updated to 0.7 and trimmed down to bare bones dependencies.
|
440
|
+
o Webadmin minor improvements in Console, Data browser and monitoring.
|
441
|
+
o better REST JSON property support in Arrays.
|
442
|
+
o server started in High Availability mode.
|
443
|
+
|
444
|
+
1.3.M01 (2011-01-27)
|
445
|
+
--------------------
|
446
|
+
|
447
|
+
o Full online backup (no need to copy store files before hand) in HA and general support for requests with unlimited size.
|
448
|
+
o A couple of bugs fixed in lucene index.
|
449
|
+
o More memory efficient handling of transaction streams (extracting and applying).
|
450
|
+
o New 'eval' shell command which lets you execute JavaScript on the database.
|
451
|
+
|
452
|
+
- Server
|
453
|
+
o Ability to start the server in HA mode.
|
454
|
+
o Excludes the neo4j-index component (not used anyhow) to enable HA mode.
|
455
|
+
|
456
|
+
- Examples
|
457
|
+
o Added an example of an ordered traversal.
|
458
|
+
|
459
|
+
1.2 (2010-12-29)
|
460
|
+
----------------
|
461
|
+
|
462
|
+
- New components:
|
463
|
+
o Neo4j Server, including Web Admin
|
464
|
+
o Neo4j High Availability
|
465
|
+
o Neo4j Graph Database Monitoring and Management tools moved to its own component
|
466
|
+
o Neo4j Index API integrated in the GraphDatabaseService API
|
467
|
+
o Neo4j Usage Data Collection
|
468
|
+
|
469
|
+
- Other changes:
|
470
|
+
o Additional services (extensions) for the Neo4j kernel are loaded automatically or can be injected in a running instance.
|
471
|
+
o Improved memory footprint and read performance.
|
472
|
+
o A weak reference cache is now available for high load low latency workloads.
|
473
|
+
o The old index API has been deprecated (but still included and have been updated to use Lucene version 3.0.1).
|
474
|
+
o There is a new index API based on Lucene supporting multiple indexes both for nodes and relationships.
|
475
|
+
o Path algos can now be performed using the shell.
|
476
|
+
|
477
|
+
o All known bugs have been fixed. For more details see the individual milestone releases below.
|
478
|
+
|
479
|
+
1.2.M06 (2010-12-21)
|
480
|
+
--------------------
|
481
|
+
|
482
|
+
- Kernel
|
483
|
+
o Fixed an issues with PruneEvaluators getting invoked with the start node as argument.
|
484
|
+
PruneEvaluators was never invoked with the start node before the arrival of Evaluator interface.
|
485
|
+
o Added logging of recovery completion.
|
486
|
+
o Added TransactionData#isDeleted(Node) and #isDeleted(Relationship) and also made
|
487
|
+
the collection to hold these a HashSet instead of ArrayList. This allows fast
|
488
|
+
lookups for asking if a node/relationship is deleted in a transaction.
|
489
|
+
o More flexible caching (can instantiate an arbitrary Cache object).
|
490
|
+
|
491
|
+
- Shell
|
492
|
+
o Fixed a problem where ShellServerExtension assumed the shell was enabled during shutdown, which could result in NPE.
|
493
|
+
|
494
|
+
- Lucene-index
|
495
|
+
o More flexible caching (can instantiate an arbitrary Cache object).
|
496
|
+
o Merged the fast-writes branch. Basically it makes committing changes to lucene indexes
|
497
|
+
faster and more throughput-friendly for multiple threads. The performance improvement
|
498
|
+
for committing lucene transactions shows best for small transactions, but will improve
|
499
|
+
all modifying operations to lucene indexes.
|
500
|
+
o Fixed bug which could close an IndexSearcher before it was supposed to when
|
501
|
+
there was exactly one item in the result set, two or more threads did this at
|
502
|
+
the same time as there was another thread doing an update... AND the reading
|
503
|
+
threads all called IndexHits#getSingle() on the result.
|
504
|
+
|
505
|
+
- HA
|
506
|
+
o When a new master is chosen, slaves throws away the id allocations they got from the previous master. This fixes a problem where occupied ids where reused.
|
507
|
+
o Enabled (and fixed problem with) thread on master which checks for dead slave connections and rolls back those transactions, so that their locks are released.
|
508
|
+
This fixes a problem where an HA cluster would seem to freeze up and become unresponsive to write requests.
|
509
|
+
o Adding Log4j and Netty license information.
|
510
|
+
o Also closes the executor containing the connections.
|
511
|
+
o Changed dependency scopes.
|
512
|
+
o Shuts down databases after verifying them.
|
513
|
+
|
514
|
+
- Server
|
515
|
+
o Bridge OSGi LogService to server Logger. Bundle log messages and stdout pipe through correctly.
|
516
|
+
o Refactoring of functional tests to remove static dependencies. Introduced a server builder to deal with it instead.
|
517
|
+
o Can now add performance-tweaking properties to the database hosted by the server. It uses the same neo4j.properties file as the embedded version, but you need to add a property:
|
518
|
+
org.neo4j.server.db.tuning.properties into the neo4j-server.properties file.
|
519
|
+
o Webadmin: Removed component titles, added save button to data browser, minor change to data browser layout.
|
520
|
+
o Webadmin: Minor UI updates, added error message that shows up when server connection is lost.
|
521
|
+
o Webadmin: Moved charts into tabbed box, minor UI updates.
|
522
|
+
o Fixed an issue with initialization order of things in the server to make sure that RRD is initialized when it is needed.
|
523
|
+
o Webadmin: Added proper tab-like styling to chart tabs and scale selectors.
|
524
|
+
o Fixed bug in RRD memory usage sampler, making rounding happen at end of calculations, instead of in the midst of.
|
525
|
+
o Webadmin: Made 30minutes the default view in charts.
|
526
|
+
o Webadmin: Added kernel version to dashboard, fixed bug in chart drawing (was drawing when the charts are not visible under certain conditions).
|
527
|
+
o Webadmin: Disallow self relationships in UI, and show error message explaining this.
|
528
|
+
o Can now load 3rd party JAX-RS jars from the classpath.
|
529
|
+
o Updated static assembly to properly include both webadmin statics and documentation. Documentation now tested and ships properly down to neo4j-standalone.
|
530
|
+
o Webadmin: Made the current node show up by default when adding new relations in webadmin.
|
531
|
+
o Webadmin: Dashboard shows charts with tabs, and allows switching between charts.
|
532
|
+
o Added a basic readme with instructions for building, running, and functional testing.
|
533
|
+
o Updating the way to create temporary files to solve the functional test problem where lots of files stick around.
|
534
|
+
o re-implemented REST to expose indexing of nodes and relationships (new index API)
|
535
|
+
o single path algo works in RestfulGraphDatabase now
|
536
|
+
o fixed duplicate paths for delete node or relationship from index
|
537
|
+
o Http DELETE requires the proper mediatype to accept
|
538
|
+
o All indexes must be created to use them.
|
539
|
+
o Added the ability extend the REST API with server plugins.
|
540
|
+
o Added back links to the first page in the HTML format.
|
541
|
+
o updating to Gremlin 0.6
|
542
|
+
o Updated the component site documentation with the new index API.
|
543
|
+
|
544
|
+
1.2.M05 (2010-12-02)
|
545
|
+
--------------------
|
546
|
+
|
547
|
+
-New components
|
548
|
+
o neo4j-ha, providing high availability
|
549
|
+
|
550
|
+
-Important changes, server
|
551
|
+
o updated to Jersey 1.4
|
552
|
+
o integrated index is now supported by the shell
|
553
|
+
o new Evaluator interface improves the traversal API
|
554
|
+
o support for index hit scores in neo4j-lucene-index
|
555
|
+
o index caching support added to BatchInserter
|
556
|
+
|
557
|
+
|
558
|
+
1.2.M04 (2010-11-18)
|
559
|
+
--------------------
|
560
|
+
|
561
|
+
o added a server packaging as part of neo4j
|
562
|
+
o added more configuration options to neo4j-lucene-index
|
563
|
+
o generating javadocs for all components automatically to components.neo4j.org/{component-name}
|
564
|
+
o Added ImpermanentGraphDatabase to aid in testing
|
565
|
+
|
566
|
+
1.2.M03 (2010-11-04)
|
567
|
+
--------------------
|
568
|
+
|
569
|
+
o Monitoring/management over JMX was moved to the new neo4j-management component.
|
570
|
+
o Added ability to get the name and configuration of existing integrated indexes.
|
571
|
+
|
572
|
+
1.2.M02 (2010-10-21)
|
573
|
+
--------------------
|
574
|
+
|
575
|
+
-New components
|
576
|
+
o Lucene index, an implementation of the integrated index framework
|
577
|
+
using lucene as backend. Planned to replace current index service.
|
578
|
+
|
579
|
+
-Important changes
|
580
|
+
o Fixed shutdown issue regarding UDC leaving a thread running.
|
581
|
+
o A new index framework integrated into the kernel API.
|
582
|
+
o Getting relationships is faster due to less cache lookups.
|
583
|
+
|
584
|
+
1.2.M01 (2010-10-08)
|
585
|
+
--------------------
|
586
|
+
|
587
|
+
-New components
|
588
|
+
o Udc
|
589
|
+
|
590
|
+
-Important changes
|
591
|
+
o Index:
|
592
|
+
- Lucene version upgraded to 3.0.1
|
593
|
+
o Shell:
|
594
|
+
- Apps discoverable with service locator
|
595
|
+
- Added read-only mode on server
|
596
|
+
- 'host' and 'config' options
|
597
|
+
o Graph-algo:
|
598
|
+
- Find paths of certain length
|
599
|
+
o Kernel:
|
600
|
+
- Lower memory footprint
|
601
|
+
- Higher throughput/concurrency for reads
|
602
|
+
- Common interface for loading kernel extensions (f.ex. shell)
|
603
|
+
|
604
|
+
1.1 (2010-07-29)
|
605
|
+
----------------
|
606
|
+
|
607
|
+
-New components
|
608
|
+
o Graph-algo
|
609
|
+
o Online-backup
|
610
|
+
|
611
|
+
1.0 (2010-02-16)
|
612
|
+
----------------
|
613
|
+
|
614
|
+
-Initial components
|
615
|
+
o Kernel
|
616
|
+
o Index
|
617
|
+
o Remote-graphdb
|
618
|
+
o Shell
|