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