0.6.0 (2010-10-4)
-----------------
- feature: added selection_cut model (although it still needs some tweaking)
- feature: added new ini options for heuristic algorithms plus genetic algorithmand simulated annealing methods
- feature: operation model data type results can now be existing child level objects
- feature: added selection_cut model to operation library
- feature: new aggregation models (get_value_from_sorted_max_object_with_filter and get_value_from_max_object_with_filter) added
- feature: operation results can now return data-array instead of just scalars
- feature: operation result variable type added
- feature: operation models can now return also date arrays
- feature: carbon models (yasso, product lifecycle)
- feature: added branching logic control (free_branching) to branching group level
- feature: branching logic is now controlled at branching_group level
- feature: added inventory error models
- feature: added the change of carbon stock in trees
- feature: possibility to keep optimization data file, data file named after used optimization task
- feature: added new ornstein-uhlenbeck stochastic price model
- feature: added a stem bucking + pricematrix cache to operation models (cache disabled by default, cache location configured in ini)
- feature: added -d option for runner to fall to pdb stack after exception
- feature: log debug level messages for comp_unit ids being simulated
- feature: added thinning with remaining_ba (thinning_with_removed_volume includes now both alternatives: removed v and remaining ba as steering variables). if both exists ba is used.
- feature: optimizer now logs the total utility and subobjective values

- change: 10x increase in the speed of heuristic optimizers
- change: negative value for max_error_count_total in ini: no simulation termination 
- change: removed global_error_count from ini
- change: added translations for some error messages
- change: iteration added as a built-in attribute
- change: random_values options removed
- change: documentation overhaul to cover more of SIMO
- change: more info output from optimization data construction phase
- change: changed the datatypes of optimal level values and return values from numpy arrays to floats
- change: long heuristic algorithm names changed to abbreviations
- change: growth prediction error chains restructured, autocorrelation term removed and error rectification limits removed
- change: additional restructuring of stand simulator model chains
- change: re-organization of model library source and header files, prediction_model.xml divided based on dlls (one xml to every dll)
- change: now uses dll.ini to config what dlls to build
- change: optimization related db index creation moved to the beginning of optimization run
- change: it's now possible to map same input attribute value to several types of simo attributes (categorical/numerical/text/date)
- change: randomvalues schema removed
- change: iteration is now a default cash flow model parameter
- change: merged without-pytables branch back to trunk
- change: op_id now generated by db
- change: optimization and expression output data array sizes reduced + bugs in operand conditions fixed
- change: disabled numpy's warning messages about invalid values
- change: original id for operation now preserved / branching for operation data now restored to happen only on op_link table
- change: original op id defaults to op_id hash if none exists in data
- change: management_region added to grow_ba_peatland models to include regional coefficient
- change: jlp variable dates changed from absolute to relative years
- change: new biomass models added to prediction_model.xml
- change: two cash_flow_tables allowed in cash_flow_models
- change: variable scrapwood added to result variables of estimate_stand_value operation model
- change: added buildout support for snow leopard
- change: optimized database indexes, added documentation to faster queries/indexes
- change: biomass collection parameters (biomass_collection_proportion, stump_lifting_proportion and min_lifting_stump_diameter) moved to comp_unit level

