]> git.evergreen-ils.org Git - OpenSRF.git/blob - doc/RELEASE_NOTES.txt
fix typos in the release notes
[OpenSRF.git] / doc / RELEASE_NOTES.txt
1 Release notes for OpenSRF 2.3.0-rc
2 ==================================
3
4 Supported platforms
5 -------------------
6 The following Linux distributions are supported:
7
8   * Debian 6 (Squeeze) and 7 (Wheezy)
9   * Fedora 17, 18
10   * Ubuntu 10.04 LTS (Lucid Lynx), 12.04 LTS (Precise Pangolin)
11
12 New features in 2.3.0
13 ---------------------
14
15 New control script
16 ~~~~~~~~~~~~~~~~~~
17 OpenSRF 2.3.0 introduces a new control script, `osrf_control`.
18 The previous control script, `osrf_ctl.sh`, is deprecated.
19
20 `osrf_control` provides fine-grained control for starting and
21 stopping services all at once or individually; service stops can be
22 graceful, fast, or immediate.
23
24 `osrf_control` also provides a new `--diagnostic` option to supply
25 useful information about running services, including uptime, the PID
26 of the listener, and the number of drone processes.
27
28 For a complete list of options, run `osrf_control --help`.
29
30 New signals for controlling OpenSRF processes
31 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32 OpenSRF 2.3.0 adds support for using the following signals to manage
33 processes:
34
35 * `SIGTERM` -- graceful shutdown. When this signal is sent to a
36   listener, unregisters it from its routers, waits for its drones to
37   finish servicing their active requests, then stops the drones and
38   itself.
39 * `SIGUSR1` -- router unregister. When this signal is sent to a
40   listener, unregisters it from its routers.
41 * `SIGUSR2` -- router re-register. When this signal is sent to a
42   listener, registers it with its routers.
43 * `SIGHUP` -- reload core configuration and refresh drones. When sent
44   to a listener, causes it to reload the `opensrf_core.xml` configuration,
45   update the logging level, reap idle drones and putting active drones
46   on a list to be terminated when they finish their current requests,
47   then spawns new drones.  This allows the logging level to be changed
48   as well as freeing memory used by long-running or leaky drones.
49
50 Typically one would not send these signals directly, but instead use
51 `osrf_control`.
52
53 As part of this change, services written in C now have a per-service
54 listener process rather than a single master process for all C services.
55
56 Ability to run multiple OpenSRF instances simultaneously
57 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58 When starting services using `osrf_control` in the case where no PID
59 files exist, the `--ignore-orphans` switch can be used to make it
60 ignore the presence of other running OpenSRF router and service
61 processes.  Otherwise, if the `--ignore-orphans` switch is not used,
62 `osrf_control` will either refuse to start the service(s) or will
63 require that `--force-clean-process` be used to kill any running
64 OpenSRF processes first.
65
66 In other words, `--ignore-orphans` means that `osrf_control` can be used
67 to manage the operation of multiple running OpenSRF instances on a
68 single server, each with its own PID directory and core configuration.
69
70 Add option to opensrf.settings methods to force rereading of opensrf.xml
71 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72 The following methods in `opensrf.settings` now accept Boolean
73 reload parameter as the last argument. If set, the `opensrf.xml`
74 file will be reread prior to responding with the requested settings.
75
76 * `opensrf.settings.host_config.get`
77 * `opensrf.settings.default_config.get`
78 * `opensrf.settings.xpath.get`
79 * `opensrf.settings.xpath.get.raw`
80
81 Bugfixes in 2.3.0
82 -----------------
83
84 Better detect disconnections from the Jabber server (LP#1258251)
85 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86 The Perl XMPP client code now better detects when it has lost its
87 connection to the Jabber server, thereby improving its ability to
88 attempt to reconnect.
89
90 Improved Python support (LP#1066131 and LP#1155446)
91 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92 `srfsh.py` no longer assumes that it is running on a private domain,
93 and can now run on non-private networks.
94
95 The dependencies required for the Python test suite to pass are now
96 installed by default on Debian and Ubuntu.
97
98 Logging improvements (LP#1170484 and LP#1284137)
99 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
100 The failure to load a shared library required by a service written in
101 C is now logged as an error rather than just a warning.
102
103 Certain events that typically occur when a router has been signaled to
104 shut down are no longer logged as warnings.