Gentics Mesh Changelog

0.9.21 (26.07.2017)

Core: The OrientDB graph database version was updated to version 2.2.24

Core: Fixed handling of ISO8601 dates which did not contain UTC flag or time offset value. Such dates could previously not be stored. Note that ISO8601 UTC dates will always be returned.

GraphQL: URL handling of the GraphQL browser has been improved. Previously very long queries lead to very long query parameters which could not be handled correctly. The query browser will now use the anchor part of the URL to store the query.

Migration: The error handling within the schema migration code has been improved.

GraphQL: It is now possible to load the schema version of a node using the schema field.

Versioning: Older Gentics Mesh instances (>0.8.x) were lacking some draft information. This information has been added now.

0.9.20 (21.07.2017)

License: The license was changed to Apache License 2.0

Schema Versions: The schema version field type was changed from number to string. It is now also possible to load schema and microschema versions using the ?version query parameter.

Search: The error reporting for failing queries has been improved.

Search: The total page count value has been fixed for queries which were using ?perPage=0.

0.9.19 (07.07.2017)

UI: Fixed adding node to node list.

Docs: Various endpoints were not included in the generated RAML. This has been fixed now.

0.9.18 (30.06.2017)

Demo: Fixed demo data uuids.

Core: The OrientDB graph database version was updated to version 2.2.22

Core: The Ferma OGM library was updated to version 2.2.2

0.9.17 (21.06.2017)

UI: A bug which prevented micronodes which contained empty node field from being saved was fixed.

Core: Issues within the error reporting mechanism have been fixed.

Server: The Mesh UI was added to the mesh-server jar.

Core: The internal transaction handling has been refactored.

Core: The Vert.x core dependency was updated to version 3.4.2

API: The version field of node responses and publish status responses are now strings instead of objects containing the version number.

0.9.16 (19.06.2017)

Documentation: Huge documentation update.

0.9.15 (19.06.2017)

GraphQL: Fixed loading tags for nodes.

0.9.14 (09.06.2017)

WebRoot: Bugs within the permission handling have been fixed. It is now possible to load nodes using only the read_published permission. This permission was previously ignored.

GraphQL: An introspection bug which prevented graphiql browser autocompletion from working correctly has been fixed. The bug did not occur on systems which already used microschemas.

0.9.13 (08.06.2017)

UI: The UI was updated. An file upload related bug was fixed.

UI: Schema & Microschema description is no longer a required field.

0.9.12 (08.06.2017)

GraphQL: Fixed handling of node lists within micronodes.

GraphQL: Fixed Micronode type not found error.

GraphQL: Fixed GraphQL API for system which do not contain any microschemas.

GraphQL: Fixed permission handling and filtering when dealing with node children.

0.9.11 (07.06.2017)

GraphQL: The GraphQL library was updated. Various GraphQL related issues have been fixed.

0.9.10 (29.05.2017)

Schemas: The default content and folder schemas have been updated. The fileName and folderName fields have been renamed to slug. The name field was removed from the content schema and a teaser field has been added. These changes are optional and thus not automatically applied to existing installations.

Demo: The folderName and fileName fields have been renamed to slug. This change only affects new demo installations.

GraphQL: The language fallback handling was overhauled. The default language will no longer be automatically be append to the list of fallback languages. This means that loading nodes will only return nodes in those languages which have been specified by the lang argument.

GraphQL: The path handling for nodes within node lists has been fixed. Previously it was not possible to retrieve the path and various other fields for those nodes.

0.9.9 (19.05.2017)

Core: The OrientDB graph database version was updated to version 2.2.20.

API: The following endpoints were moved:

  • /api/v1/admin/backup/api/v1/admin/graphdb/backup

  • /api/v1/admin/export/api/v1/admin/graphdb/export

  • /api/v1/admin/import/api/v1/admin/graphdb/import

  • /api/v1/admin/restore/api/v1/admin/graphdb/restore

