Releases: spacecloud-io/space-cloud
v0.19.6
This release contains major performance optimisations and minor features
Enhancements
- Native support for all types of SQL joins (LEFT, RIGHT, INNER, OUTER):
query {
users (join: $join, where: $where) @db {
name
posts {
title
views {
count
}
}
address {
pincode
street
}
}
}
variables:
{
"join": [
{
"type": "LEFT",
"table": "posts",
"on": {"users.id": "posts.user_id"},
"join": [
{
"type": "LEFT",
"table": "views",
"on": {"posts.id": "views.post_id"}
}
]
},
{
"type": "LEFT",
"table": "address",
"on": {"users.id": "address.user_id"}
}
]
}
- Optimised (single SQL query) the same database joins when using the new join syntax #1135
- New syntax for aggregations:
query {
users (join: $join, where: $where) @db {
name
totalViews: views__count @aggregate(op: sum)
maxViews: views__count @aggregate(op: max)
}
}
- Support for templating directive using JWT claims. #1370
Fixes
- Fixed security rule editor crashing in Mission Control when the schema isn't provided #1369
Upgrade guide
Upgrade is possible from
v0.17.0
and above.
Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir
. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir
.
For Docker-based deployments:
Simply run space-cli upgrade
.
For Kubernetes based deployment:
We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!
v0.19.5
This is a minor release containing few enhancements in ingress routing and a bug fix in letsencrypt module.
Enhancements
- Added support for filtering ingress routes based on URL via Mission Control #1348
- Show the number of ingress routes being displayed in the ingress routing page #1350
- Add support for filtering ingress routes in
space-cli get
command #1349 - Added a delay flag in space-cli apply command to slow down the rate at which the configs are applied #1351
Fixes
- Fixed letsencrypt not working when email is configured #1347
Upgrade guide
Upgrade is possible from
v0.17.0
and above.
Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir
. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir
.
For Docker-based deployments:
Simply run space-cli upgrade
.
For Kubernetes based deployment:
We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!
v0.19.4
This is a minor release containing few enhancements and fixes.
Enhancements
- Added support for validating issuer and audience of JWT claim #1322
- Added support for specifying docker cmd in deployments via mission control #1317
- Added ability to provide the length of varchar in schema when using type ID #1187
- Added support to convert string to Object ID and vice versa #1343
Fixes
- Limited height of rows in the data browser table #1336
- Fixed limit clause not working if its value is provided through GraphQL variables #1321
Upgrade guide
Upgrade is possible from
v0.17.0
and above.
Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir
. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir
.
For Docker based deployments:
Simply run space-cli upgrade
.
For Kubernetes based deployment:
We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!
v0.19.3
This is a minor release containing few enhancements and fixes.
Enhancements
- Added support for JWK URLs, thereby enabling integration with identity providers like Firebase Auth / Auth0 / Keycloak etc #1112
- Added support for pod affinities #1274
- Added support for adding labels to services deployed by Space Cloud #1282
- Added support for multiples tasks and labels in deployments via Mission Control #753
- Added support to dynamically encrypt, decrypt, hash and remove fields #1270
- Added ability to forward the results of
query
andwebhook
rules to your service #1268 - Added support for templating webhook requests #1267
- Added support for optional timeouts in remote services config #1277
- Added health check mechanism for integrations #1271
- Added support for uploading an integration config directly from Mission Control #1272
- Added logout button in Mission Control #1276
- Added loading in Mission Control while generating RSA 256 secret #1263
- Added support for
space cli deploy --prepare
command to work without a running SC cluster #1300 - Added support for gcs setup on Kubernetes with space cloud secrets #1250
- Added support for configuring default security rules while configuring file storage #1209
- Added support of code splitting in Mission Control to reduce loading time #1278
Fixes
- Fixed space api go delete file function deleting folders as well in local storage #1266
- Fixed space api go not able to delete larger files to aws and gcp #1265
- Fixed mission control resetting the security rules of remote endpoints when changing its type #1289
- Fixed mission control not allowing to remove the last env pair while editing deployment #1292
- Fixed mission control persisting file storage configuration form values after changing file store type #1262
Contributors
A special thanks to all our contributors for their help in this release!
- Kavish Shah @KavishShah09
- Prithvi Malhotra @prithvi081099
- Arnav Gosain @arn4v
- Shubham Nazare @shubham4443
- Saif Kamal @Saif-Ali-Kamal
Upgrade guide
Upgrade is possible from
v0.17.0
and above.
Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir
. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir
.
For Docker based deployments:
Simply run space-cli upgrade
.
For Kubernetes based deployment:
We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!
v0.19.2
This is a minor release containing few enhancements and fixes.
Enhancements
- Add support for licensing logic to work in complete offline environments #1256
- Added logging in space cloud #57
- Added support for tracing requests in space cloud #462
- Added flag to disable Mission Control in gateway #1196
- Added flexibility to return status code for config mutation endpoints #1197
Fixes
- Fixed space cloud not cleaning the temp files creating during multi-part file uploads in the filestore module #1245
- Fixed copy/paste in the security rule builder not working on unsecured sites #1261
- Unable to add HSA secret from Mission Control #1260
- Prevent unnecessary fetching of latest version if a specific version is specified in the space-cli setup or upgrade command #1257
Contributors
A special thanks to all our contributors for their help in this release!
- Jainam Shah @jcs98
- Kavish Shah @KavishShah09
- Shubham Nazare @shubham4443
- Saif Kamal @Saif-Ali-Kamal
Upgrade guide
Upgrade is possible from
v0.17.0
and above.
Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir
. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir
.
For Docker based deployments:
Simply run space-cli upgrade
.
For Kubernetes based deployment:
We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!
v0.19.1
This is a minor release containing the following enhancements:
- Added sprig functions to our go templating. #1233
- Added support for templating webhook request body of the event triggers. #1234
- Added disableSSL and forcePathStyle options in the file store config of AWS (for advanced setup in minio). #1232
- Improved handling of RSA secrets. Mission Control itself creates the public key from a given private key now. #1231
- Improved viewing lengthy strings in the body of invocation logs in Mission Control.
Upgrade guide
Upgrade is possible from
v0.17.0
and above.
Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir
. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir
.
For Docker based deployments:
Simply run space-cli upgrade
.
For Kubernetes based deployment:
We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!
v0.19.0
Introducing an enterprise version!
We have finally released an enterprise-ready version of Space Cloud! 😀 It includes the following features:
- Support for multiple projects and multiple databases in a single Space Cloud cluster.
- Ability to manage multiple users with granular permissions to configure Space Cloud.
- Audit logs of any config changes performed in Space Cloud.
- A maker checker system to change Space Cloud config for an extra layer of protection in production systems.
Enterprise licenses for Space Cloud can be purchased from https://console.spaceuptech.com.
Drop us a mail at [email protected]
if you need any help for evaluating the enterprise version.
Enhancements
Deployments module
- Provide information about the health (no of running replicas vs desired replicas) of services deployed via Space Cloud.
- Added ability to fetch/stream logs of any service deployed via Space Cloud. These logs can be viewed from the
space-cli
and Mission Control as well. #1004
Mission Control streaming service logs in realtime:
Security module
- Added a security rule builder in Mission Control. It helps you configure the security rules in a graphical and easy to use way.
- Added support for the RSA algorithm in JWT secrets. #1220
auth
claims are now available inside security rules of prepared queries. #1062
Database module
- Added support for cross-database links! 😇 This means that Space Cloud now lets you join data across different databases via its GraphQL layer seamlessly. (Note: Adding multiple databases in Space Cloud is an enterprise feature) #1018
- Support for aggregations in MongoDB. #1001
- Added support for aggregations on linked tables. #1061
- The
count
function in aggregation works even without a selection set now. #1063 - Forced case sensitive search for MySQL and MsSQL. #1031
- Support for untracking a tracked table. #997
- Support to refresh the schema of a particular table from Mission Control. #1013
- Support to delete an untracked table directly from Mission Control. #998
- Added a data manager UI in Mission Control. It includes browsing your data (along with filtering and sorting) and performing mutations. #625
- Improvements in
Sample Queries
page in the database section. Added a play button to copy-paste the GraphQL queries to GraphiQL directly. #813
Space CLI
- Support to set up and manage multiple Space Cloud clusters. #1117
- Added commands to view, change and delete accounts. #1024
- Better hints in case of incorrect usage. #1127
- Enabled autocompletion of commands in space-cli. #712
destroy
command doesn't require root privileges while deleting services. #1015apply
command prints the id and spec when it encounters an error.- Added getters and generators for prepared queries and ingress global config. #1161
- Adds the default rules for database and prepared queries while auto applying a database config.
Misc
- Mission Control now displays the version of Mission Control itself. #1221
- Allow letsencrypt email to be configured via Mission Control.
- Authentication tokens expire after a given amount of time.
- Option to enable/disable telemetry through the Mission Control. #1053
- Refined RBAC permissions for gateway and runner service accounts in Kubernetes. #1088
Bug fixes
- Fixed panic error for list files in S3.
- Fixed error while deleting a file in GCS. #1213
- Fixed Mission Control overriding fields not shown in Mission Control while updating a deployment config.
- Fixed metric proxy overloading envoy causing envoy to hit its CPU limits. #1216
- Fixed the
setup
command giving error on windows.
Breaking changes
- Space Cloud now returns true/false instead of 1/0 for boolean values in MySQL. This is done in order to provide a consistent API for all the databases. (Note: This breaking change is for MySQL only. All the other supported databases used to provide true/false already for boolean values) #758
- Reorganized the file folder structure of the file storage module for Google Cloud Storage to consider the bucket itself as the root rather than a folder
/
inside the bucket. This was done in order to provide the same experience across all file storage providers. #1213 - The REST API of Space Cloud remote services now returns the result directly as the response body rather than inside a
result
field inside response body.
These breaking changes are only applicable if you used either MySQL, GCS or Space Cloud's REST API for remote services. Join our discord channel if you need any help upgrading to v0.19.0
because of these breaking changes.
Upgrade guide
Upgrade is possible from
v0.17.0
and above.
Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir
. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir
.
For Docker based deployments:
Simply run space-cli upgrade
.
For Kubernetes based deployment:
We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!
v0.18.4
This is a minor release containing a single bug fix:
#1170 - Data race condition due to not acquiring a lock while reading the dataloader map.
Upgrade guide
Upgrade is possible from
v0.17.0
and above.
Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir
. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir
.
For Docker based deployments:
Simply run space-cli upgrade
.
For Kubernetes based deployment:
We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!
v0.18.3
This is a minor release containing improvements in security rules and ingress routing
Ingress routing improvements
- Added support for modifying the response headers in Ingress Routing.
- Added support for adding/deleting the request headers in Ingress Routing and Remote Services.
- Added support for specifying the request/response headers modifications globally for Ingress Routing. (Header set on route level will override the header set on a global level)
- Added support for filtering ingress routes in Mission Control.
Security rules improvements
Added support for accessing elements inside arrays in security rules. For example, the below security rule can now access the 3rd element inside tags
(array) :
{
"rule": "match",
"type": "string",
"eval": "==",
"f1": "args.doc.tags.2",
"f2": "mytag"
}
Upgrade guide
Upgrade is possible from
v0.17.0
and above.
Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir
. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir
.
For Docker based deployments:
Simply run space-cli upgrade
.
For Kubernetes based deployment:
We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!
v0.18.2
This is a patch release just containing a bug fix:
Setting the config of prepared queries wasn't working because of a recent optimization in v0.18.0
.
Upgrade guide
Upgrade is possible from
v0.17.0
and above.
Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir
. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir
.
For Docker based deployments:
Simply run space-cli upgrade
.
For Kubernetes based deployment:
We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!