5 - 5.x runtime can be co-installed with the 4.x series.
6 - hkl.h contain all the Public API.
7 - A clear separation between the public and private API was
8 achieved, in order to propose a Long Time Support of the
10 - c-tap-hardness library was embeded to provide the unit test
12 - gobject-instrospection provide the binding support. Look at this
13 [[https://wiki.gnome.org/action/show/Projects/GObjectIntrospection][page]] for more informations.
14 - Documentation was generated with org-mode and asymptote for the figures.
15 - New diffractometers added
16 - E4CH (eulerian 4 circles horizontal) geometry.
17 - MARS beamline (SOLEIL) eulerian 4 circles vertical geometry.
19 - SOLEIL SIRIUS TURRET
20 - New Pseudo Axes engines.
22 - A not yet public hkl3d library used only by the gui allow to
23 compute (Bullet) and display (OpenGL) collision for model
24 described using the COLLADA file format.
25 - all private symbols are now hidden.
27 - add a --disable-hkl3d flag to avoid hkl3d library compilation.
28 - replace the --enable-ghkl with a --disable-gui.
29 - use ./configure --help for all the options
31 - Rewriten using Gtk instead of Gtkmm, in order to minimise the
32 required dependencies.
33 - Added a 3D view to display diffractometers and collisions.
34 - Added the K6C 3D model.
36 - Provide the garantie via unit tests that the python API will be
37 stable during all the 5.x lifetime.
38 - For other languages look at [[https://wiki.gnome.org/Projects/GObjectIntrospection/][here]].
41 * add the SOLEIL SIXS MED2+2 diffractometer
45 * add the SOLEIL MARS diffractometer
47 * add the PETRA3 P09 EH2 diffractometer
51 - add modes : hkl psi_constant_horizontal, constant_mu_horizontal
54 - add the constant_incidence mode
56 * add the sphinx documentation
59 * remove the usage.c file to avoid a GPL2-GPL3+ incompatibility
60 * update the documentation
61 * fix warning catched by clang
64 * add the ghkl manpage and .desktop file
65 * fix the ghkl quit menuitem bugs
68 * fix a few ghkl bugs (.ui files installation)
69 * add a --enable-ghkl=[yes,no] flag to allow compiling the gui interface
70 * do not forgot to link ghkl against gsl.
71 * display by default the preference panel of ghkl.
75 * add the autotools buildsystem and remove all other systems.
76 * add a GUI ghkl for testing purpose based on gtkmm.
77 * add the GNU info doc
78 * add the gtk-doc to document the api (work in progress)
79 * new structure for the HklDetector (prepare for 2D detectors)
80 * HklGeometryConfig shared between all equivalent HklGeometries.
81 * fix for 64 bits computers runtime error.
82 * add the GError class to report calculation errors (not yet used)
83 * new way to set the UB matrix of a sample (hkl_sample_set_UB).
86 - mode reflectivity (mu = gamma)
90 * add the psi_constant mode to the e4cv, e6c, k4cv and k6c geometries. (thanks teresa)
91 * upgrade the user guide to explain how to add a mode.
92 * the horizontal modes are also valid if omega = +-PI. (e6c, k6c)
93 * remove geometries with an invalid range from the list of solutions.
97 * Rewrote from scratch in C with the GSL library.
98 - now most of pseudo axes modes are numeric.
99 So a 6 circles mode is now a real 6 circles mode.
101 - PseudoAxisEngine "hkl": "h", "k", "l"
103 * Mode "constant_omega"
104 * Mode "constant_chi"
105 * Mode "constant_phi"
106 * Mode "double_diffraction"
107 - PseudoAxisEngine "psi": "psi"
110 - PseudoAxisEngine "hkl": "h", "k", "l"
112 * Mode "constant_omega"
113 * Mode "constant_chi"
114 * Mode "constant_phi"
115 * Mode "double_diffraction"
116 - PseudoAxisEngine "psi": "psi"
118 - PseudoAxisEngien "eulerians": "omega", "chi", "phi"
121 - PseudoAxisEngine "hkl": "h", "k", "l"
122 * Mode "bissector_vertical"
123 * Mode "constant_omega_vertical"
124 * Mode "constant_chi_vertical"
125 * Mode "constant_phi_vertical"
126 * Mode "double_diffraction_vertical"
127 * Mode "lifting_detector"
128 * Mode "bissector_horizontal"
129 * Mode "double_diffraction_horizontal"
130 - PseudoAxisEngine "psi": "psi"
133 - PseudoAxisEngine "hkl": "h", "k", "l"
134 * Mode "bissector_vertical"
135 * Mode "constant_omega_vertical"
136 * Mode "constant_chi_vertical"
137 * Mode "constant_phi_vertical"
138 * Mode "double_diffraction_vertical"
139 * Mode "lifting_detector"
140 * Mode "bissector_horizontal"
141 * Mode "constant_phi_horizontal"
142 * Mode "constant_kphi_horizontal"
143 * Mode "double_diffraction_horizontal"
144 - PseudoAxisEngine "psi": "psi"
146 - PseudoAxisEngien "eulerians": "omega", "chi", "phi"
151 * Refactoring of the sample part.
152 - It is now possible to create different kind of samples easily.
156 - Eulerian 6 Circles.
157 - kappa 4 Circles Vertical.
159 * Refactoring of the PseudoAxe part.
160 - Derived PseudoAxe can be created from an already existing PseudoAxe if the Geometry conversion exist.
161 - Better related PseudoAxes (ex Eulerians on a Kappa)
162 - The PseudoAxe is just a interface, computation is done by the PseudoAxeEngine.
163 - Eulerian 4 Circles Vertical
164 - "th2th" : derived from the twoC
165 - "q2th" : derived from the twoC
166 - "q" : derived from the twoC
167 - kappa 4 Circles Vertical
168 - "omega", "chi", "phi" : eulerian 4 circles Vertical pseudoAxes.
169 - "th2th" : derived from the twoC
170 - "q2th" : derived from the twoC
171 - "q" : derived from the twoC
172 - "psi" : derived from the Eulerian 4 Circlers Vertical.
173 - Eulerian 6 Circles:
175 - "q" : 2 * tau * sin(theta) / lambda
176 - "psi" : derived from the Eulerian 4 Circlers Vertical.
178 - "omega", "chi", "phi" : derived from the Kappa 4 Circles Vertical.
179 - "tth" derived from the Eulerian6C.
180 - "q" derived from the Eulerian6C.
181 - "psi" : derived from the Eulerian 4 Circlers Vertical.
183 * Refactoring of the Modes.
184 - Derived Mode can be created from an already existing Mode if the Geometry conversion exist.
185 - all Eulerian 4 Circles on the kappa4C, Eulerian6c and Kappa6C diffractometers.
191 - Eulerian 4 Circles Vertical.
196 - "th2th": omega - 2theta (domega = d2theta / 2)
197 - "q2th" : omega - 2theta (domega = d2theta / 2) but q2th = 2 tau sin(theta) / lambda
198 - "q" : 2 * tau * sin(theta) / lambda
199 - Eulerian 4 Circles Vertical
200 - "th2th": omega - 2theta (domega = d2theta / 2)
201 - "q2th" : omega - 2theta (domega = d2theta / 2) but q2th = 2 tau sin(theta) / lambda
202 - "q" : 2 * tau * sin(theta) / lambda
203 - "psi" : Rotation of the sample oaround the Q vector.
207 - "symetric" (omega = theta, 2theta = 2 * theta)
208 - "fix incidence" (omega = free, 2theta = 2 * theta)
209 - Eulerian 4 circles:
216 - all Eulerian 4 Circles modes.