Core: Added /api/v1/:projectName/releases/:releaseUuid/migrateMicroschemas endpoint which can be used to resume previously unfinished micronode migrations.

Performance: The startup performance has been increased when dealing with huge datasets.

Auth: The anonymous authentication mechanism can now also be disabled by setting the Anonymous-Authentication: disable header. This is useful for client applications which don’t need or want anonymous authentication. The Gentics Mesh REST client has been enhanced accordingly.

Core: The read performance of node lists has been improved.

Core: The write performance of nodes has been improved.

Demo: The demo data have been updated. The a folderName and fileName field has been added to the demo schemas.

GraphQL: Added micronode list handling. Previously it was not possible to handle micronode list fields.

Core: Fixed NPE that was thrown when loading releases on older systems.

Core: An upgrade error has been fixed which was caused by an invalid microschema JSON format error.

UI: You will no longer be automatically logged in as anonymous user once your session expires.

Core: The language fallback handling for node breadcrumbs has been fixed. Previously the default language was not automatically added to the handled languages.

0.9.8 (08.05.2017)

UI: Microschemas can now be assigned to projects.

UI: Descriptions can now be assigned to schemas & microschemas.

Core: A bug was fixed which prevented the node response project property to be populated.

Core: The redundant isContainer field was removed from the node response.

Core: Various bugs for node migrations have been fixed.

Core: The allow property for micronode schema fields will now correctly be handled.

Core: Microschemas will now be assigned to projects during a schema update. This only applies for microschemas which are referenced by the schema (e.g.: via a micronode field).

Core: The OrientDB graph database version was updated to version 2.2.19.

0.9.7 (28.04.2017)

GraphQL: The nested content and contents fields have been removed. The properties of those fields have been merged with the node / nodes field.

GraphQL: The field names for paged resultset meta data have been updated to better match up with the REST API fields.

GraphQL: A language can now be specified when loading node reference fields using the lang argument.

GraphQL: It is now possible to resolve links within loaded fields using the linkType field argument.

Auth: Support for anonymous access has been added to mesh. Requests which do not provide a mesh.token will automatically try to use the anonymous user. This user is identified by username and the thus no anonymous access support is provided if the user can’t be located.

GraphQL: It is now possible to retrieve the path for a content using the path field. The Node.languagePaths has been removed in favour of this new field.

Auth: It is now possible to issue API tokens via the GET /api/v1/users/:userUuid/token endpoint. API tokens do not expire and work in conjunction with the regular JWT authentication mechanism. These tokens should only be used when SSL is enabled. The DELETE /api/v1/users/:userUuid/token endpoint can be used to revoke the issued API token. Only one API token is supported for one user. Generating a new API token will invalidate the previously issued token.

GraphQL: An error was fixed which occurred when loading a node using a bogus uuid.

Auth: An error which caused the keystore loading process to fail was fixed.

0.9.6 (14.04.2017)

It is now possible to resume previously aborted schema migrations via the /api/v1/:projectName/releases/:releaseUuid/migrateSchemas endpoint.

Auth: The Java keystore file will now automatically be created if none could be found. The keystore password will be taken from the mesh.yml file or randomly generated and stored in the config.

Core: Migration errors will no longer cause a migration to be aborted. The migration will continue and log the errors. An incomplete migration can be resumed later on.

Core: Fix node migration search index handling. Previous migrations did not correctly update the index. A automatic reindex will be invoked during startup.

0.9.5 (13.04.2017)

Core: The schema check for duplicate field labels has been removed. The check previously caused schema updates to fail.

0.9.4 (13.04.2017)

UI: Fix project creation.

UI: Fix error when attempting to translate a node.

UI: Fix incorrect search query.

UI: Display error when attempting to publish a node with an unpublished ancestor

JWT: The signatureSecret property within the Gentics Mesh configuration has been renamed to keystorePassword.

JWT: It is now possible to configure the algorithm which is used to sign the JWT tokens.

Java: The Java model classes have been updated to provide fluent API’s.

