Rexster: A Graph Server
http://rexster.tinkerpop.com
```xml
com.tinkerpop.rexster
rexster-core
2.7.0-SNAPSHOT
```
- The `` setting now expects the port to be specified.
- Closed the Grizzly transport when closing in-session RexPro connections.
- Added support for timeout when making requests via `RemoteRexsterSession`.
```xml
com.tinkerpop.rexster
rexster-core
2.6.0
```
- Sessionless RexPro requests are now blocked when security is enabled – use in-session requests when using security.
```xml
com.tinkerpop.rexster
rexster-core
2.5.0
```
- Rexster Console
.rexster_historyfile now stored in the user root directory. - Prevent
RexsterClientfrom continually retrying if a connection to Rexster is not established. ScriptEngineinitialization scripts properly reload on change torexster.xml.- Add
read-buffersetting inrexster.xmlto increase the size of requests possible to RexPro. - Rexster respects the
REXSTER_HOMEenvironment variable for purpose of locating therexster.xmlfile - Altered the semantics of
RexsterClient.close() - Add configuration (
<config-check-interval>) for the interval of time to use to checkrexster.xmlfor change. - Gremlin Extension supports
returnTotalparameter that will iterate all results and put acountin results. - Fix problem where HTTP metrics configuration for rates was not being respected
- Support for configuration of
IdGraphandLinkedDataSailGraph - Remove OrientDB dependencies
```xml
com.tinkerpop.rexster
rexster-core
2.4.0
```
- 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.xmlno 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
booleanvalues. - 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
FramedGraphFactoryto create graphs. - Updating rexpro version to v1
- Added JSON serializer option to rexpro
```xml
com.tinkerpop.rexster
rexster-core
2.3.0
```
- 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
ExtensionResponseto 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.xmlfor allowing other Script Engine flavors of Gremlin to be exposed. - Remove
rexster.xmlembedded as a resource as the final fallback for configuring Rexster at startup. - Allow override of default embedded
log4j.propertiesfile with one in the root ofREXSTER_HOME. - Improve logging configurability.
RexsterClientfor Java connectivity to Rexster through RexPro.- Enable or disable Dog House through
rexster.xml - Fix JSON serialization of
Rowresults as aMapfrom the Gremlin Extension. - Improved JSON serialization for Map that uses a graph element as the key.
```xml
com.tinkerpop.rexster
rexster-core
2.2.0
```
- Major refactoring and renaming of core “server” classes.
ExtensionRequestParameternow supports adefaultValue.- Requests with
OPTIONSnow returnsOPTIONSin theAccess-Control-Allow-Methodsand a response 200 instead of 204. - Upgrade to Grizzly 2.2.18 and Jersey 1.14.
- Include new configuration options in
rexster.xmlenable-jmxelement turns on or turns off JMX monitoring.thread-poolsection gives control over how many threads are allocated to Rexster.max-post-sizeelement controls the size of the data that can be POSTed to Rexster.max-header-sizeelement controls the size of the request header that can be sent to Rexster.upload-timeout-milliselement represents the length of the time in milliseconds that Rexster will wait for an upload to occur.
- Fixed Rexster Console where some
nullresults 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.xmlto accept an external configuration file.
```xml
com.tinkerpop.rexster
rexster-core
2.1.0
```
- Added Travis continuous integration support
- Fixed issue with POST and DELETE of key indices via REST API.
- Configuration element of
rexster.xmlto 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)
```xml
com.tinkerpop.rexster
rexster
2.0.0
```
- REST API for POSTing new indices supports
paramsargument 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
keyssub-resource nor the notion of “automatic” or “manual” indices due to changes in the Blueprints API - Add metadata from graph
Featuresto the Graph resource KeyIndexResourceto access features ofKeyIndexableGraphinstancesVertexResourceandEdgeResourcesupport key index filtering- Improved messaging to the server console regarding which
rexster.xmlfile is being loaded
```xml
com.tinkerpop.rexster
rexster
0.8
```
- Added
PUTto the Indices resource to place elements in an index. This changes split this functionality away fromPOST.POSTis now only for creating new indices. DELETEof 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
languageparameter so that one can specify the flavor of Gremlin that is being used. - Gremlin Extension takes a
paramsextension 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.xmland 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
TransactionalGraphimplementation so that aTinkerGraphcan be tested in a transactional mode (configured throughrexster.xml). - Results from the Gremlin Extension that are
Iteratorimplementations are now paging properly. - Added the
loadparameter 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
scriptparameter leaving it to only process server-side scripts with theloadparameter. - Gremlin Extension can be configured to cache server-side scripts.
- Sample Kibble
- Secure Sample Kibble shows how to get a
Principalfrom theSecurityContext.
- Secure Sample Kibble shows how to get a
```xml
com.tinkerpop
rexster
0.7
```
- Improved performance for most types of requests.
- Added two custom Rexster mime types:
application/vnd.rexster-v1+jsonandapplication/vnd.rexster-typed-v1+json.- The
rexster.showTypesgeneral parameter does not exist anymore and is replaced byapplication/vnd.rexster-typed-v1+json. - Rexster respects the data types of POSTed
application/jsonmime 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
extensionkey 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-groovyis 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.
```xml
com.tinkerpop
rexster
0.6
```
- Support for High Availability mode of Neo4j
- The
rexster-stop.shcommand is now consistent with therexster-stop.shin 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
-versionand-statuscommands. - If the
-cargument is not passed at startup, Rexster first tries to readrexster.xmlfrom 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
graphssegment, 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.
```xml
com.tinkerpop
rexster
0.5
```
- It is now possible to mix and match root level extensions with pathed extensions in the same extension class.
- Support the
Accept-Charsetrequest header. - The Dog House Gremlin Console now handles UTF-8.
- The HTTP method is now displayed in the hypermedia for extensions.
- Added the
parseToJsonparameter to the@ExtensionRequestParameterso 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.xmlis now used to locate a graph, not to initialize it. AffectsTinkerGraphandMemoryStoreSailGraphimplementations. - When requesting an index by name
http://localhost/graph/indices/edgethe index is wrapped in aresultskey in the return JSON. This is more consistent with other return values. - Indices returned from
http://localhost/graph/indicesor when requested by name have their class value set toedgeorvertexas 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
JSONWriterto 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.
```xml
com.tinkerpop
rexster
0.4.1
```
- Fixed transactional graph error
```xml
com.tinkerpop
rexster
0.4
```
- 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.
@ExtensionDescriptoris not required for an extension to work within Rexster.- Support for
RexsterGraphconfiguration withinrexster.xml. - The
returnKeysparameter now works consistently across Rexster to only accept an array of keys as a value. - POST of form data to extensions.
- POST to
prefixesresource 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.
```xml
com.tinkerpop
rexster
0.3
```
- 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
countmethod 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_typesis nowrexster.showTypesrexster.return_keysis nowrexster.returnKeysrexster.allow_cachedis nowrexster.allowCached
- The following standard properties contained within the JSON response have been reformatted:
up_timeis nowupTimequery_timeis nowqueryTimeread_onlyis 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
SailGraphimplementations.
```xml
com.tinkerpop
rexster
0.2
```
- Fixed problem with
return_keyparameter on a Gremlin Traversal from causing an error. - The
return_keysoption 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_keywas returning all properties. - Command line options for overriding configuration options in
rexster.xml. - Graphs configured in
rexster.xmlhave 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.
```xml
com.tinkerpop
rexster
0.1.5
```
- Support for Gremlin 0.7
- Bug fix in configuration parameters of
rexster.xmlpreventing 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.
```xml
com.tinkerpop
rexster
0.1
```
- Initial release of the web service shell and rank and score support








