Releases: prisma/prisma1
1.1.3 (2018-02-06)
Prisma 1.1.3 (2018-02-06)
CLI
- 2e6ec00 fix(deploy): Fix cluster label in deploy command
- fa634c9 fix(deploy): Fix cluster locality
- 1b7df6c fix(docker): port finding for non-localhost hosts
- bfa810d fix(cli): Make clusterSecret optional
- 23917d3 fix(cluster): Fix handling of remote clusters
Backend
- fix(deploy): addProject mutation now returns a proper error if a project with given name and stage already exists
1.1.2 (2018-01-30)
Prisma 1.1.2 (2018-01-30)
CLI
- 04c3252 fix(docker-compose): Add ENABLE_METRICS & JAVA_OPTS env vars. Setting
JAVA_OPTS
to-Xmx1G
limits the memory usage of the prisma container to 1GB. If you host Prisma on your own, you need to adjust the docker-compose file like in the commit.
ENABLE_METRICS enables/disables statsd metrics. - 544e053 fix(docker): Make cluster version dynamic
- e2381ef fix(playground): The playground now uses
graphql playground
under the hood, to provide a nice experience, even if you don't have the GraphQL Playground App installed - 1fdb10f fix(import): Replaced the unzip library with a modern one
- 4dd0398 fix(import): Fix import of Json fields
- e8b9b82 feat(auth): Added PRISMA_CLOUD_SESSION_KEY env var support - can be used for auth, useful in CI environments
- cf084f2 feat(import): Allow import of directories
- f000309 fix(list): List runs without being logged in, though shows note that you can log in to see all services
- 037e74a fix(local): Better handling when 3306 is already in use
- dacac2c feat(deploy): Better .graphqlconfig resolution - now also searches in parent dir
- 5b8cc06 fix(login): Fix --key parameter
Server
- We fixed an issue where setting ScalarListValues within nested mutations was not always properly executed. While doing this we also discovered and fixed an issue with the Float datatype on ScalarListValues.
- We improved the validation of relations employed in the new and more expressive nested mutations. Connecting, disconnecting, deleting or creating a node using a nested mutation should now always properly reject changes that would violate the integrity of the schema and automatically disconnect other relations where necessary and possible.
- Self-relations are now properly supported, as discussed in this issue.
1.0.0 (2018-01-16)
Prisma 1.0.0 (2018-01-16)
Prisma is an open-source GraphQL query engine, turning your database into a GraphQL API. It is based on the query engine used in Graphcool Framework, and comes with a revamped API design.
You can choose to connect to Prisma directly from frontend applications, but most larger applications need a server in front of Prisma to handle business logic.
Features
-
Prisma API
This Prisma API features a powerful GraphQL API. You can read more about the API capabilities in the documentation.
-
Batch Mutations
You can now update or delete many nodes at once using the
updateMany
anddeleteMany
mutations. This is how it could look like for andeleteManyUsers
mutation:mutation { deleteManyUsers( where: { email_contains: "@gmail.com" } ) }
-
Data export and import has been added according to this proposal, you can use it with
prisma export
andprisma import
. -
Transactional nested mutations
This means that if a single mutation fails (for example, due to a violated unique constraint), all mutations part of the nested mutation are not executed. Read this specification for details.
-
Embedded Types and Optional Relation Directives
You can now define unidirectional relations, which enables embedded types. This is now a valid datamodel:
type User { id: ID! @unique name: String! location: Location friends: [User!]! @relation(name: "Friends") } type Location { lat: Float! lng: Float! city: City } type City { name: String! }
- Optional Relation Directives: Note that
location: Location
andcity: City
doesn't have a@relation
directive. - Unidirectional relations: Note that
Location
doesn't have a field of typeUser
, andCity
doesn't have a field of typeLocation
.
- Optional Relation Directives: Note that
-
Subscription support
The Subscription API is hosted at the same endpoints as the DB API, but with the
wss
protocol instead. You can check the GraphQL Server example to see how to expose subscriptions usingprisma-binding
. -
Deployment improvements
- Deployment resilience: All known problems that made deployment stuck have been fixed.
- Deployment Progress Feedback: You'll now receive incremental feedback during a deployment progress:
Applying changes (215/317) ⡿
-
Completely rehauled CLI commands
Run
prisma
to see the new command layout. Two examples:- the
prisma token
command was added, which generates a service token for the current token prisma cluster
commands let you interact with & manage your clusters.
- the
-
GraphQL compliant error handling
API errors now return a GraphQL compliant response, including an error code and a developer-friendly error message.
-
Advanced database seeding
You can now seed a service upon first deploy using a
.graphql
file as further described here. Check the GraphQL Server example to see how this looks like in practice. -
Clusters and Stages
We have re-introduced the cluster and stage properties in
prisma.yml
as described here. This might require a change in theprisma.yml
file you're currently using. Simply add astage
property like so:# prisma.yml service: graphql-boilerplate + stage: dev datamodel: database/datamodel.graphql disableAuth: true
Getting Started
npm install prisma
prisma init
More information here: https://www.prismagraphql.com/docs/quickstart/
0.11.4 (2017-12-22)
CLI 0.11.4
Download the latest Framework CLI version with npm install -g graphcool-framework
.
Features
- You can now export and import data efficiently using the CLI commands
graphcool-framework export
andgraphcool-framework import
https://github.com/graphcool/framework/issues/1299
Binary Changes
The binary for the Graphcool Framework CLI is now called graphcool-framework
, or gcf
in short.
npm i -g graphcool-framework
: installs the latest Framework CLI as the binarygraphcool-framework
npm i -g graphcool
: installs the latest Framework CLI as the binarygraphcool
0.10.1 (2017-12-01)
CLI 0.10.1
Download the latest CLI version with npm install -g graphcool
.
Features
- 8faf9a2 support multiple types.graphql files
Fixes
- 14d5b25 Fix Windows deployment paths. Thanks @kbrandwijk
- f79ad6b Fix #1220. Thanks @AlexanderChen1989
- ad61946 Upgrade json-schema. Thanks @kbrandwijk
- 3ac4e96 Remove temp folder after add-template. Thanks @kbrandwijk
- 67729fb No auth required for local cluster commands. Thanks @kbrandwijk
- 53ff291 Fixed outdated docs links. Thanks @kbrandwijk
Playground 1.3.0
New Playground release with awesome features like support for Apollo Tracing and multiple Endpoints!
Breaking Change
The new playground doesn't include the permission tab anymore.
Your permissions endpoint is available under https://api.graph.cool/simple/v1/SERVICE_ID/permissions
.
To access it, please use your platformToken or a rootToken.
You can learn more about permission tabs here.
https://github.com/graphcool/graphql-playground/releases/tag/v1.3.0
0.9.2 (2017-11-10)
0.9 (2017-11-08)
Download the latest CLI version with npm install -g graphcool
.
Server
-
Fixed a bug when removing a field that was referenced by a permission https://github.com/graphcool/framework/issues/993
-
Improved logging for local and shared cluster
-
General wording improvements, and better error messages
- https://github.com/graphcool/framework/issues/952 https://github.com/graphcool/framework/issues/846 https://github.com/graphcool/framework/issues/922 https://github.com/graphcool/framework/issues/926 https://github.com/graphcool/framework/issues/929 https://github.com/graphcool/framework/issues/778 https://github.com/graphcool/framework/issues/951
-
Implemented Webhook shorthand notation https://github.com/graphcool/framework/issues/978
-
Changing a service alias now invalidates the old one https://github.com/graphcool/framework/issues/741
-
Local docker and dependency injection binding clean up
- https://github.com/graphcool/framework/pull/1098
- Removed RabbitMQ dependency for local clusters
-
Experimental support for Docker Toolbox
- https://github.com/graphcool/framework/issues/1074 https://github.com/graphcool/framework/issues/864
- Please let us know in the Forum if you still experience any issues with Docker Toolbox, so we can fully support it in a coming release.
CLI
-
General wording improvements
-
Unified usage when adding templates https://github.com/graphcool/framework/issues/754
- Individual templates will receive better explanations shortly.
-
Fixed endless deploy loop when environment variables are missing https://github.com/graphcool/framework/issues/966
Playground
Version 1.1.1
has been released
- Added middleware support
- Expose component for React 16
- Added serverless handler
0.8.2 (2017-10-22)
You can download the CLI for the latest Framework version by running npm install -g graphcool
.
See the Forum for more information on the Framework Preview.
CLI
-
Improved importing npm modules:
-
Improved error message and cosmetics:
-
The service definition for upgraded projects has been improved: #873
-
graphcool init
- Temporarily removed
--template
parameter #950
- Temporarily removed
Lib
- Version 0.1.4 of
graphcool-lib
has been released. Read the release notes here.
0.8 (2017-10-20)
You can download the CLI for the latest Framework version by running npm install -g graphcool@next
.
See the Forum for more information on the Framework Preview.
Core
-
The function context has been streamlined for all function types.
-
Fixed deploying operationBefore and operationAfter functions.
-
General error message improvements:
CLI
Version 0.8.0 of graphcool
has been released.
-
You can now refer to single GraphQL operations in .graphql files.
-
Referring to modules in
graphcool.yml
is now detected, and you're asked to use templates instead. -
All dependencies are explicitely specified now, as described here, here and here.
-
graphcool init
- Improved output as described here and here.
- Initial
package.json
does not refer toindex.js
anymore. - It's now possible to initialze a service in a non-empty folder.
-
graphcool deploy
- Errors are caught before showing the deploy wizard.
- Deploying to not running local cluster is handled gracefully.
- Introduced an error that detects missing node_modules when modules are required or imported in any function. Built-in modules are ignored.
- Deploying also works when using symlinks.
- Prevent accidental deploy.
- Improved error message for missing schema file of resolver functions.
- Updated environment variables are correctly deployed.
- Fixed a problem with deploying when the parent directory contains a .graphcoolrc file.
-
graphcool diff
-
graphcool add-template
-
graphcool root-token
-
graphcool invoke-local
-
graphcool local
-
graphcool logs
-
graphcool console
Lib
- Version 0.1.3 of
graphcool-lib
has been released. Read the release notes here.
0.7 (2017-10-13)
You can download the latest Framework version by running npm install -g graphcool@next
.
See the Forum for more information on the Framework Preview.
Features 🎉
- A new local development workflow for functions is available. Additionally, there is a new & improved function runtime when deploying a service to a remote cluster, as well as in the local
graphcool-dev
environment. - You can now add templates to the service definition with a new add-template command.
Changes 💡
- The initial project structure after upgrading a project to the Framework has been changed.
- Added GRAPHCOOL_PLATFORM_TOKEN env var.
- Removed the env command. From now on
.graphcoolrc
is used to control deploy targets. - The CLI now can be run with node 6+.