Demo: It is now possible to access elasticsearch head UI directly from mesh via http://localhost:8080/elastichead - The UI will only be provided if the elasticsearch http ports are enabled. Only enable this for development since mesh will not protect the Elasticsearch HTTP server.

Core: Downgrade and upgrade checks have been added. It is no longer possible to run Gentics Mesh using a dump which contains data which was touched by a newer mesh version. Upgrading a snapshot version of Gentics Mesh to a release version can be performed under advisement.

0.9.3 (10.04.2017)

UI: A bug which prevented assigning created schemas to projects was fixed.

A bug which could lead to concurrent request failing was fixed.

Error handling: A much more verbose error will be returned when creating a schema which lacks the type field for certain schema fields.

GraphQL: A bug which lead to incorrect column values for graphql errors was fixed.

The OrientDB dependency was updated to version 2.2.18.

GraphQL: The container/s field was renamed to content/s to ease usage.

GraphQL: It is no longer possible to resolve nodes using the provided webroot path. The path argument and the resolving was moved to the content field.

0.9.2 (04.04.2017)

The /api/v1/admin/backup, /api/v1/admin/restore, /api/v1/admin/import, /api/v1/admin/export endpoints were added to the REST API. These endpoint allow the creation of backup dumps.

GraphQL: It is now possible to execute elasticsearch queries. within the graphql query.

GraphQL: It is now possible to resolve a partial web root path using the child field of a node.

GraphQL: It is now possible to resolve information about the running mesh instance via graphql.

Various issues with the linkType argument within the GraphQL API have been fixed.

Fix NPE that occurred when loading a container for a language which did not exist.

0.9.1 (28.03.2017)

The Access-Control-Allow-Credentials: true Header will now be returned when CORS support is enabled.

A NullPointerException within the Java Rest Client was fixed.

The AngularJS Demo was updated.

0.9.0 (27.03.2017)

Gentics Mesh now supports GraphQL.

The expandAll and expand parameters will be removed within an upcoming release of Gentics Mesh. We highly recommend to use the GraphQL endpoint instead if you want to fetch deeply nested data.

Schema name validation - Schema and microschema names must only contain letter, number or underscore characters.

Node Tag Endpoint

The endpoint /api/v1/:projectName/nodes/:nodeUuid/tags was enhanced. It is now possible to post a list of tag references which will be applied to the node. Tags which are not part of the list will removed from the node. Tags which do not exist will be created. Please note that tag families will not automatically be created.

The tags field within the node response was updated accordingly.

0.8.3 (24.02.2017)

Tags are now also indexed in the node document in the field tagFamilies, grouped by tag families.

0.8.2 (23.02.2017)

The trigram filter configuration was updated so that all characters will be used to tokenize the content.

0.8.1 (21.02.2017)

A bug which prevented index creation in certain cases was fixed.

0.8.0 (10.02.2017)

Names, string fields and html field values will now be indexed using the trigram analyzer.

Binary Endpoint Overhaul

The field API endpoint /api/v1/:projectName/nodes/:nodeUuid/languages/:language/fields/:field was removed and replaced by the binary /api/v1/:projectName/nodes/:nodeUuid/binary endpoint. The binary endpoints are now also versioning aware and handle conflict detection. It is thus required to add the language and version form data parameters to the upload request.

Transform Endpoint Overhaul

The endpoint /api/v1/:projectName/nodes/:nodeUuid/languages/:language/fields/:field/transform was renamed to /api/v1/:projectName/nodes/:nodeUuid/binaryTransform. The transform endpoint will now return the updated node.

The no longer needed schemaReference property was removed from node update requests.

The rootNodeUuid property within node project response was changed.

Old structure:

{
…
  "rootNodeUuid" : "cd5ac8943a4448ee9ac8943a44a8ee25",
…
}

New structure:

{
…
  "rootNode": {
    "uuid" : "cd5ac8943a4448ee9ac8943a44a8ee25",
  },
…
}
— Example

The parentNodeUuid property within node create requests was changed.

Old structure:

