CHANGES.md 4.51 KB
Newer Older
1
2
# Notable Changes in StatET RJ

Stephan Wahlbrink's avatar
Stephan Wahlbrink committed
3

4
5
## RJ 4.5.0 ~ StatET 4.5.0

6
7
### Services

8
9
10
11
12
13
14
15
16
17
  * The data access for tool command handler is enhanced. Implementations of handlers need to be
    adapted.
    
    `ToolCommandHandler` uses `ToolCommandData` instead of a map for the data exchange providing
    access to the raw data (RJObject for RJ) and more flexible, dynamic data conversion to Java
    types. `ToolCommandHandlerUtils` is removed since the functionality is integrated in the new
    tool command data class.
    
    (Bug 574779)

18
19
20
21
22
23
24
25
26
### RServi Node and Pool

  * The configuration and pool API is migrated to make use of `java.time`. Timestamps are
    represented by `Instant` and durations like timeouts by `Duration`, except in MXBeans.
    In the config classes also some related properties are renamed to more meaningful names.
    For property accessors, which still use long for timestamps and durations, the postfix `Millis`
    is added to their names.
    Applications need to be adapted. (Bug 576774)

27

Stephan Wahlbrink's avatar
Stephan Wahlbrink committed
28
29
## RJ 4.4.0 ~ StatET 4.4.0

30
31
### RServi Pool

32
33
34
  * The enum of pool node states (`PoolNodeState`) has the additional state DISPOSING for nodes
    marked for disposal but not yet DISPOSED. (Bug 572191)

Stephan Wahlbrink's avatar
Stephan Wahlbrink committed
35

Stephan Wahlbrink's avatar
Stephan Wahlbrink committed
36
37
## RJ 4.3.0 ~ StatET 4.3.0

38
39
40
41
42
43
44
45
### General

  * All bundles and distributions of StatET require a Java runtime environment version 11 or
    greater.
    
    All bundles provide an automatic module name identical to their bundle id for use with the Java
    Platform Module System (JPMS).

46
47
48
49
50
### Data

  * The data store interfaces RLogicalStore, RIntegerStore and RRawStore provide constants for
    special values like minimum and maximum. (Bug 568187, Bug 568190)

51
52
53
54
55
### RServi Pool

  * The pool detects "lost" clients (e.g. clients which crashed or lost the network connection to
    the pool server) again. (Bug 567221)

Stephan Wahlbrink's avatar
Stephan Wahlbrink committed
56

57
58
59
60
61
62
63
64
65
66
67
68
69
70
## RJ 4.2.0 ~ StatET 4.2.0

### Setup

  * The `AppEnvironment` is enhanced and provides bundle resolution now. `RJContext` uses the
    AppEnvironment for bundle resolution by default. Applications need to be adapted.
    
    The bundle `org.eclipse.statet.jcommons.util` provides tools for bundle resolution in different
    types of application.
    Automatic setup of the application environment is supported for
      - Applications based on Eclipse Platform: fully automated
      - Common "simple" Java applications: use CommonsRuntime.check with `autoInit= true`
    
    (Bug 561121)
71
72
73
    
  * The package `org.eclipse.statet.jcommons.status.util` provides implementation of `StatusLogger`
    for the Java-Util Logging and Apache Commons Logging framework. (Bug 561123)
74
75


76
77
78
79
80
81
82
83
## RJ 4.1.0 ~ StatET 4.1.0

### Setup

  * The `RJContext` for default startup of Java based RJ servers changes. Applications which use
    `RJContext.searchRJLibs` directly or extends the class need to be adapted. (Bug 559616)


84
## RJ 4.0.0 ~ StatET 4.0.0
85
86
87
88
89

### General

  * All bundles require the bundle `org.eclipse.statet.jcommons.util`.

90
91
92
93
94
95
96
97
98
99
  * All bundles, except bundles of eclient, no longer depends on Eclipse Platform. This includes
    that bundles of ecommons or an 'eruntime' bundle are no longer required.
    
    This causes various changes in the method signatures of the API. New relevant packages are:
      - `org.eclipse.statet.jcommons.status`
      - `org.eclipse.statet.jcommons.runtime`
      - `org.eclipse.statet.jcommons.rmi`
    
    (Bug 541656)

Stephan Wahlbrink's avatar
Stephan Wahlbrink committed
100
101
102
103
  * Large parts of the API provide nullable annotations. (Bug 539045)

### Services

104
105
106
  * `ToolService` and `RToolService` no longer depends on Eclipse Platform and moved to
    `org.eclipse.statet.jcommons.ts` respectively `org.eclipse.statet.rj.ts.core`.

107
108
109
  * The new method `RService.findData` finds the first object with a specified name in environments
    and returns a fully qualified object with the object itself and the environment where the object
    is found. (Bug 540153)
110

Stephan Wahlbrink's avatar
Stephan Wahlbrink committed
111
112
113
114
115
  * The packages `org.eclipse.statet.env.*` provide common classes for R environment and R pkg
    management as known from the StatET IDE.

### Setup

116
117
118
  * The newly introduced system property `org.eclipse.statet.rj.server.TcpPort` allows to configure
    the TCP ports used by RJ servers. The range must be specified by a value `<min>-<max>`, e.g.
    `org.eclipse.statet.rj.server.TcpPort=40100-40200`. (Bug 540256)
119

120
121
122
123
124
125
  * The `RJContext` for default startup of Java based RJ servers is more flexible now:
      - It works with `PathEntry` instead of string path providing better support of local path as
        well as URLs, including URIs of nested JAR files.
      - It detects more common bundle filename patterns.
    
    (Bug 541791)