Repository: tartiflette/tartiflette
Pull request #259 (2019-07-03 07:37:28)

Prepare 0.12.0 Release
Release 0.12.0 because we have breaking changes in the import order of public classes.


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 12eb52f..932e805 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
 
 ## [Released]
 
+- [0.12.x]
+  - [0.12.0](./changelogs/0.12.0.md) - 2019-07-03
 - [0.11.x] Brand new **plugin approach** _(featured at the [GraphQL Conf 2019](https://graphqlconf.org))_
   - [0.11.2](./changelogs/0.11.2.md) - 2019-06-28
   - [0.11.1](./changelogs/0.11.1.md) - 2019-06-18
diff --git a/changelogs/0.12.0.md b/changelogs/0.12.0.md
new file mode 100644
index 0000000..ccfdd1f
--- /dev/null
+++ b/changelogs/0.12.0.md
@@ -0,0 +1,37 @@
+# [0.12.0] - 2019-07-03
+
+## Added
+
+- `SchemaRegistry.clean()` class method, it's wipping the registry of every known schema. (thanks [@florimondmanca](https://github.com/florimondmanca))
+
+## Changed
+
+- `engine.cook()` is now a no-op if the engine has already been cooked.
+- Updated dev dependancies
+- Update import using isort.
+- Public classes should be import through `from tartiflette import <>`
+
+> Beware that you'll may have to change your imports
+
+Before:
+```python
+from tartiflette.directive import Directive
+from tartiflette.resolver import Resolver
+from tartiflette.scalar import Scalar
+from tartiflette.subscription import Subscription
+```
+
+After:
+```python
+from tartiflette import (
+    Directive, Resolver, Scalar, Subscription
+)
+```
+
+- `GrapQLError` is marked as deprecated in favor of `TartifletteError`, importable through `from tartiflette import TartifletteError`
+- `@non_introspectable` is removed in favor of `@nonIntrospectable` as advertised in 0.11.x
+
+## Fixed
+
+- [ISSUE-245](https://github.com/dailymotion/tartiflette/issues/245) - Fix a bug in SDL tokenization that was corrupting Unicode.
+- [ISSUE-256](https://github.com/dailymotion/tartiflette/issues/256) - Fix idempotency of `engine.cook()` (thanks [@florimondmanca](https://github.com/florimondmanca))
diff --git a/changelogs/next.md b/changelogs/next.md
index 4a1cc48..3908db1 100644
--- a/changelogs/next.md
+++ b/changelogs/next.md
@@ -6,30 +6,4 @@
 
 ## Changed
 
-- `engine.cook()` is now a no-op if the engine has already been cooked.
-- Updated dev dependancies
-- Update import using isort.
-- Public classes should be import through `from tartiflette import <>`
-
-> Beware that you'll may have to change your imports
-
-Before:
-```python
-from tartiflette.directive import Directive
-from tartiflette.resolver import Resolver
-from tartiflette.scalar import Scalar
-from tartiflette.subscription import Subscription
-```
-
-After:
-```python
-from tartiflette import (
-    Directive, Resolver, Scalar, Subscription
-)
-```
-
-- `GrapQLError` is marked as deprecated in favor of `TartifletteError`, importable through `from tartiflette import TartifletteError`
-
 ## Fixed
-
-- ISSUE-245 - Fix a bug in SDL tokenization that was corrupting Unicode.
diff --git a/setup.py b/setup.py
index 2a3a1ec..1ca77db 100644
--- a/setup.py
+++ b/setup.py
@@ -60,7 +60,7 @@ _TEST_REQUIRE = [
 
 _BENCHMARK_REQUIRE = ["pytest-benchmark==3.2.2"]
 
-_VERSION = "0.11.2"
+_VERSION = "0.12.0"
 
 _PACKAGES = find_packages(exclude=["tests*"])
 
diff --git a/tartiflette/directive/builtins/non_introspectable.py b/tartiflette/directive/builtins/non_introspectable.py
index 199988a..9f047a6 100644
--- a/tartiflette/directive/builtins/non_introspectable.py
+++ b/tartiflette/directive/builtins/non_introspectable.py
@@ -15,32 +15,13 @@ class NonIntrospectable:
         return None
 
 
-class NonIntrospectableDeprecated:
-    async def on_introspection(
-        self,
-        _directive_args: Dict[str, Any],
-        _next_directive: Callable,
-        _introspected_element: Any,
-        _ctx: Optional[Dict[str, Any]],
-        _info: "Info",
-    ) -> None:
-        print(
-            "@non_introspectable is deprecated, please use @nonIntrospectable, will be removed in 0.12.0"
-        )
-        return None
-
-
 def bake(schema_name, _config):
     sdl = """
     directive @nonIntrospectable on FIELD_DEFINITION
-    directive @non_introspectable on FIELD_DEFINITION
     """
 
     Directive(name="nonIntrospectable", schema_name=schema_name)(
         NonIntrospectable()
     )
-    Directive(name="non_introspectable", schema_name=schema_name)(
-        NonIntrospectableDeprecated()
-    )
 
     return sdl
diff --git a/tartiflette/schema/registry.py b/tartiflette/schema/registry.py
index 714acda..562bb51 100644
--- a/tartiflette/schema/registry.py
+++ b/tartiflette/schema/registry.py
@@ -97,7 +97,7 @@ class SchemaRegistry:
     @staticmethod
     def find_schema(schema_name: str = "default") -> GraphQLSchema:
         return SchemaRegistry.find_schema_info(schema_name)["inst"]
-    
+
     @classmethod
     def clean(cls):
         cls._schemas = {}


Test patch:
diff --git a/tests/functional/regressions/test_issue92.py b/tests/functional/regressions/test_issue92.py
index 6b36cf5..39ee62f 100644
--- a/tests/functional/regressions/test_issue92.py
+++ b/tests/functional/regressions/test_issue92.py
@@ -180,11 +180,6 @@ async def test_issue92_fragment_inordered(ttftt_engine):
                         "locations": ["FIELD_DEFINITION"],
                         "args": [],
                     },
-                    {
-                        "name": "non_introspectable",
-                        "locations": ["FIELD_DEFINITION"],
-                        "args": [],
-                    },
                     {
                         "locations": [
                             "FIELD",
diff --git a/tests/functional/test_introspection.py b/tests/functional/test_introspection.py
index 6b2e420..c7f92c6 100644
--- a/tests/functional/test_introspection.py
+++ b/tests/functional/test_introspection.py
@@ -250,12 +250,6 @@ async def test_tartiflette_execute_schema_introspection_output(clean_registry):
                         "name": "nonIntrospectable",
                         "description": None,
                     },
-                    {
-                        "locations": ["FIELD_DEFINITION"],
-                        "args": [],
-                        "name": "non_introspectable",
-                        "description": None,
-                    },
                     {
                         "name": "skip",
                         "locations": [
@@ -440,11 +434,6 @@ fragment TypeRef on __Type {
                         "locations": ["FIELD_DEFINITION"],
                         "args": [],
                     },
-                    {
-                        "name": "non_introspectable",
-                        "locations": ["FIELD_DEFINITION"],
-                        "args": [],
-                    },
                     {
                         "locations": [
                             "FIELD",