{
…
  "parentNodeUuid" : "cd5ac8943a4448ee9ac8943a44a8ee25",
…
}

New structure:

{
…
  "parentNode": {
    "uuid" : "cd5ac8943a4448ee9ac8943a44a8ee25",
  },
…
}
— Example

JSON Schema information have been added to the RAML API documentation. This information can now be used to generate REST model types for various programming languages.

The navigation response JSON was restructured. The root element was removed.

Old structure:

{
  "root" : {
    "uuid" : "cd5ac8943a4448ee9ac8943a44a8ee25",
    "node" : {…},
    "children" : […]
  }
}

New structure:

{
  "uuid" : "cd5ac8943a4448ee9ac8943a44a8ee25",
  "node" : {…},
  "children" : […]
}
— Example

0.7.0 (19.01.2017)

Content releases support

This version of Gentics Mesh introduces Content Releases. A detailed description of this feature can be found in our Documentation.

Versioning support

This version of Gentics Mesh introduces versioning of contents. A detailed description of the versioning feature can be found in our Documentation.

Important changes summary:

  • Node update request must now include the version information

  • The query parameter ?version=published must be used to load published nodes. Otherwise the node will not be found because the default version scope is draft.

  • Two additional permissions for nodes have been added: publish, readpublished

Existing databases will automatically be migrated during the first setup.

The missing availableLanguages and defaultLanguage parameters have been added to the mesh-ui-config.js file. Previously no language was configured which removed the option to translate contents.

Image Property Support - The binary field will not automatically contain properties for image width, image height and the main dominant color in the image.

API Version endpoint - It is now possible to load the mesh version information via a GET request to /api/v1/.

Project endpoint - The current project information can now be loaded via a GET request to /api/v1/:projectName.

When the search indices where recreated with the reindex endpoint, the mapping for the raw fields was not added. This has been fixed now.

The search index mapping of fields of type "list" were incorrect and have been fixed now.

Various issues with the schema node migration process have been fixed.

0.6.29 (07.03.2017)

The documentation has been enhanced.

Missing fields could cause error responses. Instead the missing fields will now be set to null instead.

0.6.28 (21.10.2016)

Missing fields could cause error responses. Instead the missing fields will now be set to null instead.

0.6.27 (07.10.2016)

Various issues with the schema node migration process have been fixed.

0.6.26 (05.10.2016)

The maximum transformation depth limit was raised from 2 to 3.

0.6.25 (20.09.2016)

The used Vert.x version was bumped to 3.3.3.

0.6.24 (19.09.2016)

The Gentics Mesh admin ui has been updated. The UI will no longer send basic auth information for succeeding requests which were invoked after the login action had been invoked. Instead the basic auth login information will only be send directly during login.

A bug within the breadcrumb resolver has been fixed. Previouly breadcrumbs did not account for language fallback options and thus returned a 404 path for nodes which used a different language compared to the language of the retrieved node. This has been fixed.

0.6.23 (14.09.2016)

The missing availableLanguages and defaultLanguage parameters have been added to the mesh-ui-config.js file. Previously no language was configured which removed the option to translate contents.

0.6.22 (24.08.2016)

It is now possible to publish language variants. Previously it was only possible to publish nodes. This affected all language variants of the node.

0.6.21 (17.08.2016)

The debug output in case of errors has been enhanced.

0.6.20 (03.08.2016)

The changelog processing action for existing installations was fixed.

0.6.19 (02.08.2016)

Mesh-Admin-UI was updated to version 0.6.13

0.6.18 (24.06.2016)

Previously a search request which queried a lot of nodes could result in a StackOverflow exception. The cause for this exception was fixed.

The gentics/mesh and gentics/mesh-demo images now use the alpine flavour base image and thus the size of the image stack has been reduced.

The performance of the search endpoints have been improved.

0.6.17 (22.06.2016)

The path property within the node response breadcrumb was not set. The property will contain the resolved webroot path for the breadcrumb element. No value will be set if the resolveLinks query parameter was configured or set to OFF. CL-459

