# Lyo 2.4.0 release notes 🎉
## Short summary
Migration to Github is complete; Lyo now supports JSON-LD and Turtle; Lyo Designer generates OpenAPI/Swagger docs and adds modelling support for SHACL shapes. Lyo 2.4 is expected to be the last 2.x release. We also make a switch to a [better changelog convention](https://keepachangelog.com/en/1.0.0/).
## ✨ Added
- JSON-LD support has been added to Lyo Core. Thanks to Ricardo Javier Herrera Ledesma from Koneksys for his effort!
- Lyo Designer now allows modelling SHACL shapes. Code generation of SHACL shapes has not been implemented yet. If this is something you need, get in touch! Thanks to Yash Khatri from SCANIA for this contribution.
- Lyo Designer now allows to generate OpenAPI/Swagger documentation for your OSLC Server; see the details below. Thanks to Jad El-khoury and SCANIA for this contribution.
- Turtle support is now turned on by default in Lyo Designer for the generated code.
- [Support for OSLC Query](https://github.com/eclipse/lyo.store/issues/28) has been added to Lyo Store. Thanks to Jad El-khoury and SCANIA for this contribution.
- OpenJDK 11 has been added to the test matrix for most repos. JDK 11 is not yet supported officially, however.
- A [lyo](https://github.com/eclipse/lyo) repository has been added to manage all cross-cutting issues that span multiple repos.
- [Kotlin](https://kotlinlang.org) is now used for unit tests in Lyo Core.
To begin generating docs yourself, head over to the [page on Lyo wiki](https://wiki.eclipse.org/Lyo/creating_OSLC4J_project#OpenApi.2FSwagger_Support_.28Optional.29).
## 🔥 Changed
- Lyo Core now depends on Jena 3.6 (Lyo 2.3 depends on Jena 3.0.1 and that was a braking change). This was needed to add support for JSON-LD.
- Lyo Designer no longer alters your identifiers. Shapes using spaces in their titles are affected.
- Lyo Designer now relies on Sirius 5. No breaking changes to the functionality of Lyo Designer have been introduced as a result of this change.
- Lyo Validation is not a part of this release in order to preserve the Type B (full IP check). Its dependencies have only passed Type A (license checks only) from the Eclipse IP team. Version 0.2.0.RC is published along this release but is not part of it. Validation has also [changed its group ID](https://github.com/eclipse/lyo.validation/issues/24) as part of the process.
- All repos have been migrated over to Github. You can get an overview of all projects [here](https://github.com/eclipse/lyo).
- As part of the migration, the folder layout has been updated to use the same directory names as the artefact IDs.
- The following artefacts have been moved across repositories:
- `oslc4j-registry` (from Core to to Server)
- `oslc4j-wink` (from Core to to Server)
- `oslc4j-stockquote-sample` (from Core to to [OSLC/lyo-samples](https://github.com/OSLC/lyo-samples))
- `oslc4j-test-sample` (from Core to to [OSLC/lyo-samples](https://github.com/OSLC/lyo-samples))
- `oslc-java-samples` (from Client to [OSLC/lyo-samples](https://github.com/OSLC/lyo-samples))
- `oauth-test` (from Client to [OSLC/lyo-samples](https://github.com/OSLC/lyo-samples))
- `OSLCSharepoint` (from Server to to [OSLC/lyo-samples](https://github.com/OSLC/lyo-samples))
- `hudson-oslc-auto` (from Server to to [OSLC/lyo-samples](https://github.com/OSLC/lyo-samples))
- `org.eclipse.lyo.samples.excel` (from Server to to [OSLC/lyo-samples](https://github.com/OSLC/lyo-samples))
- `oslc4j-bugzilla-sample` (from Docs to to [OSLC/lyo-samples](https://github.com/OSLC/lyo-samples))
- `trs4j-bugzilla-sample` (from Docs to to [OSLC/lyo-samples](https://github.com/OSLC/lyo-samples))
- [Accept any kind of Sets, return HashSets · Issue #15 · eclipse/lyo.designer](https://github.com/eclipse/lyo.designer/issues/15)
## 👋 Deprecated
- HTML-related methods in the resource classes. Generator will not produce them in the next major version of Lyo.
- Wink support is deprecated and will be replaced with Jersey in the next major release
- Perl client is no longer maintained and will be removed in the next major release
## 🗑️ Removed
No removals were done that materially affect the artefacts that are part of the release. Lyo 2.4.0 versioning adheres to [Semantic Versioning 2.0.0](https://semver.org) (but earlier 2.x releases of Lyo have introduced certain braking changes, such as the upgrade to Jena 3 in Lyo 2.3).
[Bug 532688](https://bugs.eclipse.org/bugs/show_bug.cgi?id=532688) removes support for [Window Name protocol](https://archive.open-services.net/wiki/core/Delegated-User-Interface-Dialogs-3.0/#Window-Name-Protocol) for Delegated UI communication. The feature has been broken at least since 2.1.0 and contained potential security vulnerability as reported by Rahul Singh (IBM). IE11+ and all modern browsers support the Post Message protocol. **NB!** If you are still using Window Name protocol, get in touch (details are at the bottom).
Lyo Designer 2.4 no longer supports Eclipse Neon (released on June 22, 2016) and older releases.
Most of the sample code have been moved to the [OSLC/lyo-samples](https://github.com/OSLC/lyo-samples) repository. Note that the sample code has not been part of the released artefacts previously.
## 🐜 Fixed
- [Bug 533213 - rdf:Seq deserialization in JMH contains no elements by neormx · Pull Request #14 · eclipse/lyo.core](https://github.com/eclipse/lyo.core/pull/14)
- [529618 – Override all OslcClient#getResource(...) in OslcOAuthClient](https://bugs.eclipse.org/bugs/show_bug.cgi?id=529618)
- [When classes & property names use reserve names, RDF names get messed up too · Issue #18 · eclipse/lyo.designer](https://github.com/eclipse/lyo.designer/issues/18)
- [AdaptorInterface palette labels should lose the prefix · Issue #19 · eclipse/lyo.designer](https://github.com/eclipse/lyo.designer/issues/19)
- [Ambiguous methods created for the Creation Factory in the Mgr class · Issue #24 · eclipse/lyo.designer](https://github.com/eclipse/lyo.designer/issues/24)
- [Extra semicolon inserted in the SP Info class if the instance id was customised · Issue #36 · eclipse/lyo.designer](https://github.com/eclipse/lyo.designer/issues/36)
- [asking for a resource/subject with a URI that does not exist in teh store causes an exception · Issue #31 · eclipse/lyo.store](https://github.com/eclipse/lyo.store/issues/31)
- [Get 1st level blank nodes along with referencing resource. · Issue #24 · eclipse/lyo.store](https://github.com/eclipse/lyo.store/issues/24)
- [Exception caused when creating an oslc-shape out of the shacl-shape class annotations - using JMH · Issue #16 · eclipse/lyo.validation](https://github.com/eclipse/lyo.validation/issues/16)
- [Fix datatype of ShaclIn · Issue #17 · eclipse/lyo.validation](https://github.com/eclipse/lyo.validation/issues/17)
## 🔐 Security
A potential XSS vulnerability in the OSLC Creation and Selection dialogs have been fixed in [Bug 532687](https://bugs.eclipse.org/bugs/show_bug.cgi?id=532687). Thanks to Rahul Singh from IBM for disclosure. Also, there was a potential XSS vulnerability in the broken Window Name protocol implementation; the support for it has been removed as described above.
## 🙋 Get in touch
We value you feedback! The best place to share it is the [Lyo forum on the open-services.net](https://forum.open-services.net/c/sdks/lyo) but a few other places work as well (though we are [in process](https://github.com/eclipse/lyo/issues/6) of winding most of them down)! You are also welcome to comment on [Lyo 4.0 roadmap](https://docs.google.com/document/d/1sPEuunUqg2PKt7GYCACv1IdCIAeZl6vVeDf2vwiNgy8/edit?usp=sharing) draft!
**Lyo no longer uses Eclipse Bugzilla for issue management.** Please file any issues directly on the Github repositories.
## Other information
**Release date:** 2018-11-25 (release review approved on 2018-11-21).
- [Lyo 2.4 official release page on Eclipse](https://projects.eclipse.org/projects/technology.lyo/releases/2.4.0)
- [Lyo 2.4 release issue on Github](https://github.com/eclipse/lyo/issues/2)
- [Lyo 2.4 roadmap](https://docs.google.com/document/d/e/2PACX-1vQhT2IE6F13TCsSK-WHwwSIYDWRiktaw9qwjmGow9TGc0VraoNhEbWmyc9QEeSPhW-SBDIKdXhwhdTO/pub)