- fix: processing of infeasible jlp problems fixed 
- fix: bugs in database references
- fix: a bug in the processing of units split by jlp fixed
- fix: nans in jlp data changed to zeros
- fix: fixed postgresql (and sqlite) branch duplicating,
- fix: expression.py and out.py tests
- fix: jlp.py test
- fix: pywintypes for pyinstaller
- fix: updated runner ini output opres headers
- fix: a data type bug in optimization cython extension fixed
- fix: targetvar replaced with target in method cut_from_top_and_bottom
- fix: a bug in optimizer cython extension parameter fixed
- fix: now running build_env.py will also run bootstrap (succesfully) if necessary
- fix: build_env alternative config path fixes
- fix: only one cash_flow_table for estimate_stand_value operation model is needed, handling of cash_low_tables when targets have unique dates
- fix: catch duplicate parent
- fix: fixed a datatype bug with multiple subobjectives in c extensions
- fix: another bug in tabusearch algorithm fixed, change
- fix: now runner should not crash if data_db.db_type option is missing
- fix: changes to cash_flow_table and cash_flow_model handling caused by changed biomass calculation
feature: random biomass prices added, price development for biomass included
- fix: fixed a datatype mix-up in the c extensions
- fix: handler tests for 64 bit
- fix: biomass to energy coefficiens added to estimate_tree_value
- fix: bugs in optimization fixed, 
- fix: a bug with parenthesis of optimization expressions fixed, 
- fix: redundant code removed
- fix: objects past maximum error count are not released anymore after each time span
- fix: input database analysis done now from 'data' tables
- fix: existing data tables are now closed before creating new ones
- fix: processing of nans and infs in expression output and in postfix evaluator fixed
- fix: taper curve returned illogical volumes for little trees (height < 2 m), in that case taper curve volume replaced with volume = 0,001
- fix: numpy datatype issue fixed
- fix: minimum class count set to 14 to avoid iterative class width calculation
- fix: in v_value -model variable value_growth_abs replaced with mean_value_growth_abs as input variable; weibull distributions for spruce (kilkki): right tail of the distribution cut to avoid very long tail (almost zero tree number in classes)
- fix: forced operations of type 'step' spanning multiple time spans 
- fix: v-value calculation
- fix: forced op of type step; op date calculation
- fix: optimization task without constraint handling fixed
- fix: _set_value method can now handle none values properly
- fix: a bug in distribution models with very unusual variable (age at breast height and mean diameter) combination fixed
- fix: sample xml files fixed, stand value growth calculation fixed to avoid huge values
- fix: mean_value_growth_rel is now less volatile
- fix: value of value_growth assign to zero after regeneration cut and seedtree removal (to avoid value_growth values for devel-class 1, 2 and 3 - there shouldn't be any)
- fix: linux data discrepancy
- fix: a bug handling of cash_flow_table fixed
- fix: changes caused by changed initial values for since_drainage and since_thinning and new variable since_drainage_orig, torna urgency index models added
- fix: unix c compiler has strict include order, now taken into account
- fix: dll wrapper
- fix: timber dimensions in cash_flow_table
- fix: data processing
- fix: get_value_from_max_object_with_filter
- fix: output tester now gives time spent to avoid buildbot timeout

- fix: buildout, operations_ext.c
- fix: result db original ids were equal to unique ids for all levels'
- fix: id handling in log messages
- fix: clear_data recovers from cleaning non-existing tables
- fix: branching groups do not mix with each other anymore.
- fix: branching group names fixed
- fix: operationmodel building fixed
- fix: ologger no result crash
- fix: windows long path for python.exe
- fix: windows long paths or paths with spaces in build_env.py
- fix: syntax fixes to stand simulator xmls
- fix: changed line endings from crlf to lf to avoid pyrex problems
- fix: id handling in forced operations
- fix: wrapper error logging overwrite problem, buildout iconv for postgis
- fix: branching logic changed a bit, units should not disappear anymore
- fix: removed obsolete flags from 32 bit buildout causing buildout failure
- fix: undeleted trees and strata in harvest
- fix: phantom strata after selection cut fixed
- fix: postgres does not support create table if not exists syntax, removed
- fix: postgres does not support number type, changed to integer
- fix: wrong index for optimal in data db
- fix: added fpic flag for some core libraries in buildout
- fix: 32 bit error in flags
- fix: remove_objects* manager models now remove also descendants
- fix: cutting an empty diameter class
- fix: separate cash flow table for each target object when using cash flow models
- fix: variable bm_total added to planting, seeding and supplemental_planting models; target - target_var confusion fixed in harvestop (cut_from_top_and_bottom); units of bm variables fixed; carbon models after harvests fixed (bm to soil after harvests was in t/ha, should be kg/ha)
- fix: biomass prediction fixed for seedlings reaching dbh (init tree mode too set to 0)
- fix: operationcaller should not crash even when data hierarchy is broken
- fix: a bug in tree generation with very small tree number fixed (generate with seedtree model) and some other minor changes to model chains of stand simulator
- fix: datadb; table creation tried for existing tables / output_tester; aggregation exp and got mixed
- fix: constraint feasibility count fixed
- fix: prediction memory branching bug fixed
- fix: smt output giving bad errors, aggregation output crashing on missing vars
- fix: development_class model fixed (added a new variable: dgm_upper)
- fix: dll import path for frozen version
- fix: a bug in ini option checkin fixed
- fix: seedtree stand defined now also within simulation (before was only in init chains), definition changed to same as in development_class model; similar model chains in tree and stand simulators gathered to combined folder tree_and_stand_simulator
- fix: a bug in prediction memory branching fixed
- fix: fixed import error_limits, opcaller test, postgresql op_res insert
- fix: fix to a bug in parametertablecaller
- fix: bugs in optimization data matrix and expression data fixed
- fix: added options for non-root-buildout situations
- fix: pyinstaller now properly copies all exes, added pyinstaller req to installation instructions
- fix: fixed a bug which stopped the optimization when there was no constraints
- fix: optimization utility processing (specially for minimizing tasks) fixed
- fix: jlp problem file formulation fixed
- fix: leap year handling in yearly simulation
- fix: silvicultural ops to recover from missing ops
- fix: cash flow op to survive if cf table classifier is missing
- fix: distribution model diameter class sanity checks fixed
- fix: distribution model error message memory errors fixed
- fix: uncomprehensible error message fixed
- fix: numpy default behaviour override
- fix: calculation of v_value changed (value_land used instead of pv_land)
- fix: calculation of productive value (pv and pv_land) fixed; added value update after harvest operation for pv and pv_land
- fix: a bugfix to aggr.nanmean function, couple of fixes to cache, change: added some classes to lexicon
- fix: fixed a bug in model chain condition parsing & added a bunch of additional tests
- fix: a cache -related rounding fix
- fix: fix for ticket #57
- fix: problem with data processing & blocked objects with dynamically created relatives fixed
- fix: global stem cache to keep state
- fix: guard for adding same op twice on the same year (will log error)
- fix: ts.latlonarray fixed to follow the borders of Solmu maastotyöopas

0.5.1 (2009-11-3)
-----------------

- fix: expression output
- fix: installation instructions in SIMO manual

0.5.0 (2009-10-19)
------------------

Complete rewrite of SIMO. Consider this as the base release & contact SIMO devs at Simosol (see www.simo-project.org) if you run into incompatibility issues.

