# Opal 4.2 released

**URL:** https://datashield.discourse.group/t/opal-4-2-released/423
**Category:** Releases
**Created:** [20 July 2021 08:23 UTC](https://datashield.discourse.group/t/opal-4-2-released/423 "2021-07-20T08:23:07Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![yannick](https://yyz2.discourse-cdn.com/free1/user_avatar/datashield.discourse.group/yannick/32/19_2.png) [@yannick](https://datashield.discourse.group/u/yannick)
#### Post date: [20 July 2021 08:23 UTC](https://datashield.discourse.group/t/opal-4-2-released/423/1 "2021-07-20T08:23:07Z")

</div>

Hi,

Opal 4.2 has been released. This version introduces [R server clusters and DataSHIELD Profiles](https://opaldoc.obiba.org/en/latest/admin/rserver.html): Opal can now connect to different R servers (different R versions, different R packages installed).

A DataSHIELD profile:

- links to a R server cluster
- defines a DataSHIELD configuration (allowed functions and R options)
- can be restricted to some users/groups.

This is **a major feature addition for making reproducible science**. It solves the needs of:

- having different R server packages versions,
- facilitating base R upgrade,
- restricting access to packages in development.

 ![DS profiles](https://global.discourse-cdn.com/free1/uploads/datashield1/original/1X/476ce1c03d156f17309dadbabe0ed08f226b3355.png)

Combined with [containerized R servers](https://rockdoc.obiba.org/en/latest/admin/installation.html#docker-image-installation), it is now easy to have several different R servers running in parallel and connected to the same Opal application. For DataSHIELD usage, the [datashield/rock-base](https://hub.docker.com/r/datashield/rock-base) images are the recommended R servers with `dsBase` package installed and can be used to build even more specific images.

DataSHIELD profiles can be declared at login time. To enable the profiles feature, latest client-side R packages [DSI (1.3.0)](https://datashield.github.io/DSI/), [DSOpal (1.3.0)](https://datashield.github.io/DSOpal/) and [opalr (3.0.0)](https://www.obiba.org/opalr/) are required (and are backward compatible).

Connecting to a DataSHIELD profile only requires to declare the profile name. As an example, [opal-demo.obiba.org](http://opal-demo.obiba.org) server has the profiles `default`, `exposome`, `omics`, `geo` and `survival`:

```auto
library(DSOpal)

# declare login data with profile info
builder <- DSI::newDSLoginBuilder()
builder$append(server = "s1", 
               user = "dsuser", password = "password", 
               url = "https://opal-demo.obiba.org", 
               profile = "omics")
# profile parameter is optional ("default" is default value)
builder$append(server = "s2", 
               user = "dsuser", password = "password", 
               url = "https://opal-demo.obiba.org")
logindata <- builder$build()

conns <- datashield.login(logindata)

# list available profiles and current ones
datashield.profiles(conns)

# list packages in the current profiles
datashield.pkg_status(conns)

# list aggregate methods in the current profiles
datashield.method_status(conns, type = "aggregate")

datashield.logout(conns)

```

For DataSHIELD node administrators, profiles can be managed using R: see [DataSHIELD Administration](https://www.obiba.org/opalr/articles/datashield-admin.html) documentation.

This Opal release also comes with the new version of “R parser” that forbids subsets with brackets `[]`, contact @swheater for more details.

See the complete [release note](https://www.obiba.org/pages/news/release/opal/4.2/).

Regards  
Yannick
