Enonic version 6.15.0 has been released

Enonic XP version 6.15.0 was released today.

This versions is more complex than several of the other recent major versions, as some of the new features has been under development for a long time, including a new HTML Editor and advanced cluster features in a new library. This version also sees improved workflow in Content Studio, update to steps in Content Editor, a Media Selector input type and many other new features. Read more about it in the release notes: https://xp.readthedocs.io/en/6.15/appendix/release-notes/index.html

For a complete list of changes, please see our changelog: https://github.com/enonic/xp-distro/releases/tag/v6.15.0

Enonic XP 6.15.0 can be downloaded from our website: https://enonic.com/downloads

Except for possible bugfix releases, we expect this version to be the last in the 6.x series. The next major version should be 7.0.0, with some really nice features we have been aching to create for you, but have postponed because they are not backward compatible. For feedback on 6.15.0 or input on what you want in 7.0.0, please join the discussion below.


We’re getting a “Label is required” exception after upgrading. Guess it’s part of the application info panel under “Applications” that now requires something that < 6.15 doesn’t? We have tons of parts, contenttypes and mixins :frowning:

ERROR c.e.x.j.i.e.JsonExceptionMapper - label is required
com.enonic.xp.xml.XmlException: label is required
at com.enonic.xp.xml.parser.XmlObjectParser.parse(XmlObjectParser.java:89)
at com.enonic.xp.core.impl.schema.mixin.MixinLoader.parseXml(MixinLoader.java:41)
at com.enonic.xp.core.impl.schema.mixin.MixinLoader.load(MixinLoader.java:25)
at com.enonic.xp.core.impl.schema.mixin.MixinLoader.load(MixinLoader.java:13)
at com.enonic.xp.core.impl.schema.SchemaLoader.lambda$newProcessor$0(SchemaLoader.java:45)
at com.enonic.xp.resource.ResourceProcessor.process(ResourceProcessor.java:48)
at com.enonic.xp.core.impl.app.resource.ProcessingCache.doProcess(ProcessingCache.java:53)
at com.enonic.xp.core.impl.app.resource.ProcessingCache.lambda$process$0(ProcessingCache.java:34)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
at com.enonic.xp.core.impl.app.resource.ProcessingCache.process(ProcessingCache.java:34)
at com.enonic.xp.core.impl.app.resource.ResourceServiceImpl.processResource(ResourceServiceImpl.java:106)
at com.enonic.xp.core.impl.schema.SchemaLoader.get(SchemaLoader.java:34)
at com.enonic.xp.core.impl.schema.mixin.MixinServiceImpl.getByName(MixinServiceImpl.java:62)
at com.enonic.xp.core.impl.schema.mixin.MixinServiceImpl.transformFormItems(MixinServiceImpl.java:155)
at com.enonic.xp.core.impl.schema.mixin.MixinServiceImpl.doInlineFormItems(MixinServiceImpl.java:141)
at com.enonic.xp.core.impl.schema.mixin.MixinServiceImpl.transformFormItems(MixinServiceImpl.java:167)
at com.enonic.xp.core.impl.schema.mixin.MixinServiceImpl.transformFormItems(MixinServiceImpl.java:202)
at com.enonic.xp.core.impl.schema.mixin.MixinServiceImpl.transformFormItems(MixinServiceImpl.java:184)
at com.enonic.xp.core.impl.schema.mixin.MixinServiceImpl.transformFormItems(MixinServiceImpl.java:184)
at com.enonic.xp.core.impl.schema.mixin.MixinServiceImpl.doInlineFormItems(MixinServiceImpl.java:141)
at com.enonic.xp.core.impl.schema.mixin.MixinServiceImpl.inlineFormItems(MixinServiceImpl.java:135)
at com.enonic.xp.core.impl.content.page.region.PartDescriptorServiceImpl.getByKey(PartDescriptorServiceImpl.java:52)
at com.enonic.xp.core.impl.content.page.region.PartDescriptorServiceImpl.getByApplication(PartDescriptorServiceImpl.java:74)
at com.enonic.xp.core.impl.app.ApplicationInfoServiceImpl.getPartDescriptors(ApplicationInfoServiceImpl.java:73)
at com.enonic.xp.core.impl.app.ApplicationInfoServiceImpl.getApplicationInfo(ApplicationInfoServiceImpl.java:120)
at com.enonic.xp.admin.impl.rest.resource.application.ApplicationResource.info(ApplicationResource.java:183)

Not sure since I have not followed what has been done with mixins and labels
But 6.15 should not be breaking.
I created a bug issue and we will look into it.

Thanks for reporting

1 Like

Hi Tommy!
Turns out labels can not be empty, so for right now, you need to have text in the label in the mixin, but it is certainly not good practice to just get an ignorant exception in the log here.

We are discussing several solutions and would love feedback on what is preferred from developers:

  • Minimally, we will change this empty exception in the log, and make sure that a proper error message, pointing to the file with the error, is shown.
  • We could also allow the labels field to be empty. There might be situations with, for instance field-sets, where a label in the Admin console is not required or even could be confusing.
1 Like

The lead developer is on vacation but I think we did this to not have unnecessary labels

1 Like

This looks like incorrect usage of a fieldset… If you don’t want these two fields to look as an isolated group of inputs, why have them inside a fieldset at all? Just have them as two separate inputs on the same “level” as “Hent innhold fra”.


Good point :slight_smile: