summaryrefslogtreecommitdiff
path: root/libs/cassowary/NEWS
blob: 0f950dacefc9906c0dd789c8d097a0906369946c (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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
Cassowary NEWS -- history of user-visible changes. -*- text -*-

Cassowary Constraint Solving Toolkit was
Implemented by:

Greg J. Badros <gjb@cs.washington.edu> and
Alan Borning <borning@cs.washington.edu>
University of Washington
Computer Science and Engineering
Seattle, WA 98195-2350

with Constraint Drawing Applet (CDA) by Michael Noth <noth@cs.washington.edu>

12-March-2000: Version 0.60 released.
* Changed license to LGPL!!!
* Added SetAutoResetStayConstants(), FIsAutoResetStayConstants(), make ResetStayConstants() public

29-Jan-2000: Version 0.55 released.
* Some bug fixes
* Added ClSimplexSolver::{ChangeStrength,ChangeStrengthAndWeight,ChangeWeight,
                          DisplayObjective,ExternalResetStayConstants} fns
  From A. Beurivé.

16-Dec-1999: Version 0.54a released.
* Include correct version of OTI Smalltalk .dat file
  (the source in the *.app files was right, the .dat file was old)
* Fix java build bug

15-Dec-1999: Version 0.54 released.
* Bug fixes
* auto-configuration improvements
* Support Java 2 (jdk-1.2)
* Improved ease of building Java demos
* Build guile wrapper as long as guile-config works, use new --disable-guile-build to force off
* Alpha-version of Java constraint parser contributed by Will Portnoy

24-October-1999: Version 0.53 released.
* Bug fixes
* License exception for linking with Scwm.

25-September-1999: Version 0.52 released.
* Bug fix for nested edits where a later edit includes an already-being-edited variable

14-September-1999: Version 0.51 released.
* Minor bug fixes
* Much better packaging, RPMs, etc. more forced reliance on GTL

26-August-1999: Version 0.51 pre-releases begin

12-July-1999: Version 0.50 released.
* Made only C++ version build by default, --enable-java-build is needed to turn java on
* Added restricted finite domain solver
** needs --with-gtl configure option, and libGTL.{a,so*} to be installed
* Added ClSolver base class, and use its type for pointers in callbacks

14-Apr-1999: Version 0.43 released.
* DEBUG_PARSE turned off by default
* Added cassowary.spec for RPM building

31-Mar-1999: Version 0.42 released.
* Fixed autoconf bugs (.41 was a buggy release)
*  Added --disable-cpp-build,--disable-java-build, and disable Python/Guile builds
automatically if directories cannot be found

20-Mar-1999: Version 0.41 released.
* Fixed bug in autoconf support -- config.sub, config.guess to the
distribution so configure should actually work (they were symlinks
before, in error).

18-Mar-1999: Version 0.4 released.

18-Mar-1999: Changes since Cassowary v0.32 (for release v0.4)
* MUCH improved autoconf/automake support including numerous configure
options, added libtool support.  
* Renamed many identifiers in the public API;  this will break old code
using Cassowary.  See the scripts/convert-ids script for help converting
your code (beware false positives; i.e., improper or unnecessary
changes).


10-Mar-1999: Changes since Cassowary v0.31 (for release v0.32)
* Added automake/autoconf support.  Old Makefiles are now
Makefile.linux.  This is not yet fully tested or correct, but I need to
make a release now for the bug fixes.  Consider compiling with "make -f
Makefile.linux all" if you have problems running autoconf and/or
automake.

* Changes to C++
** Bug fix for problem Anthony Beurivé noticed regarding removing non-1
weight stay constraints.
** Minor bug fix for parser.  Also renamed the creader files to ClReader.

* Changes to Java
** Bug fix for problem Emmanuel Pietriga reported regarding edit
constraints.
** Improved debugging support a bit by adding descriptions to
ExCLInternalError-s and assert()s

* Changes to guile wrapper
** changed name of library to libcassowaryguile.a from libconstraints.a


1-Mar-1999: Changes since Cassowary v0.3 (for release v0.31)
* Changes to C++
** Some bug fixes -- pass ClVariable-s around by value instead of const
& since they are now a handle class.
** Changed output format for ClEditConstraint, ClStayConstraint instances
** Use a function-object for controlling lookup/creation of variables in PcnParseConstraint
** Fix bugs in creader.y parser (did not accept parens or division
before).  Introduced "==" as a a synonym for "="
** Added szCassowaryVersion id string as a public char *.
** Added ChangeStrength, ChangeWeight to ClConstraint's public
interface, and have it valid only when the constraint is not in a solver 
** Added ClConstraint::FIsInSolver()

* Changes to Guile wrapper
** Fix bugs
** Wrap parsing functionality, including a lambda for lookup/creation of 
variables
** Build a dynamically-loadable guile module, update cltests.scm to use it


23-Feb-1999: Version 0.3 released.

19-Feb-1999, Changes since Cassowary v0.23 (for release v0.3)

* Changes to Java and C++
** Bug fix for Michael Kaufmann's report (see ChangeLog for details)
** resolve(Vector..) procedure is now depracated;  preferred interface is
suggestValue(...) calls followed by resolve() (the one taking no
arguments).
** Added ClVariable::SetVarMap(..), ClVariable::VarMap() to permit
ClVariable ctr to save the mapping between given name and actual object
in a symbol table (used for parsing ascii expressions in C++ version)

* Changes to just C++ implementation
** Use ClVariable as a handle class to a ClAbstractVariable-- old
ClVariable is now a ClFloatVariable.  SetChangeClvCallback now takes a
function that takes a ClVariable handle, not a pointer.
** Passing ClConstraints's by const & is now deprecated -- pass by
pointer to the ClConstraint object
** Added creader.y, creader.l and function PcnParseConstraint(..) for
creating a constraint from an ASCII string.
** Added CL_NO_IO compile-time option to C++ version for preventing need
to link with the stream library (is not complete)
** Added CL_FIND_LEAK compile-time option for counting ctrs/dtr
invocations
** Added CL_USE_HASH_MAP compile-time option to permit using the GNU
hash_map class instead of the standard STL map (which is a sorted
associative container whose performance for lookups is logarithmic
rather than constant time).  Still does not work for me --02/16/99 gjb.

* Changes to just Java implementation (updated to match changes to C++
version for .2)
** Added {get,set}AttachedObject for ClVariable, ClConstant
** Permit access to ClSimplexSolver.ConstraintMap()
** Permit nested beginEdit()s and handle them correctly

* Miscellaneous changes
** Updated copyright to include 1999
** Fixed wrappers/Makefile for building Python wrapper
** Reference Anthony Beurivé's STk wrapper
** Fix Scwm URL


30-Jan-1999, Changes since Cassowary v0.22 (for release v0.23)
* Bug fix (see ChangeLog for details)


23-Jan-1999, Changes since Cassowary v0.21 (for release v0.22)
* Minor code cleanup, additions of comments.


14-Sep-98, Changes since Cassowary v0.2 (for release v0.21)

* Make compile cleanly using egcs-1.1b -- use typename, and drop
  unused templated instantiation

* Improved guile interface: add a void pointer to the solver objects,
  and let the guile wrapper use it to keep a pointer to the scheme-level
  object;  also added clv-attach! and clv-attached-object for attaching
  an object to a cl-variable (somewhat redundant with guile's
  object properties)

* Wrap ClStayConstraints so they can be managed explicitly

* cl-add-stay, cl-add-editvar now take strength and factor arguments,
  instead  of a list of cl-vars

* Added weight option to addEditVar


6-Aug-98, Changes since Cassowary v0.1 (for release v0.2):

* Changes to the distribution for release v0.2

** added guile/scheme wrapper of C++ version

** mention SCWM in README

** mention non-maintenance of Smalltalk implementation unless we have users

* Changes to the C++ and Java implementations

** Fixed several bugs -- dummy variables were wrongly being pivoted into
   the basis, and constraints that threw required failure exceptions
   were mistakenly remaining in the tableau (now trying to remove an
   exception that was not added because of a required-failure exception
   will correctly throw a ConstraintNotFound exception); more -- see ChangeLog

** Added a virtual change_value function to permit applications to watch 
   for changes made to external variables.

* Changes to only the C++ version (Java version will catch up in 0.3)

** Added new test cases to ClTests, fixed bugs in ClTestColumns

** Added _pv (void *) field hanging off of ClConstraint and ClVariable
   for associating arbitrary structs with those (needed by SCWM)

** Permit nested beginEdit()s, and do the right thing upon calling
   endEdit() -- i.e., not all the edit variables are removed, only the
   nested ones

** Permit access to ClSimplexSolver::ConstraintMap() (used by
   guile-wrapper to efficiently get at a list of constraints in the
   solver)

** Added ExCLEditMisuse exception