0.6.16 (21.06.2016)

Gzip compression support was added. JSON responses are now pretty printed by default.

0.6.15 (20.06.2016)

Mesh-Admin-UI was updated to version 0.6.12

0.6.13 (17.06.2016)

Mesh-Admin-UI was updated to version 0.6.10

0.6.12 (02.06.2016)

A bug within the schema migration process was fixed. The label field was previously not correctly handled for newly added fields.

A bug within the schema migration process was fixed. The segmentfield value was reset to null when updating a schema. This has been fixed now.

The "AllChangeProperties" field was removed from the JSON response of schema fields.

0.6.11 (31.05.2016)

A bug which prevented node reference deletion was fixed. It is now possible to delete node references using a json null value in update requests.

OrientDB was updated to version 2.1.18

0.6.10 (25.05.2016)

It is now possible to grant and revoke permissions to microschemas using the roles/:uuid/permissions endpoint.

0.6.9 (04.05.2016)

The mesh-ui was updated.

It is now possible to also include non-container nodes in a navigation response using the includeAll parameter. By default only container nodes will be included in the response.

A minor issue within the webroot path handling of node references was fixed. CL-425

Fix label and allow field property handling when updating schema fields. CL-357

Various concurrency issues have been addressed.

0.6.8 (26.04.2016)

The mesh-ui was updated.

OrientDB was updated to version 2.1.16

0.6.7 (25.04.2016)

Update checker. A bug that prevented the update checker from working correctly was fixed.

0.6.6 (06.04.2016)

Public open beta release

A bug within the reindex changelog entry was fixed. The bug prevented the node index to be recreated.

The mesh-ui-config.js default apiUrl parameter was changed to /api/v1 in order to allow access from hosts other than localhost.

0.6.5 (05.04.2016)

The displayField value was missing within the node search document. The value was added.

The changelog execution information was added to the demo data dump and thus no further changelog execution will happen during mesh demo startup.

An edge case that could cause multiple stack overflow exception was fixed.

A Cache-Control: no-cache header has been set to mesh responses.

The mesh-ui was updated.

Various search index related bugs have been fixed.

The mesh-ui configuration file was renamed to mesh-ui.config.js

0.6.4 (24.03.2016)

The mesh ui was updated.

0.6.3 (22.03.2016)

Database migration/changelog system. A changelog system was added to mesh. The system is used to upgrade mesh data from one mesh version to another.

The published flag can now be referenced within an elasticsearch query.

It was not possible to update the allow flag for schema lists (e.g.: micronode lists). This has been fixed now.

The schema migration process did not update the node search index correctly. In some cases duplicate nodes would be returned (the old node and the migrated one). This has been fixed. Only the latest version of nodes will be returned now.

A NPE was fixed which occurred when updating or creating a node list which included elements which could not be found. (CL-358)

A typo within the search model document for users was fixed. The property emailadress was renamed to emailaddress.

0.6.2 (15.03.2016)

The microschema and schema permission field was always empty for newly created elements.

0.6.1 (14.03.2016)

Add mesh-ui to gentics/mesh docker image

0.6.0 (14.03.2016)

Added image API endpoint Images can now be resized and cropped using the image endpoint.

Added schema versioning

Added schema migration process It is now possible to update schemas. Custom migration handlers can be defined in order to modify the node data.

Added Micronodes/Microschemas A new field type has been added which allows creation of micronodes.

Webroot API The webroot REST endpoint was added which allows easy retrieval of nodes by its web path.

JWT Authentication support has been added It is now possible to select JWT in order to authenticate the user.

Navigation Endpoint The navigation REST endpoint was added which allows retrieval of navigation tree data which can be used to render navigations.

Added docker support It is now possible to start mesh using the gentics/mesh or gentics/mesh-demo docker image.

Vertx update The Vertx dependency was updated to version 3.2.1

Fixed paging issue for nested tags

0.5.0 (17.11.2015)

Closed beta release