I (Mh) was somehow involved in these changes, even if sometimes only as a bug-reporter.
I highly recommend to note these changes also/especially to non-experts.Changes that are not highlighted may also be important and/or interesting;
1. get_params now works with regular expressions, for example: p = get_params ("mekal(1).*");
2. xspec module cleanup. Fortran name mangling scheme now determined at configure time.
3. save_input now takes a File_Type pointer.
4. Some isis intrinsics were previously available under two names, one deprecated. The following deprecated names have been removed: iback_fun, _define_bgd, define_bgd. The corresponding supported names are: back_fun, _define_back, define_back.
5. The path to a site-local setup script can now be specified at configure time using --with-local-setup=FILE. The specified FILE will be automatically loaded at isis startup. 6. Add --with-xspec-modelsonly configure option 7. Contours overplotted on a subset of a 2D array were being plotted incorrectly.
8. Don't generate an error when a model parameter value, obtained from a function evaluation, falls outside the assigned min/max range (see set_par_fun). Instead, the out of range value will be ignored and a warning message will be printed if Isis_Verbose>0.
9. Revise error handling introduced in #8 to interrupt model evaluation when derived parameters are out of range. 10. eval_fun2 wasn't validating the fitfun reference before attempting to use it. 11. mpfit exit status was not being signaled correctly. 12. Support for updated aped database. 13. Support simultaneously loading multiple spectroscopy databases. New intrinsics: db_push, db_list, db_select 14. Plot energy levels with missing LS quantum numbers. 15. line_info returns more energy level details 16. create_aped_fun now supports user-defined ionization balance (create_aped_ionpop_modifier, aped_ionpop_modifier_args). 17. Fix array indexing bug in ionpop modifier introduced in #16 18. Added xspec_noneq() function. 19. Don't generate NaN when ion fraction rescaling involves 0/0.
20. Updated cfitsio module to version 0.4.7 21. Change #13 moved the slang print function into the _isis namespace. It should be in the isis namespace. 22. Setting parameter min=max=0 means "unlimited range" but that setting should respect the hard limits. 23. conf_map_counts provides new a 'flood' algorithm (contributed by Manfred Hanke and Moritz Böck). The 'flood' algorithm traverses the 2D parameter region by expanding away from the best fit point, taking initial free parameter values from a nearby fit. In contrast, the default algorithm performs a raster scan of the 2D region, taking initial free parameter values from the best fit point.
24. Support passing qualifiers to fit-functions implemented in slang
25. array_fit should not assume input parameters are Double_Type
26. New intrinsics __rline_init_tty, __rline_reset_tty will be used by readline in an upcoming slang release. 27. Support AREASCAL keyword (AREASCAL column was already supported) 28. Get more versatile 'unique' function from slsh:setfuns.sl 29. pileup kernel wasn't properly evaluating dataset-specific models 30. regroup_file: improve OGIP standard compliance.
31. New --stkchk command-line option invokes S-Lang stack checker
32. Parallel conf map calculation could start too many slaves. 33. The structure returned by get_combined2 now contains a spectral grid and the data values are unpacked. 34. plot_conf now supports user-specified contour colors. 35. Pileup kernel will now generate an error if used with an rsp matrix; the response must be factored into separate arf and rmf components. 36. Remove xspec11 legacy table model code; the xspec12 library has provided the identical interface since March 2010.
37. Choose more sensible confmap parameter grids.
38. Add Poisson maximum likelihood statistic "ml" 39. Fix memory leak associated with xspec local models 40. Restore etable model support to xspec module (add_etable_model) 41. Update xspec module to match heasoft-6.11/xspec-12.7 42. Update atomdb regression test for atomdb-v2.0.1 release 43. add_slang_statistic now provides delta_is_chisqr qualifier 44. list_par prints function name even when there are no parameters 45. Provide xspec_config_hook 46. Fix bug in apec spectral models introduced in 1.6.1-19 (Oct 2010). This bug removed the relative abundance scaling factor from continuum spectral components in apec spectral models defined using create_aped_fun. As a result, continuum components in these models were always included with the default cosmic abundance. A new regression test has been added to prevent any future reoccurrence of this problem. 47. Added __set_fitfun_trace_hook 48. To avoid fortran global namespace collisions, prefixed all internal isis fortran symbols with 'isis_'. 49. xspec_abund wasn't working with user-defined abundance tables. 50. Simplify xspec model symbol lookup.
51. fork_slaves, manage_slaves provide more control options through new qualifiers. 52. New parallel_map function.
1. xspec module more closely adheres to local model naming convention 2. Fixed NULL dereference bug (copy_covariance_matrix)
3. array_fit: internally, force 'pars' to be an array and don't overwrite it on return. 4. A list of summed spectra and models associated with combine_datasets is now stored internally. See get_combined2. 5. Provided a means to modify data and model spectra immediately before they are summed by combine_datasets. See set_pre_combine_hook.
6. set_sys_err_frac now accepts a scalar value 7. Error bars in histogram plots now include systematic error added in quadrature.
8. Added slang rmf support (contributed by John E. Davis).
9. Added 0.5 pixel correction to reference coordinate in confmap WCS header (contributed by Manfred Hanke).
10. Added support for response, flux qualifiers to all routines that perform forward folding including conf, conf_loop, etc.
11. New intrinsics: set_rebin_error_method, get_rebin_error_hook 12. Changed set_hard_limits to __set_hard_limits * arbitrary changes to hard limits are now supported * hard limits can be changed either for a specific instance of a model or for the default configuration of a model. In the latter case, all subsequent instances of the model will be affected.
13. Fix parameter table vs. dataset list synchronization bug. 14. set_par should respect tied parameters. 15. Improved synchronization between dataset list and fit parameter list. 16. set_par() should warn about attempts to change tied parameters; set_params should be able to create/destroy parameter ties
17. Revert part of #16 - set_par once again silently ignores attempts to change tied parameters.
18. Fix bug introduced by recent changes to handling of tied parameters: load_par/edit_par can once again untie parameters. Added a regression test to make sure this feature doesn't get broken again.
19. conf_loop now defaults to operating on all free parameters. Setting Fit_Verbose<0 now reduces verbosity during a fit.
20. create_aped_fun: elemental abundance parameter names now have 'abund_' prefix. Use qualifier 'no_abund_prefix' to drop this prefix (for back-compatibility). 21. set_par was not modifying 'step'
22. The set_par interface was modified so that the absolute initial parameter step size, 'step', is now specified using a qualifier. A 'relstep' qualifier was added to enable setting the relative parameter step size. The 'relstep' value may be obtained using get_par_info() and get_params(). It may also be set using set_params(). mpfit was previously configured to use an initial relative parameter step size of 1% (e.g. relstep=0.01). This is a bad choice for fits where the min/max range is smaller than 1% of the parameter value and also for parameters constrained to better than 1% by the available data. The fitted center position of strong emission lines in high quality grating data falls into this latter category. The default relstep value used by mpfit is now specified on a per-parameter basis and may be user-specified. For xspec functions, the default is set by the intrinsic variable Isis_Default_Relstep, which defaults to 1.e-4..
1. Fixed bug passing string argument to xspec_elabund (xspec.sl)
2. Updates for heasoft-6.7 release. - link in libxanlib to resolve udmget - re-run code generator to update spectral model interfaces 3. "-v" command-line argument should be order-independent 4. On Macs, libxanlib is a static library (see #2) 5. -g option should set _traceback=1 in interactive mode. 6. apropos now lists variables as well as functions 7. xspec module: drop libxanlib link (see #2 and #4) and provide udmget.c from ftools/xanlib/memory. 8. Provide default directory for fit_search output. 9. added _num_statistic_evaluations intrinsic variable 10. Added support for specifying initial parameter step size. See set_par, get_par_info, get_fun_info, set_param_default_hook 11. New optimization methods contributed by John E. Davis: diffevol, powell, simplex 12. Updated cfitsio module to version 0.4.6 13. Minor change to slang optimization method interface. 14. Fixed plm bug introduced by #13: best-fit parameters were being found but not returned.
15. Added support for hard limits on fit parameters.
16. warn when selected bintable columns lack TUNIT keyword
17. Insert missing parens to fix bug in 'group' function background scaling.
18. Better diagnostics for xspec module local model link errors 19. Added assign_model intrinsic. 20. group: change min_sn default to min_sn=0
21. Added set_hard_limits to allow changing parameter hard limits
22. Updated cfitsio module to version 0.4.6-0 23. Change error handling behavior for isis-intrinsic fit functions.
24. Fix bug reported by Manfred Hanke: load_par can now untie parameters
25. Added set_back_exposure() intrinsic 26. Updated xspec module interface on heasoft-6.9 release
27. new interpol qualifier controls alternate extrapolation methods
28. Added mpfit optimization method. Removed lmdif, providing a backward-compatible lmdif interface that invokes mpfit. 29. Fix bug in array_fit interface (par_step passed as NULL)
1. Added support for parallel processing via fork and select. New functions: new_slave_list, fork_slave, append_slave, manage_slaves, send_msg, recv_msg, read_array, write_array
2. Parallelized conf_map_counts and conf_map_flux. On multi-core machines, these functions use all available cores by default. See the documentation for details.
3. xspec module now defaults to xspec 12. 4. Added Allow_Multiple_Arf_Factors intrinsic variable.
5. Added support for non-standard FITS keywords appearing in INTEGRAL data. 6. slang-2.2 is now a minimum requirement
7. New functions based on contributions from Mike Nowak: group, group_bin, ignore_values, notice_values, conf_loop Parallelized conf_loop.
8. Use require.sl from slang distribution 9. Added parallel Levenberg-Marquardt optimization method (plm). 10. Removed cfortran.h. Use autoconf C/Fortran interface. 11. Changes to support compiling isis with a C++ compiler.
12. Look in RMF primary header for XMM/RGS RFLORDER keyword.
13. Parallelized fit_search
14. Adjust formatting of list_data, list_arf output 15. Fix for table model interface bug introduced by #10 (passing strings from C to Fortran) 16. fit_fun(NULL) deletes current model definition.
1. Fixed cfitsio module bug (fits_write_binary_table)
2. Restored support for mt_calc_model optional arguments contrib_flag and line_list. 3. Added stub for Tcl_PkgProvide to enable loading xspec12 local models; updated interface for _load_xspec_local_models(). 4. Minor changes to support building isis on cygwin. 5. Fixed edit_par bug that could un-define the current model 6. Fixed bug that that prevented saving the S-Lang readline history. 7. Fixed memory leak in median function. 8. Xspec module code generator now handles model.dat files that don't end with a blank line. 9. Updated RMF file input code to support change in OGIP standard; F_CHAN values, previously 2 bytes, may now be 4 bytes. 10. Fixed sign error in poisson random generator (src/random.c); constant -0.059 had the wrong sign. 11. Fixed plot_quit bug that disabled all subsequent plotting. 12. Slang errors now generate one line of traceback by default. 13. Fixed bug in model_spectrum interface, presumably broken since the introduction of line modifiers. 14. Fixed error handling bug in atomic database input code. 15. Update cfitsio module 16. Another cfitsio module update;
fixed bug in handling of isis_set_par_hook
17. load_data was failing when the 2nd parameter was an array of length one. 18. Fixed array indexing bug in conf_joint. 19. Added NULL pointer check to src/histogram.c:Hist_get_flux_corr_weights
20. Added maplib module (contributed by John E. Davis) 21. Added support for systematic errors.
22. Update cfitsio module to version 0.4.3 23. Support linking to pgplot and cfitsio in HEASOFT distribution 24. Update default search path definition. 25. load_par provides more informative error messages 26. automatically install wrapper script on Darwin 27. If defined, isis_interactive_hook() will be called when interactive command-line processing begins; _traceback=0 is the new default for interactive mode. 28. Added gainshift kernel.
29. configure options --with-pgplot and --with-cfitsio should override --with-headas
30. Added set_define_model_hook 31. Optimized rmf_file.c:rebin_rmf() for speed. 32. Fixed bug in egauss that appeared for sigma < 1.e-6 keV. 33. Added get_back_exposure function
34. Update cfitsio module to version 0.4.4 35. Patch to better support wildcards in parameter lists (contributed by Manfred Hanke)
36. Replaced minim fit method with simann, simulated annealing 37. Fixed eval_fun bug - tied parameter values were not getting updated. 38. Update xspec module to support changes new with xspec-12.5.0.
39. New cache_fun() and alias_fun() intrinsics, contributed by Mike Noble, Mike Nowak and Manfred Hanke. cache_fun() enables caching of spectral models, reducing redundant model evaluations during e.g. confidence limit searches. alias_fun() enables renaming spectral models and model parameters and changing parameter defaults.
40. Applied patch to retrieve help files using the S-Lang add_doc_file() intrinsic (from Mike Noble) 41. Added support for displaying xspec12 help files, either pdf or html. 42. Improved support for xspec12 local models
43. At the isis prompt, __argc,__argv now contains the full input command line
44. Fix xspec module bug: xspec12 local models implemented in C or C++ were being linked through the wrong interface. 45. Support the double-precision fortran interface for xspec local models 46. Fixed confusing interaction between fakeit and grouping 47. Fixed malloc bug in xspec module. 48. Added support for xspec model init strings.
49. Xspec model names are now case-sensitive; some lower-case aliases are provided for back-compatibility.
50. New functions, aped_bib, aped_bib_query_string, provide access to APED database literature references. 51. New function, aped_fun_details, provides access to individual emission line flux contributions from each temperature-density component of every spectral model component 52. New functions, aped_line_modifier_args, aped_line_profile_args, aped_hook_args simplify eval_fun2 evaluation of aped functions 53. Updated cfitsio module to get fix for reading vector string columns
54. PHA file input now looks for the hdu with EXTNAME=SPECTRUM, instead of moving to hdu=2. 55. Support BACKFILE keyword in Type I pha files. To ignore this keyword, set Ignore_PHA_Backfile_Keyword=1.
Also, Isis_List_Filenames now defaults to 1.
1. If a script contains an isis_main() function, isis will execute that function and exit. If the --force-interactive option is used, isis will prompt for input after executing isis_main(). Executable scripts can now use #! /usr/bin/env isis isis-script is no longer required. 2. Added support for the S-Lang debugger. Use the --sldb command-line option to invoke the debugger. 3. Added support for the S-Lang profiler. Use the --prof command-line option to invoke the profiler. 4. create_aped_line_modifier now supports modifiers that take additional user-defined arguments. 5. xspec table models now load parameter defaults from the table file. 6. Changed line modifier interface to provide plasma state information. 7. Changed line profile interface to make it more general 8. Line profile and line modifier interfaces both support functions that take no parameters. 9. Changes to support analysis of INTEGRAL data. 10. Reorganized xspec module build/install logic 11. Added xspec 12 model list to the source code distribution (it's no longer necessary to run the xspec module code generator to use isis with xspec 12.) 12. Improved performance of APED spectral models that use a line modifier 13. isis-script --sldb foo.sl runs isis_main automatically. 14. Fixed assign_rsp bug. First listed RMF was not re-defining the dataset grid when multiple RMFs were assigned to one dataset. 15. All internal pgplot calls now use the pgplot module. 16. Removed obsolete gpileup kernel module. 17. Updated cfitsio module
1. add_abundances handles necessary typecasts 2. Help hooks now return strings 3. Fixed potential double-free bug in error handling code hist-cmds.c:set_notice_using_mask, set_notice_using_list 4. Models for flux-corrected data should not include the instrumental background. 5. If present, rebin_error_hook manages error propagation associated with the background (see set_rebin_error_hook).
6. Added support for AREASCAL column in PHA files.
7. APED spectral models now support user-defined modification of line emissivity functions, with fittable parameters. See the create_aped_fun() documentation for details. 8. APED spectral models now support user-defined line profiles. See the create_aped_fun() documentation for details.
1. Xspec module now provides better access to elemental abundances, photoionization cross-sections and NEI ionization fractions. (See xspec_elabund, xspec_gphoto, xspec_ionsneqr, xspec_phfit2, xspec_photo)
1. Updated cfitsio module to version 0.3.5 2. Added put_model_counts, put_model_flux, put_convolved_model_flux 3. Added eval_stat_counts, eval_stat_flux
4. Clearer load_par warning when model string exceeds input buffer size
5. Prompt text is ignored if it appears as a prefix on the command line in interactive mode. 6. Fixed bug in application of optional weights in combine_datasets. Weights had been applied to both model and data sums. Now, the weights are applied only to the data sum. 7. Added yshift kernel
8. Expanded documentation for get_combined to clarify how it might be used with spectra in flux units.
9. Voigt profile norm now includes factor 1/(sqrt(PI)*Doppler_width) (set Isis_Voigt_Is_Normalized=0 to restore the previous behavior)
10. Added get_cfun2
11. Replaced list_par, save_par, list_data, list_arf, list_rmf with slang implementations that provide more versatile output redirection 12. Added get_flux_corr_weights 13. Updated cfitsio module to version 0.3.8rc1