<commit_before>////
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
////

TinkerPop 3.1.0
===============

image::https://raw.githubusercontent.com/apache/incubator-tinkerpop/master/docs/static/images/gremlin-gangster.png[width=225]

*A 187 On The Undercover Gremlinz*

TinkerPop 3.1.1
---------------

*Release Date: NOT YET RELEASED*

Please see the link:https://github.com/apache/incubator-tinkerpop/blob/3.1.1-incubating/CHANGELOG.asciidoc#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[changelog] for a complete list of all the modifications that are part of this release.

Upgrading for Users
~~~~~~~~~~~~~~~~~~~

Deprecated credentialsDbLocation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The `credentialsDbLocation` setting was a TinkerGraph only configuration option to the `SimpleAuthenticator` for
Gremlin Server.  It provided the file system location to a "credentials graph" that TinkerGraph would read from a
Gryo file at that spot.  This setting was only required because TinkerGraph did not support file persistence at the
time that `SimpleAuthenticator` was created.

As of 3.1.0-incubating, TinkerGraph received a limited persistence feature that allowed the "credentials graph"
location to be specified in the TinkerGraph properties file via `gremlin.tinkergraph.graphLocation` and as such the
need for `credentialsDbLocation` was eliminated.

This deprecation is not a breaking change, however users should be encouraged to convert their configurations to use
the `gremlin.tinkergraph.graphLocation` as soon as possible, as the deprecated setting will be removed in a future
release.

See: link:https://issues.apache.org/jira/browse/TINKERPOP3-981[TINKERPOP3-981],
link:http://tinkerpop.apache.org/docs/3.1.1-incubating/#_security[Reference Documentation - Gremlin Server Security]

TinkerGraph Supports Any IO
^^^^^^^^^^^^^^^^^^^^^^^^^^^

TinkerGraph's 'gremlin.tinkergraph.graphLocation' configuration setting can now take a fully qualified class name
of a `Io.Builder` implementation, which means that custom IO implementations can be used to read and write
TinkerGraph instances.

See: link:https://issues.apache.org/jira/browse/TINKERPOP3-886[TINKERPOP3-886]

Upgrading for Providers
~~~~~~~~~~~~~~~~~~~~~~~

IMPORTANT: It is recommended that providers also review all the upgrade instructions specified for users. Many of the
changes there may prove important for the provider's implementation.

Graph System Providers
^^^^^^^^^^^^^^^^^^^^^^

Data Types in Tests
+++++++++++++++++++

There were a number of fixes related to usage of appropriate types in the test suite. There were cases where tests
were mixing types, such that a single property key might have two different values.  This mixed typing caused problems
for some graphs and wasn't really something TinkerPop was looking to explicitly enforce as a rule of implementing the
interfaces.

While the changes should not have been breaking, providers should be aware that improved consistencies in the tests
may present opportunities for test failures.

See: link:https://issues.apache.org/jira/browse/TINKERPOP3-984[TINKERPOP3-984],
link:https://issues.apache.org/jira/browse/TINKERPOP3-990[TINKERPOP3-990],
link:https://issues.apache.org/jira/browse/TINKERPOP3-1000[TINKERPOP3-1000]
<commit_msg>Add in some upgrade docs around logging.<commit_after>////
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
////

TinkerPop 3.1.0
===============

image::https://raw.githubusercontent.com/apache/incubator-tinkerpop/master/docs/static/images/gremlin-gangster.png[width=225]

*A 187 On The Undercover Gremlinz*

TinkerPop 3.1.1
---------------

*Release Date: NOT YET RELEASED*

Please see the link:https://github.com/apache/incubator-tinkerpop/blob/3.1.1-incubating/CHANGELOG.asciidoc#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[changelog] for a complete list of all the modifications that are part of this release.

Upgrading for Users
~~~~~~~~~~~~~~~~~~~

Deprecated credentialsDbLocation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The `credentialsDbLocation` setting was a TinkerGraph only configuration option to the `SimpleAuthenticator` for
Gremlin Server.  It provided the file system location to a "credentials graph" that TinkerGraph would read from a
Gryo file at that spot.  This setting was only required because TinkerGraph did not support file persistence at the
time that `SimpleAuthenticator` was created.

As of 3.1.0-incubating, TinkerGraph received a limited persistence feature that allowed the "credentials graph"
location to be specified in the TinkerGraph properties file via `gremlin.tinkergraph.graphLocation` and as such the
need for `credentialsDbLocation` was eliminated.

This deprecation is not a breaking change, however users should be encouraged to convert their configurations to use
the `gremlin.tinkergraph.graphLocation` as soon as possible, as the deprecated setting will be removed in a future
release.

See: link:https://issues.apache.org/jira/browse/TINKERPOP3-981[TINKERPOP3-981],
link:http://tinkerpop.apache.org/docs/3.1.1-incubating/#_security[Reference Documentation - Gremlin Server Security]

TinkerGraph Supports Any IO
^^^^^^^^^^^^^^^^^^^^^^^^^^^

TinkerGraph's 'gremlin.tinkergraph.graphLocation' configuration setting can now take a fully qualified class name
of a `Io.Builder` implementation, which means that custom IO implementations can be used to read and write
TinkerGraph instances.

See: link:https://issues.apache.org/jira/browse/TINKERPOP3-886[TINKERPOP3-886]

Logging
^^^^^^^

Logging to Gremlin Server and Gremlin Console can now be consistently controlled by the `log4j-server.properties`
and `log4j-console.properties` which are in the respective `conf/` directories of the packaged distributions.

See: https://issues.apache.org/jira/browse/TINKERPOP-859[TINKERPOP-859]

Upgrading for Providers
~~~~~~~~~~~~~~~~~~~~~~~

IMPORTANT: It is recommended that providers also review all the upgrade instructions specified for users. Many of the
changes there may prove important for the provider's implementation.

Graph System Providers
^^^^^^^^^^^^^^^^^^^^^^

Data Types in Tests
+++++++++++++++++++

There were a number of fixes related to usage of appropriate types in the test suite. There were cases where tests
were mixing types, such that a single property key might have two different values.  This mixed typing caused problems
for some graphs and wasn't really something TinkerPop was looking to explicitly enforce as a rule of implementing the
interfaces.

While the changes should not have been breaking, providers should be aware that improved consistencies in the tests
may present opportunities for test failures.

See: link:https://issues.apache.org/jira/browse/TINKERPOP3-984[TINKERPOP3-984],
link:https://issues.apache.org/jira/browse/TINKERPOP3-990[TINKERPOP3-990],
link:https://issues.apache.org/jira/browse/TINKERPOP3-1000[TINKERPOP3-1000]

{'fraction_non_alphanumeric': 0.10021760154738878, 'fraction_numerical': 0.01716634429400387, 'mean_word_length': 5.248489425981873, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 15, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1685694', 'n_tokens_mistral': 2387, 'n_tokens_neox': 2232, 'n_words': 927}