-
Notifications
You must be signed in to change notification settings - Fork 116
Release Notes
okram edited this page Sep 17, 2014
·
73 revisions
Rexster: A Graph Server
http://rexster.tinkerpop.com
<dependency>
<groupId>com.tinkerpop.rexster</groupId>
<artifactId>rexster-core</artifactId>
<version>2.6.0</version>
</dependency>
- Sessionless RexPro requests are now blocked when security is enabled – use in-session requests when using security.
<dependency>
<groupId>com.tinkerpop.rexster</groupId>
<artifactId>rexster-core</artifactId>
<version>2.5.0</version>
</dependency>
- Rexster Console
.rexster_history
file now stored in the user root directory. - Prevent
RexsterClient
from continually retrying if a connection to Rexster is not established. -
ScriptEngine
initialization scripts properly reload on change torexster.xml
. - Add
read-buffer
setting inrexster.xml
to increase the size of requests possible to RexPro. - Rexster respects the
REXSTER_HOME
environment variable for purpose of locating therexster.xml
file - Altered the semantics of
RexsterClient.close()
- Add configuration (
<config-check-interval>
) for the interval of time to use to checkrexster.xml
for change. - Gremlin Extension supports
returnTotal
parameter that will iterate all results and put acount
in results. - Fix problem where HTTP metrics configuration for rates was not being respected
- Support for configuration of
IdGraph
andLinkedDataSailGraph
- Remove OrientDB dependencies
<dependency>
<groupId>com.tinkerpop.rexster</groupId>
<artifactId>rexster-core</artifactId>
<version>2.4.0</version>
</dependency>
- Support server monitoring features via Metrics
- Add performance testing.
- The port rexster serves HTTP/REST on can no longer be overriden from
rexster.sh
. - Moved rexster-*.sh and rexster-*.bat to bin/ (noticeable to developers of source only)
- Changes to
rexster.xml
no longer require a restart of Rexster to become available. - Allow multiple and separate Script Engine configurations with the addition of the
<script-engines>
element inrexster.xml
- Configuration of multiple Script Engine initialization files in
rexster.xml
. - Configuration of additional imports to the Script Engine.
- Configuration of multiple Script Engine initialization files in
- Property data types in REST now properly support
boolean
values. - Serialize RexPro in the same thread that mutates the graph to prevent partial serialization of property values with Neo4j.
- Improve logging for
- Graph configuration errors
- Bad/missing Gremlin intialization scripts.
- Incoming RexPro messages
- Changed `keys` for root of results in key indices REST API to `results` to be more consistent with the rest of the API.
- Frames Kibble uses
FramedGraphFactory
to create graphs. - Updating rexpro version to v1
- Added JSON serializer option to rexpro
<dependency>
<groupId>com.tinkerpop.rexster</groupId>
<artifactId>rexster-core</artifactId>
<version>2.3.0</version>
</dependency>
- Both RexPro and HTTP Server can be started independently with out configuration parameters, as all now have default values.
- OPTIONS for extensions returns a default response.
- Batch Kibble allows for multiple lookups within an manual or key index.
- Rexster can initialize the Gremlin Script Engine with a script file referenced in
rexster.xml
. - More convenience methods for
ExtensionResponse
to help simplify writing extensions. - Change default IO strategy to
leader-follower
. - Prevent Rexster’s forced Gremlin Script Engine reset as it is now handled by the Script Engine itself.
- Configuration in
rexster.xml
for allowing other Script Engine flavors of Gremlin to be exposed. - Remove
rexster.xml
embedded as a resource as the final fallback for configuring Rexster at startup. - Allow override of default embedded
log4j.properties
file with one in the root ofREXSTER_HOME
. - Improve logging configurability.
-
RexsterClient
for Java connectivity to Rexster through RexPro. - Enable or disable Dog House through
rexster.xml
- Fix JSON serialization of
Row
results as aMap
from the Gremlin Extension. - Improved JSON serialization for Map that uses a graph element as the key.
<dependency>
<groupId>com.tinkerpop.rexster</groupId>
<artifactId>rexster-core</artifactId>
<version>2.2.0</version>
</dependency>
- Major refactoring and renaming of core “server” classes.
-
ExtensionRequestParameter
now supports adefaultValue
. - Requests with
OPTIONS
now returnsOPTIONS
in theAccess-Control-Allow-Methods
and a response 200 instead of 204. - Upgrade to Grizzly 2.2.18 and Jersey 1.14.
- Include new configuration options in
rexster.xml
-
enable-jmx
element turns on or turns off JMX monitoring. -
thread-pool
section gives control over how many threads are allocated to Rexster. -
max-post-size
element controls the size of the data that can be POSTed to Rexster. -
max-header-size
element controls the size of the request header that can be sent to Rexster. -
upload-timeout-millis
element represents the length of the time in milliseconds that Rexster will wait for an upload to occur.
-
- Fixed Rexster Console where some
null
results were not being rendered back to it. - Fixed Rexster Console issues where transactions were not executing properly as requests within a session were not being bound to specific threads.
- Update the Dex configuration of
rexster.xml
to accept an external configuration file.
<dependency>
<groupId>com.tinkerpop.rexster</groupId>
<artifactId>rexster-core</artifactId>
<version>2.1.0</version>
</dependency>
- Added Travis continuous integration support
- Fixed issue with POST and DELETE of key indices via REST API.
- Configuration element of
rexster.xml
to bind the rexpro hostname. - Vertex query API.
- Fixed issue with inconsistencies of PUT, POST, and DELETE around manual indices.
- Restructured project to introduce rexster-core, rexster-console and rexster-protocol.
- Integration tests now run across TinkerGraph, Neo4j, OrientDB, Titan and Dex by default (Titan is disabled by default)
<dependency>
<groupId>com.tinkerpop.rexster</groupId>
<artifactId>rexster</artifactId>
<version>2.0.0</version>
</dependency>
-
REST API for POSTing new indices supports
params
argument which constructs a parameter map which will configure the newly created index - The DELETE operation for the Graph resource has been removed since Blueprints no longer supports
Graph.clear()
- The Index resource no longer has a
keys
sub-resource nor the notion of “automatic” or “manual” indices due to changes in the Blueprints API - Add metadata from graph
Features
to the Graph resource -
KeyIndexResource
to access features ofKeyIndexableGraph
instances -
VertexResource
andEdgeResource
support key index filtering - Improved messaging to the server console regarding which
rexster.xml
file is being loaded
<dependency>
<groupId>com.tinkerpop.rexster</groupId>
<artifactId>rexster</artifactId>
<version>0.8</version>
</dependency>
- Added
PUT
to the Indices resource to place elements in an index. This changes split this functionality away fromPOST
.POST
is now only for creating new indices. -
DELETE
of index elements now accepts parameters to be sent as an entity on the request. - Fix PermGen issues with Gremlin processing. This is bit of a stop gap fix in that it simply resets the engine after so many script executions.
- The Gremlin Extension now includes a
language
parameter so that one can specify the flavor of Gremlin that is being used. - Gremlin Extension takes a
params
extension and applies the keys and values within it to the bindings of the Gremlin script engine. - Dog House uses require.js for module loading.
- Simple graph visualization through JIT.
- Dog House provides a filter option when browsing vertices and edges. Filters are backed by indices such that the user can select an index then specify a key/value to filter the paged results by.
- Dropped support for support for
application/x-www-form-urlencoded
. - Basic authentication configurable through
rexster.xml
and extensible via extensions toAbstractSecurityFilter
. - Better handling of null values being passed to Gremlin Extension as bindings.
- Allow configuration of the Rexster server host in
rexster.xml
. - Launching an extension from Dog House that fails now properly removes the “Loading” spinner and displays the error.
- Encode the URI for extensions launched in Dog House so that they are properly encoded for cut and paste use.
- Added a mock
TransactionalGraph
implementation so that aTinkerGraph
can be tested in a transactional mode (configured throughrexster.xml
). - Results from the Gremlin Extension that are
Iterator
implementations are now paging properly. - Added the
load
parameter to the Gremlin Extension so that it is possible to execute server-side stored Gremlin scripts. - Gremlin Extension can be configured so that it does not execute scripts sent on the
script
parameter leaving it to only process server-side scripts with theload
parameter. - Gremlin Extension can be configured to cache server-side scripts.
- Sample Kibble
- Secure Sample Kibble shows how to get a
Principal
from theSecurityContext
.
- Secure Sample Kibble shows how to get a
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>rexster</artifactId>
<version>0.7</version>
</dependency>
- Improved performance for most types of requests.
- Added two custom Rexster mime types:
application/vnd.rexster-v1+json
andapplication/vnd.rexster-typed-v1+json
.- The
rexster.showTypes
general parameter does not exist anymore and is replaced byapplication/vnd.rexster-typed-v1+json
. - Rexster respects the data types of POSTed
application/json
mime type for edges and vertices. - Extensive refactoring of content negotiation and unit tests around these changes.
- The
- Fixed problem with the Prefix resource where SailGraph in read-only mode generated 500 (Internal Server Error) responses.
- Added SPARQL Repository configuration.
- Fixed error that appeared on multiple successive calls to PUT on the Vertex and Edge Resources.
- The
extension
key in JSON responses now includes more information:- The full URI to the extension resource (not just the relative URL).
- Parameters for the query string.
- The name of the extension (not just the description).
- Dog House has Rexster Extension support
- List all configured extensions for graphs, vertices and edges.
- Launch extensions that can be accessed with a GET and that return JSON.
- Dog House is kinder to SailGraph implementations (generally cosmetic changes).
- Rexster Console only hosts Gremlin-flavored script engine implementations. Currently, that means that
gremlin-groovy
is the only exposed language. - Upgrade all Kibbles to use GraphSON.
- Sample Kibble
- New Parameters Sample Kibble shows how to deal with injecting different data types into the request.
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>rexster</artifactId>
<version>0.6</version>
</dependency>
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>batch-kibble</artifactId>
<version>0.6</version>
</dependency>
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>frames-kibble</artifactId>
<version>0.6</version>
</dependency>
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>sample-kibbles</artifactId>
<version>0.6</version>
</dependency>
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>sparql-kibble</artifactId>
<version>0.6</version>
</dependency>
- Support for High Availability mode of Neo4j
- The
rexster-stop.sh
command is now consistent with therexster-stop.sh
in terms of parameter naming and shorthand. - Retrieve adjacency vertices through REST API of the vertex resource.
- Filter by multiple edge labels in the REST API of the vertex resource.
- PUT on vertex and edge resources in the REST API replaces all graph element properties with the specified set.
- Combine rexster-start.sh and rexster-stop.sh into rexster.sh with new
-version
and-status
commands. - If the
-c
argument is not passed at startup, Rexster first tries to readrexster.xml
from the root of the working directory. If it cannot be found then it tries to read from a resource. - Dog House and REST API both serve from port 8182
- Dog House is at
http://localhost:8182/doghouse
- The REST URI scheme has changed slightly to include a
graphs
segment, as in:http://localhost:8182/graphs/tinkergraph
- Dog House is at
- RexPro sessions that remain idle for a configurable amount of time are destroyed.
- Support OPTIONS HTTP method for all REST resources so that HTTP Access Control works properly when used (eg. jquery).
- New Batch Kibble makes it possible to execute commands in a batch/transactional fashion.
- Bring all Kibbles up to the latest version of REST API changes for the current version of Rexster.
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>rexster</artifactId>
<version>0.5</version>
</dependency>
- It is now possible to mix and match root level extensions with pathed extensions in the same extension class.
- Support the
Accept-Charset
request header. - The Dog House Gremlin Console now handles UTF-8.
- The HTTP method is now displayed in the hypermedia for extensions.
- Added the
parseToJson
parameter to the@ExtensionRequestParameter
so that it is possible for extensions to control whether or not a specific parameter’s value is parsed to JSON or not. - The
<graph-file>
parameterrexster.xml
is now used to locate a graph, not to initialize it. AffectsTinkerGraph
andMemoryStoreSailGraph
implementations. - When requesting an index by name
http://localhost/graph/indices/edge
the index is wrapped in aresults
key in the return JSON. This is more consistent with other return values. - Indices returned from
http://localhost/graph/indices
or when requested by name have their class value set toedge
orvertex
as opposed to the full canonical class name. - Short-hand command line options.
- Extensions can be broken up across multiple classes within the same namespace and name.
- Used the Blueprints
JSONWriter
to serialize to JSON which fixed a number of problems related to serialization of multi-layered hashes and lists. - Nulls in iterators returned through Dog House are displayed as “null”.
- Rexster Console for evaluating scripts remotely on a Rexster server.
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>rexster</artifactId>
<version>0.4.1</version>
</dependency>
- Fixed transactional graph error
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>rexster</artifactId>
<version>0.4</version>
</dependency>
- Failed vertex POST now returns a “not found” status if the identifier cannot be found in the graph
- Raw JSON can be POSTed for vertices and edges.
- Extension can now contain a hyphen in the extension name and namespace.
- POSTing raw JSON and form data is now supported on the IndexResource.
- Gremlin scripts that return a null value return a null as a result in the JSON.
- Non-configured extensions do not appear in JSON for graphs, vertices, and edges.
-
@ExtensionDescriptor
is not required for an extension to work within Rexster. - Support for
RexsterGraph
configuration withinrexster.xml
. - The
returnKeys
parameter now works consistently across Rexster to only accept an array of keys as a value. - POST of form data to extensions.
-
POST to
prefixes
resource works consistently now supporting form data, JSON and query string parameters. - Ensured that all requests for a graph that does not exist throws an NOT FOUND HTTP status code.
- Support start and stop of transactions for POST/DELETE operations
- Better messaging returned as JSON if Rexster cannot find an extension class not found in
com.tinkerpop.rexster.extension.RexsterExtension
. - Extensions provide support for all standard HTTP methods allowing control through the
ExtensionDefinition
.
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>rexster</artifactId>
<version>0.3</version>
</dependency>
- Minor changes to rexster.xml:
- Addition of the
<base-uri>
element. - Renaming of
<webserver-port>
to<rexster-server-port>
. - Renaming of
<adminserver-port>
to<doghouse-server-port>
. - Removed some redundancy where rexster.xml had to reference itself within intialization parameters.
- Addition of the
- The port to which the Dog House connects for REST services is no longer hardcoded and is configurable given the changes to rexster.xml defined above.
- Supports DEX graph database.
- Neo4jSail is no longer supported within Rexster and Blueprints.
- Blueprints added a
count
method to indices. That function is exposed viahttp://localhost/graph/indices/myindex/count?key=name&value=val
- Introducing the new extension model. The Gremlin traversal has been converted to the extension model. Traversals have all been removed from Rexster.
- The following REST API parameters have a new format:
-
rexster.show_types
is nowrexster.showTypes
-
rexster.return_keys
is nowrexster.returnKeys
-
rexster.allow_cached
is nowrexster.allowCached
-
- The following standard properties contained within the JSON response have been reformatted:
-
up_time
is nowupTime
-
query_time
is nowqueryTime
-
read_only
is nowreadOnly
-
- Arrays are now serialized to JSON in the same fashion as Lists.
- Requesting an index resource without parameters will return information about that index instead of a Bad Request status code.
- Removed built-in caching functions.
- New command line “debug” option for Rexster server which will turn on all logging of the underlying Jersey/Grizzly server.
- Remote shutdown.
- Paging model changed in The Dog House. There is no longer a “Move Last” button when paging through vertices and edges.
- Prefix resource for
SailGraph
implementations.
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>rexster</artifactId>
<version>0.2</version>
</dependency>
- Fixed problem with
return_key
parameter on a Gremlin Traversal from causing an error. - The
return_keys
option will now only filter out non-metadata values. - Rexster operational when deployed within Tomcat after the conversion from Restlet to Jersey.
- Fixed problem where specifying a start offset without an end offset was not returning all records from the start to the unspecified end of the list.
- Fixed problem where specifying a single
return_key
was returning all properties. - Command line options for overriding configuration options in
rexster.xml
. - Graphs configured in
rexster.xml
have a<read-only>
option. - Added a Gremlin console to The Dog House.
- Added vertex and edge property pages to The Dog House such that it is now possible to traverse the graph textually.
- Bumped to Blueprints 0.5, Pipes 0.3.1, and Gremlin 0.8.
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>rexster</artifactId>
<version>0.1.5</version>
</dependency>
- Support for Gremlin 0.7
- Bug fix in configuration parameters of
rexster.xml
preventing certain values from being configurable. - Early release of web tool for Rexster for browsing vertices and edges. Will be expanded with additional features in future releases. This feature is experimental only.
- Sail support
- Unit test coverage greatly expanded.
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>rexster</artifactId>
<version>0.1</version>
</dependency>
- Initial release of the web service shell and rank and score support