aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG
blob: 244efe5b16e360859f9194c0649ad04bcfc14eff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
lmfit-6.1, released 2dec15:

- docs:
  - new man page lmfit(7)
  - 'BUGS' section in man pages
- code cleanup:
  - lmcurve_tyd in separate source file

lmfit-6.0, released 24nov15:

- API changes:
  - a few more 'const' qualifiers in lmmin and lmcurve.
  - new wrapper function lmcurve_tyd, for use in GROMACS
- code cleanup:
  - further unify code layout
  - use temporary variable for readability in lmcurve (suggested by T. Klauser)

lmfit-5.3, released 24nov15:

- autotools:
  - set default optimization -O3
- monitoring:
  - detect if norm is not finite, new outcome code 12 = "found nan"
  - print parameters before invoking callback functiion
- docs:
  - correct typo in lmmin(3)
- code cleanup:
  - uniform code layout, starting from clang-format
  - correct and improve comments, especially in qrfac
  - uppercase matrix names
- testing:
  - new unit test directory test/, for development purposes only

lmfit-5.2, released 23oct14:

- bug fix:
  - correct man page (5.0 API change)
- acceleration(?):
  - revert to just one malloc for all workspaces, now based on a char array

lmfit-5.1, released 29aug13:

- bug fix:
  - FILE** initialization from &stdout was not standard compliant
    (report by Jan Krieger, cf http://stackoverflow.com/questions/18505530);
    now FILE* initialized to NULL
- code cleanup:
  - better wrapper for "extern C" declaration

lmfit-5.0, released 9aug13:

- API changes:
  - removed callback function for printout
  - removed control structure for printout; some par's go to lm_control_struct
  - pivoting can no longer be switched off
  - from now on, addition of par's to lm_control_struct is not an API change
- bug fix:
  - correct memory leak introduced by reversal of mallock trick
  - restore default scale_diag=1
- monitoring:
  - improved text messages ("success" -> "converged", we should not say more)
- demo: reworked examples
  - new example nonlin1: solution of 2 nonlinear equations in 2 variables
  - example surface1 improved and included in man page lmmin(3)
  - otherwise testsuite started as new project fittest
- packaging: configure now supports pkg-config

lmfit-4.0, released 16jul13:

- binary library renamed: lmmin -> lmfit
- API changes:
  - lmcurve.h no longer depends on lmmin.h, but only on new lmstruct.h
  - low-level API lmdif is removed (code integrated in lmmin)
  - lmcurve_fit -> lmcurve
  - new control parameter 'pivot' (default: pivoting is used, as before)
  - new structure lm_princon_struct, generalizing printflags
  - in consequence thereof, new parameter lists for lmcurve and lmmin
- code cleanup:
  - ensure strict C90 compliance: no C++ comments; replace non-standard
    struct assignement (reported by Elio Mazzocca, using LCC)
  - revert malloc trick of release 3.4 (readability is more important)
  - source code comment blocks moved around, to reduce duplications
- build scripts cleanup:
  - demo programs are no longer installed to $bindir
  - configure.ac: cleaned up, and inserted comments
- documentation:
  - new web location: apps.jcns.fz-juelich.de/lmfit
  - new entry page (dokuwiki) instead of man page
  - man page split and largely rewritten: lmcurve(3), lmmin(3)

lmfit-3.5, released 3feb13:

- changed overall license to FreeBSD to facilitate inclusion in Linux
  distributions (request by M. Hroncok)
- directory doc renamed man

lmfit-3.4, released 21jan13:

- only one malloc call to allocate all arrays (proposal by F. Polchow)
- liblmmin_la_LDFLAGS += -lm (required by Ubuntu, report by J. M. Agosta)
- there is now an alternative ruby binding, using inline instead of swig
  (contribution by I. Drozdov)
- long message for degenerate case now suggests increasing epsilon
  (suggestion by Nghia Ho)

lmfit-3.3, released 12sep12:

- moved "int" declarations to top of lm_printout_std() and lmmin()
  (required by Visual Studio 2005: bug report M. Beek)
- corrected typo 0.55 -> 0.5 (bug reports M. Kardas and D. Pescia)
- man pages now produced by make; finally got rid of dmake
- untabified code (hint by W. Pimenta)

lmfit-3.2, released 28mar10 (preview 27mar10):

- shared library is given correct version number (set in configure.ac)
- man page lmfit(3) is copied by dmake to lmmin(3) and lmcurve_fit(3)

lmfit-3.1, released 12mar10:

- debian directory not part of tgz distribution
- temporarily removed lmmin.3 (was symlink -> lmfit.3)

lmfit-3.0, released 2mar10 (preview 27feb10):

- for parameter close to zero, change step width for calculation of jabobian
- outer iteration counter starting at zero (C style)
- replace BUG by LMFIT_DEBUG_MESSAGES and .._MATRIX to allow control by -D
- remove redundant calculation by exchanging workspaces and lm_lmpar output
- eliminate unncessary wa1 = -wa1 computation
- avoid passing wa3 to wa1, choose better names for work arrays in lm_par
- migrate documentation from brain-damaged asciidoc to pod
- rewrote interface documentation
- API changes:
  -- eliminate lm_initialize_control, provide defaults for float and double
  -- separate limits and status records
  -- separate generic minimization and one-dimensional curve fitting
  -- simplify the latter
- replace curve-fitting demo
- provide surface-fitting demo (correspondence M. Rudolphi)
- provide vector minimization demos
- test for fnorm<=LM_DWARF, renumbered info values 0, 10, 11

lmfit-2.6, released 29sep09:

- nfev incrementation even if printout=0 (bug report C. Tanner)
- correct t->tvec, y->yvec in man page  (bug report C. Tanner)

lmfit-2.5, released 20sep09:

- malloc==NULL ? (suggestion R. Strickland)
- allow printout=NULL (suggestion J. Lodewyck)
- improve infmsg (correspondence B. McHoull)
- eliminate some static variables (p25, p5, p75, ..)
- eliminate function data types; they obscure more than they help

lmfit-2.4, released 27jul08:

- clearer file headers
- clearer licence (everything has ever been in the public domain)
- machine-dependent arithmetic constants from float.h (suggestion M. Bydder)
- minor improvements of comments

lmfit-2.3, released 5apr08:

- fixed bug sf#1817631: replaced confusing variable names in lmmin.c:lm_qrsolv()
- accepted feature request 1814970: inclusion protection in headers
- accepted feature request 1814976: cplusplus wrapper in headers
- fixed bug sf#1868399: typos in debug messages
- accepted proposal from M. Bydder:
     improved calculation of differences in lmmin, lines 415-417
- reverted comments in lmmin.c to pure C style
- improved documentation of interfaces

lmfit-2.2, released 20sep07:

- no change log has been maintained,
  there are just the sourceforge release notes