1[Most recent at top]
2
3Release 0.7.1:
4 - Uses `CONFIG += ordered` in `main.pro`; enables parallelised make.
5
6Release 0.7.0:
7 - Got to compile vs Qt5.9.1 on Debian Stretch & Jessie; preparing for Qt5-only on Buster.
8 - Get rid of precompiled header use (more trouble than it's worth these days).
9 - Upgrade std::auto_ptr use to std::unique_ptr - cleans up compiler's deprecated warning spew.
10
11From release 0.6.3:
12 - Version to 0.6.4
13
14From release 0.6.2:
15 - Version to 0.6.3
16 - Files derived from USAGE (evolvotron.html and usage_text.h) are now under
17   svn control and no longer need to be generated as part of the build of a
18   fresh checkout.
19 - Migrated to new SourceForge platform.
20   Needed: svn switch --relocate https://evolvotron.svn.sourceforge.net/svnroot/evolvotron "svn+ssh://timday@svn.code.sf.net/p/evolvotron/code/"
21
22From release 0.6.1:
23 - Version to 0.6.2
24 - CHANGES renamed to NEWS
25 - License boilerplate managed using "headache"
26 - Add some "tartan" inspired functions.
27 - Add pixel/voxel/hex grid quantizing functions.
28 - Port command line options to boost::program_options,
29   rationalize commandline options.
30 - Fix to evolvotron_mutate from Pedro Gimeno.
31 - Update mkdeb script to work on squeeze
32 - Functions to be loaded on startup can be specified on the commandline.
33 - Add option to shuffle startup functions.
34
35From release 0.6.0:
36 - Version to 0.6.1
37 - Fix bug in saved functions: quotes missing around version attribute
38
39From release 0.5.1:
40 - Version to 0.6.0
41 - Switch to Qt4.
42 - (Qt4 related) keyboard shortcuts rationalized
43   many removed, ctrl-modifiers dropped
44 - (Qt4 related) image displays now have a frame around them
45 - (Qt4 related) Remove non-standard Qt animated PNG support
46 - evolvotron_match removed
47 - Platform specific code (e.g number of processors identification)
48   isolated in libevolvotron/platform_specific.[h|cpp]
49   and selected by PLATFORM_LINUX or PLATFORM_BSD
50   (Fink Qt's __DARWIN_X11__ also detected and used to select PLATFORM_BSD).
51 - Repository migrated to svn
52
53From release 0.5.0:
54 - Version to 0.5.1
55 - Replace not often used frontside heating/cooling buttons with autocooling mechanism.
56 - Separate tabs for info & license on "About" dialog.
57 - Better formatting of function properties dialog, and also shows XML function tree.
58 - Dialog with rendering controls
59 - Multisampling (antialiasing) options
60 - -a/-j/-s command line options for autocool/jitter/multisample
61 - evolvotron_render adds -j/-s to control jitter & multisampling
62 - Option (-E) of separate thread pool (with different nices: -n/-N) for enlargements.
63   Task totals for each reported separately.
64 - Enlargement and solo renderings are fragmented into multiple smaller
65   jobs to better utilize multiprocessor systems.
66 - Generally better use of ref-counted QImage and QPixmap.
67 - Middle-mouse drag adjustments flicker less.
68
69From release 0.4.0:
70 - Version to 0.5.0
71 - Lists of functions in alphabetic order.
72 - New FunctionTop always at top level.
73 - New functions: Frieze groups.
74 - Constantness of functions more conservative (less overrides) and hopefully less buggy.
75 - Final colour space transform range more constrained to keep colours sane.
76 - More sensible mutation of top level spatial transform (less arbitrary shearing).
77 - Note that above changes mean old saved functions will appear different.
78 - New mutation parameter: probability of a function's parameters being reset.
79 - Code clean up:
80   - More std::auto_ptr, boost::shared_ptr, boost::ptr_vector.  Code is now delete free.
81   - Get rid of hacked static function registration; uses auto-generated register_all_functions.
82 - Compute threads use QWaitCondition, not polling.
83 - Default number of threads is number of processors.
84 - Compute threads run at lower priority.
85 - -n <niceness> command line option to control compute thread priority.
86   (NB assumes Linux NPTL's non-Posix compliant behaviour of threads NOT sharing a common nice value;
87   see "man pthreads" on Linux.)
88 - About dialog displays number of threads.
89 - Use precompiled headers (build time 2m45s down to 1m45s).
90 - code_review script
91 - Set an icon on various dialogs and main frame.
92 - Add -D (function debug) massively weighting in favour of FunctionNoiseOneChannel.  Useful with -x/-X.
93 - Believed to fix Debian bug #436231 and gentoo #144160
94 - MutatableImage has serial number (fix problems caused by pointer value being wrongly used as equivalent)
95
96From release 0.3.1:
97 - Version to 0.4.0
98 - Lock state moved to mutatable image so is stored in undo history
99 - Mandelbrot & Julia set only in x,y plane.  Julia set uses fixed parameters.
100 - Add Juliabrot.
101 - Fix "Randomize" button on "All" functions tab.
102 - "Favourite" function dialog provides access to -x/-X command-line functionality
103 - Undo after reset works better
104 - Fix broken FunctionGradient.
105   Replace with GradientOfMagnitude, DivergenceOfMagnitude, Divergence, Curl
106 - Migrate float->double via typedef real
107 - Always builds with fullscreen option.
108
109From release 0.3.0:
110 - Version to 0.3.1
111 - Fix for gcc 3.4
112 - ./configure made (slightly) more robust
113
114From release 0.2.3:
115 - Version to 0.3.0
116 - Get rid of troublesome system call to ../VERSION
117   in common.pro and pass settings from configure script instead
118 - Add not-very-useful .qt-mng image file output format
119 - Add function stats to Properties dialog
120 - Add function simplification (more useful for debugging than anything)
121 - Don't use True and False in doc-building python script
122   (seems to be quite new thing, not in 2.1.x ?).  Use 0 and 1 instead.
123 - Internal changes
124 - Add pkg/debian .deb builder script (still under development)
125 - Fix buggy Y rotation matrix
126 - Eliminate template-tastic Tuple and Matrix classes.
127   Fix XYZ and Transform to not require them.
128 - evolvotron_mutate - -g option more likely to generate insteresting functions
129 - -linz and -spheremap options where appropriate
130 - evolvotron_match utility.
131 - New dialog for function weightings (not fully implemented)
132
133From release 0.2.2:
134 - Version to 0.2.3
135 - Break out USAGE file from README
136 - Add text_to_markup.py script to prettify USAGE file, used from configure
137 - Add quick reference and user manual accessible from help menu
138
139From release 0.2.1:
140 - Version to 0.2.2
141 - CPU type an option to ./configure (p3,p4,xp supported)
142 - Build option for fullscreen & menu-hiding modes (from keyboard or command-line)
143 - Fullscreen mode for "Big" image displays
144 - Change default grid to 6x5 (would sooner have fat than thin images)
145
146From release 0.2.0:
147 - Bump version to 0.2.1
148 - Display (not compute) priority to higher resolution images
149   (saves time enlarging low res images unnecessarily)
150 - Blank images on replacement (above change makes this more necessary)
151 - Round-robin dispatch of done tasks to displays means redisplay more balanced.
152 - -x and -X command line options to specify specifc top level function types.
153 - FunctionKaleidoscope*, FunctionWindmill*, FunctionSeparateZ added.
154 - More iterative functions also added: FunctionStreak Function*Ring
155 - Added -f <frames> option to evolvotron_render
156 - Internals: function framework changed (avoids FunctionNodeUsing::evaluate wrapper), speed improvement ?
157 - Internals: Type of top-level node can mutate, MutatableImage more sane.
158 - "Undo" keyboard accelerator works
159 - Per-image display "Properties" dialog added (placeholder)
160
161From release 0.1.4:
162 - Bump version to 0.2.0
163 - Filenames converted to/from QString using Qt's "local8Bit" codec.
164 - -f option specifies number of frames (default 1, which is the non-animated behaviour of previous versions)
165 - -r option specifies framerate of full-resolution animation (default 8, about the minimum to look smooth)
166 - Animations save to multiple files
167
168From release 0.1.3:
169 - Bump version to 0.1.4
170 - Function tree growth rate restored to pre-0.1.2 rates
171 - Both multiscale noise types counted as iterative as originally intended.
172 - "Substitute" mutation type added.
173
174From release 0.1.2:
175 - Bump version to 0.1.3
176 - Build lib and separate executables.  Use qmake "subdirs" at top level, move code into subdirs.
177 - Add evolvotron_render executable.
178 - Add evolvotron_mutate executable.
179 - Better Args class.
180 - Fix bug in FunctionAverageSamples
181 - Add noise class
182 - Add more functions.
183 - Use better random number generator (MT)
184 - Changes to initial setup probabilities, add chance of identity nodes front and back
185
186From release 0.1.1:
187 - Bump version to 0.1.2.  This is purely a bug-fix release.
188 - Gentoo compile bug fix (Karl Robillard)
189 - Disable implicit QString conversion (use explicit latin1() method).
190 - Workround "C++ static initializer fiasco" by moving problem static members
191   into instance-get methods.
192
193From release 0.1.0:
194 - Bump version to 0.1.1
195 - Grid size now defaults to 7x5
196 - More functions!
197
198From release 0.0.5:
199 - Bump version to 0.1.0
200 - Fix nasty bug in computers where a task could be delivered and deleted while
201   the compute thread was still setting state in it
202   (timing related so it never happened with ccmalloc and valgrind).
203 - Massive internal changes necessary for file save/load
204   (also makes adding functions easier)
205 - Save/load individual functions to XML
206 - configure checks QTDIR defined (biggest cause of build problems)
207
208From release 0.0.4
209 - Bump version to 0.0.5
210 - configure script #!/bin/* changed to sh from csh
211 - Release tar files now unpack to a ./evolvotron directory
212 - More "Big" size options
213 - Big image can create big images
214 - Big image's initial window size decided by Qt
215 - Spawn warped offers more specific controls (zoom/pan/rotate)
216 - Middle mouse button does stuff (pan/zoom/rotate/shear)
217 - Undo menu entry describes type of action which will be undone
218 - Closing a big image cleans up undo history appropriately
219 - Bug with assumed EvolotronMain/MutableImageDisplay destructor order fixed.
220
221From release 0.0.3:
222 - Bump version to 0.0.4
223 - More interesting start up functions
224 - More functions (e.g rotation and spirals, geometric inverse, iterated fns, fractals...)
225 - Controls to enable/disable expensive/ugly iterative and fractal functions (default off).
226 - Fix dumb bug in xy range of image
227   (makes everything generally behave a lot better; most noticeable with warp)
228 - "Identity supression" control which helps eliminate/reduces obvious origin centering.
229 - "Proportion constant" control (doesn't seem to have that much effect).
230 - Separate reset/restart functionality (reset also resets mutation parameters).
231 - Move Cool/Shield buttons to be adjacent (commonly used together).
232 - "is_constant" query method used to eliminate boring constant images.
233 - x&y co-ordinate alignment fixed (not something users would notice)
234 - Spawn warped made less messy: just generates translate/scale/rotate... no shearing.
235 - Reset clears locks / restart doesn't
236 - Gratuitously templatized tuple/matrix class added to help geometric transforms.
237 - Add "configure" script 'cos thats how lots of other apps do it.  Apparently.
238
239From release 0.0.2:
240 - Bump version to 0.0.3
241 - Add command line arg control of grid size and threads, don't override -geometry
242 - GUI control of mutation parameters
243 - "Respawn" regenerates a single display area using spawn/recolour/warp as appropriate.
244 - "Cancel" in file save dialog obeyed.
245 - "Insert" mutation type.
246 - "Undo" functionality.
247
248From release 0.0.1:
249 - Bump version to 0.0.2
250 - Switch to QMainWindow base in anticipation of toolbar.
251 - Save as PPM or PNG
252 - Scrollable fixed-size image "Big" windows.
253 - Improvements to app response under load.
254
255From release 0.0.0:
256 - Bump version to 0.0.1
257 - Add volatile to inter-thread communication flags
258 - Added a few more image node function types
259 - Add "spawn_recoloured"
260 - Add "spawn_warped"
261
262