396a0cb3ac6ded32cc9e21a8158150e48f944abb
[OpenSRF.git] / doc / RELEASE_NOTES.txt
1 Release notes for OpenSRF 2.2.1
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 Changes in 2.2.2
13 ----------------
14
15 Support JSON::XS 3.0
16 ~~~~~~~~~~~~~~~~~~~~
17 Version 3.0 JSON::XS changed its internal representation of Boolean
18 values.  OpenSRF's JSON utility routines had been dependent on
19 details of that representation used by previous versions of
20 JSON::XS, but that dependency is now gone.
21
22 Protect subrequests from post-complete messages
23 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24 Subrequests (AKA method_lookup()-based API calls) sometimes append
25 final-lvalue responses to the response list even after
26 respond_complete() has been called from within the implementation
27 method.  OpenSRF now discards all post-respond_complete values,
28 protecting against extra, spurious values being returned to the
29 ultimate client.
30
31 Changes in 2.2.1
32 ----------------
33
34 Disable use of multipart/mixed XHR for most clients
35 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36 Due to Mozilla withdrawing support for multipart XHR responses from
37 Firefox as of version 22, multipart message support is now disabled
38 for all clients except the Evergreen staff client.
39
40 Default per-process client locale (Perl)
41 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42 A method was added to get and/or set the locale used by all new client
43 sessions for the current process.  This is primarily useful for
44 clients that wish to make a series of OpenSRF calls and don't wish to
45 set the locale for each new AppSession object.
46
47 Minor fixes
48 ~~~~~~~~~~~
49 One fix improves support for Debian testing while another resolves some
50 unitialized variable warnings.
51
52 New features in 2.2.0
53 ----------------------
54
55 Apache 2.4 support
56 ~~~~~~~~~~~~~~~~~~
57 OpenSRF now supports Apache 2.4.
58
59 Support graceful reload of Perl services via SIGHUP
60 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61 Sending a SIGHUP signal to the listener process of a Perl service will
62 now cause it to re-read the OpenSRF core configuration and respawn
63 its child processes.  This allows the log level of the service to be
64 changed on the fly.
65
66 Send Perl warnings to OpenSRF logs
67 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 Warning messages generated by `warn()` and `carp()` calls in Perl
69 services are now sent to the main OpenSRF log subsystem rather than
70 the `*_stderr.log` files.
71
72 Enable client logtrace with environment vars
73 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74 A new environment variable, `OSRF_LOG_CLIENT`, is now recognized which,
75 if set to true, enables control and generation of the client log trace
76 value.  This is the same as setting `<client>true</client>` within the 
77 OpenSRF core configuration file.
78
79 As a shortcut, if the `MOD_PERL` environment variable is set, assume
80 client=true.
81
82 This allows clients and non-clients to share an OpenSRF core
83 configuration file, when previously the only difference between the two
84 was the `<client>` setting.
85
86 Significant bugfixes in 2.2.0
87 -----------------------------
88
89 Eliminate CPU spikes caused by use of MultiSession
90 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91 The MultiSession module now blocks on the XMPP socket while waiting for
92 responses from the service requests it fires off rather than using
93 a CPU-intensive loop to poll for responses.
94
95
96 Fix Java client's parsing of OpenSRF core configuration
97 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98 This issue had prevented Java client library from successfully connecting
99 to an OpenSRF network.
100
101 Build improvements
102 ------------------
103 OpenSRF no longer uses `/opensrf` as a non-standard default installation
104 directory prefix, easing the task of packagers.
105
106 OpenSRF's Java libraries can now be built without requiring that
107 `src/Java/Makefile` be edited manually.
108
109 OpenSRF no longer incorrectly asserts a dependency on the RPC::XML Perl module.
110
111 Continuous integration support
112 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
113 An example configuration file for the http://buildbot.net/[Buildbot] continuous
114 integration server can be found in `examples/buildbot.cfg`. The most current
115 version of this file will always be found in the `master` branch of the OpenSRF
116 git repository.
117
118 The build steps configure and compile the code using the default arguments to
119 `configure`, as well as running the unit tests for C, Perl, and Python, and
120 running `pylint` against the Python source code.