ChangeLog 43.4 KB
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 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025
2023-12-12

        * Version 2.1.0 released
        ========================

        Generalise flux computation in GModelSpatial::flux method (#4467)
        Fix solidangle computation in GSkyRegionRectangle (#4461)
        Replace distutils by setuptools for Python setup (#4223)
        Add GCOMHkd and GCOMHkds classes (#4209)
        Add COMPTEL DRW support to GCOMObservation and GCOMDris (#4209)
        Add GSkyMap comparison operators (#4209)
        Add GIntegral::adaptive_gauss_kronrod() method (#4204)
        Add optional unit parameter to GApplication::log_value() methods (#4202)
        Fix segfault on saving empty GModelSpectralTable (#4198)
        Implement response vector cache storage in FITS file (#4159)
        Add GCOMObservation::npred() method
        Add optional energy scaling in GModelSpectralTable class (#4069)
        Add GNdarray::index() method (#4069)


2022-06-06

        * Version 2.0.0 released
        ========================

        Add gammalib::getenv() function (#4063)
        Add GEbounds::remove() method (#4062)
        Add ASTRI and FACT as supported instrument type for the CTA module (#4058)
        Fix bug in GGti::insert() and GGti::merge() methods (#4030)
        By default, do not allow log-likelihood decrease in LM optimiser
        Support Galactic coordinates in spatial models (#3988)
        Correctly return UTC times before 1972 (#3974)
        Implement CGRO clock correction (#3973)
        Add support for COMPTEL pulsar analysis (#3973)
        Add GCOMObservation::tim() and GCOMObservation::oads() setter methods
        Add GModelSpatialRadialGeneralGauss and 
          GModelSpatialEllipticalGeneralGauss classes (#3924)
        Remove GCOMSelection::zeta_min() and GCOMSelection::zeta_max()
          methods
        Add GCOMSelection::fpmtflag(), GCOMSelection::use_d1() and 
          GCOMSelection::use_d2() methods (#3917)
        Rename GCOMModelDRBFitting class to GCOMModelDRBPhibarNodes (#3914)
        Add GCOMModelDRBPhibarBins class (#3913)
        Compute spectral model gradients for negative factor values
        Add likelihood fit event selection hook (#3912)
        Add GCOMModelDRM class (#3910)
        Add angle(GVector&,GVector&) friend function (#3908)
        Add GSkyDir::galvector() methods (#3907)
        Make extension name check case insensitive in GFits::extno()
        Add numerical gradient step size member to GObservation
        Add stamp() methods to GApplication (#3662)
        Display application header in debug mode (#3631) 
        Add ASCL shield to "About" page (#3630)
        Add GModelSpectralFunc spectral constructor (#3626)
        Add GModelSpectralBins class (#3606)
        Added GApplication statistics() and add_celapse() methods (#3592)
        Add GammaLib daemon for application statistics management (#3592)
        Add carbon footprint estimation and application statistic logging to
          GApplication (#3592)
        Add phase selection to GCOMSelection and GCOMDri (#3564)
        Fix incompatibility in GMatrixSparse::mix_column_prepare() method (#3563)
        Add missing members to GOptimizerLM::copy_members() method
        Store DRB, DRG and DRX as GCOMDri in GCOMObservation (#3560)
        Implement COMPTEL response for diffuse models (#3558)
        Implement COMPTEL background model computation (#3557)
        Fix reading of scaled FITS columns, remove GFitsTableCol::scale() method (#3553)
        Add gammalib::compare() function (#3552)
        Add DRI constructor to GCOMObservation class
        Add member access methods to GCOMDri class
        Implement ToF correction for COMPTEL EVP version 2 datasets (#3549)
        Implement ToF correction in IRF computation (#3548)
        Correct COMPTEL average deadtime to 0.965 (#3547)
        Fix handling of empty matrix objects (#3541)
        Add methods to GCOMObservation class to access DRI filenames
        Add GModelSpectralFunc methods to build file function in memory (#3535)
        Add GCTABackground2D class (#3527)
        Implement vectorised response computation for COMPTEL (#3501)
        Fix response cache removal for vector cache (#3499)
        Missing file in GModelSpectralFunc throws exception (#3474)
        Add GModelAssociation and GModelAssociations classes (#3469)
        Add GSkyMap::correlate() method (#3461)
        Add GModels::eval() vector evaluation method (#3455)
        Fix GSkyMap::stack_maps() method for WCS maps
        Add GCTAModelSkyCube class (#3442)
        Add GSkyModel flux() and eflux() methods (#3439)
        Add XML value constructors and access methods to GXmlElement class (#3431)
        Correct application elapsed CPU time for OpenMP (#3417) 
        Implement sparse vector response cache (#3403)
        Support spectral line fitting (#3386)
        Implement GMatrixSparse::row() and GMatrixSparse::add_to_row() methods
        Integrate analytical gradients for energy dispersion computation (#3333)
        Add GFunctions abstract base class (#3328)
        Add GIntegrals class (#3328)
        Remove implicit conversion warnings (#3324)
        Add gammalib::tmpnam() function (#3324)
        Add GSkyDirs container class (#3324)
        Add GSkyRegionRect class (#3248)
        Implement vectorised response computation (#3203)
        Implement analytical gradients for the radial Gaussian model in a
          stacked analysis (#3203)
        Add GSkyModel flux_error() and eflux_error() methods (#3074)
        Remove COMPTEL internal response caching (#2973)
        Add GSkyMap::flux(GRegion(s)) and GSkyMap::solidangle(GRegion(s)) methods (#1785)
        Reimplement GModelSpatial::flux() method for diffuse and combined models (#1785)
        Implement pre-computation cache in GModelSpatialGauss (#1300)
        Replace specific by generic exceptions (#35)


2021-04-28

        * Bug fix version 1.7.4 released
        ================================

        Add conda activation and deactivation scripts for csh (#3628)
        Speed-up Monte-Carlo sampling of exponentially cut-off power
          law models (#3625)


2020-12-02

        * Bug fix version 1.7.3 released
        ================================

        Fix inaccuracy in CTA background model evaluation (#3472)


2020-10-15

        * Bug fix version 1.7.2 released
        ================================

        Fix copy of base class members in copy constructor of some
          spatial models (#3402)


2020-09-07

        * Bug fix version 1.7.1 released
        ================================

        Add Python include path in search for Python.h (#3329)
        Test for Big Sur in configuration step (#3326)
        Copy Python modules into pyext/gammalib folder (#3322)
        Write units of response cubes into FITS files (#3321)
        Implement specific response cache for CTA stacked analysis (#3316)
        Speed up model definition XML file writing (#3308)
        Fix automatic type casting in Python interface (#3295)
        Make parameter file reading and writing thread safe (#3287)
        Add quotes to sky region names (#3280)
        Fix broken power law flux and eflux computation bug (#3279)


2020-07-02

        * Version 1.7.0 released
        ========================

        Add equality and non-equality operators to GSkyRegionCircle class
        Add GModelSpatialRadialRing class (#3253)
        Fix ambiguity problem in GSkyDir::posang() and posang_deg() (#3199)
        Fix GModelSpatialDiffuseCube pickeling issue (#3179)
        Rename GModelSpatialDiffuseCube::set_mc_cone() to mc_cone() (#3179)
        Rename GModelSpatialDiffuseMap::set_mc_cone() to mc_cone() (#3179)
        Properly set region for GModelSpatialDiffuseCube class (#3145)
        Avoid rounding errors in GSkyMap operators (#3126)
        Fix inverted min-max boundary in GOptimizePar for negative scale factors (#3072)
        Add GObservations::npred() methods (#3062)
        Exclude upper edge boundary in GSkyMap::contains() method (#3012)
        Add GSkyMap::extract() methods (#2990)
        Add GCOMDri::cone_content() method (#2973)
        Add GCOMObservation::drm(GModels&) method (#2973)
        Implement methods to remove models from a response cache (#2973)
        Improve COMPTEL classes (#2973)
        Install example binaries in share/examples folder (#2971)
        Add GModelSpatial::flux() method (#2961)
        Change order of Python module import (#2961)
        Add GGti::overlap() method
        Correctly write model attributes in GCOMModelDRBFitting class
        Fix GTime.utc() precision bug (#2917)
        Add GTime.datetime() method and add optional precision to GTime.utc() (#2909)
        Remove obsolete methods from GCTAResponseCache class (#2893)
        Replace log flag by string in GEbounds and GEnergies classes (#2881)
        Allow RoI centres different from pointing direction in unbinned analysis
          (#2695)
        Add GSkyDir::moon() method (#1855)
        Add GSkyDir::sun(), GSkyDir::precess() and GTime::julian_epoch() methods
          (#1854)
        GSkyProjection::coordsys() method now returns CEL instead of EQU (#1829)
        Remove GModelSpatialDiffuseCube::maps() and
          GModelSpatialDiffuseCube::pixels() methods (#1761)
        Implement INTEGRAL/SPI instrument interface (#733, #734, #735, #736,
          #740, #742, #745, #746)
        Add GModelSpectralTable class (#599)


2019-11-07

        * Bug fix version 1.6.3 released
        ================================

        Remove nested levels from CTA response cache to reduce memory requirements (#2893)


2019-07-15

        * Bug fix version 1.6.2 released
        ================================

        Set dependency library versions for conda build (#2958)


2019-06-05

        * Bug fix version 1.6.1 released
        ================================

        Fix initialisation script for c-shell (#2724)


2019-05-29

        * Version 1.6.0 released
        ========================

        Allow fitting of instrument scale factors (#2892)
        Add GCTAModelSpatialLookup class to handle CTA background lookups (#2878)
        Implement energy-dependent Gaussian CTA spatial background model (#2868)
        Take instrument scale factors in On/Off analysis into account (#2867)
        GWcs::wcs_set() method now sets radesys and equinox members (#2866)
        Add GCTAPointing::is_valid() method and remove table methods
        Set CTA IRF integration iterations to 6 to cope with H.E.S.S. PSF (#2860)
        Add kludge to handle incomplete Fermi-LAT source maps (#2850)
        Correct Nbgd computation in GCTAOnOffObservation for Non=0 (#2838)
        Improve OpenMP handling in GWcs::dir2pix (#2770)
        Add support for Fermi/LAT P8V3 response functions
        CTA background rates are now per ontime (#2758)
        Add GPythonOptimizerFunction class (#2733)
        Remove diffuse response cube caching (#2722)
        Revise GCTAEdispCube::operator() interface and disable stacked response
          cutting in true energy (#2721)
        Rename GCTAResponseIrf::lo_save_thres() and GCTAResponseIrf::hi_save_thres()
          to GCTAResponseIrf::lo_safe_thres() and GCTAResponseIrf::hi_safe_thres()
          (#2716)
        Add generic CTA response cache (#2715)
        GCTAOnOffObservation now supports any kind of background model (#2710)
        Fix precision issue with GCTABackground3D Monte-Carlo simulations (#2708)
        Integrate energy dispersion linearly instead of logarithmically (#2706)
        Revise GCTAEdisp class interface (#2704) 
        GCTAEdisp returns now energy dispersion values per MeV (#2704) 
        Protect GCTAInstDir from access to invalid information (#2694)
        Implement general CTA background model (#2694)
        Fix bug that potentially wrote the wrong exposure time in a PHA file (#2683)
        Correct handling of stacked On/Off observations without background IRF
          (#2683)
        Fix OpenMP bug in GObservations::likelihood::eval (#2678)
        Define GCTACubeBackground for energy boundaries instead of nodes (#2677) 
        Remove setting of effective area energy boundaries from "LO_THRES" and
          "HI_THRES" keywords (#2674)
        Correctly compute maximum energy in GCTAAeff2D class (#2674)
        Support "ENERG" column name for CTA energy dispersion FITS file (#2670)
        Make IRF interface compatible with H.E.S.S. format (#2660)
        Add use_irf_bkg argument to GCTAOnOffObservation constructor (#2659)
        Support effective area with theta cut in GCTAOnOffObservation (#2657)
        Add gammalib::replace_segment() function
        Apply CTA 2D energy dispersion kludge only to CTA data (#2654)
        Add ARC WCS projection (#2541)
        Add GLog::buffer() method.
        Renamed GPhoton::mcid() to GPhoton::mc_id()
        Remove at() methods from Python interface (#2515)
        Support application specific system parameter files (#2513)
        Add methods and operators to handle additional columns in GPha 
        Made GApplicationPar::query() method public
        Fix handling of q-mode parameters (#2495)
        Speed up computation of diffuse map models for CTA (#2466)
        Enhance GModelSpatialRadialProfileGauss class (#2463)
        Increase integration precision for CTA diffuse model response (#2458)
        Add GModelSpectralExponential class (#2454)
        Add GCTAModelRadialAcceptance model component setter methods
        Handle observation-specific energy thresholds in CTA On/Off analysis (#2429)
        Add GCTAEdisp::prob_erecobin() method (#2422)
        Add gammalib::gauss_integral() function (#2422)
        Keep existing library path in installation script on Mac OS X (#2420)
        Make GPha, GArf and GRmf output files XSPEC compliant (#2404)
        Add methods to store file attributes in GPha (#2404)
        CTA 3D background model now supports "BKG" column names (#2343)
        Ignore non-manadory columns in GCTABackground3D::read() method (#2339)
        Add GFitsTable::remove() methods (#2339)
        Compute likelihood values also if there are no model parameters (#2312)
        Add GSkyDir::cos_dist() method (#2309)
        Add GCTABackground::rate_ebin() method and gammalib::atan2() and
          gammalib::plaw_integral() functions (#2308)
        Handle extended models in CTA On/Off analysis (#2292)
        Preserve GTIs when copying GCTAEventList and GCTAEventCube objects (#2054)
        Use MJD reference of first observation for exposure cube (#2054)
        Implement Python pickeling support (#1938)


2019-05-15

        * Bug fix version 1.5.4 released
        ================================

        Handle new CTA energy dispersion format


2019-05-11

        * Bug fix version 1.5.3 released
        ================================

        Use "BKG" instead of "BGD" for CTA background column (#2343)


2018-04-26

        * Bug fix version 1.5.2 released
        ================================

        Correct number of internal spectral nodes in GCTABackground3D (#2462)


2018-03-26

        * Bug fix version 1.5.1 released
        ================================

        Fix MANPATH for Mac OS X systems (#2420)
        Add kludge to handle noisy CTA 2D energy dispersion (#2342, #2403).
        Prevent unintentional deallocation of arguments (#2340).
        Correct sky map smoothing.


2018-01-23

        * Version 1.5.0 released
        ========================

        Change DATE_OBS, DATE_END, TIME_OBS and TIME_END FITS keywords into DATA-OBS,
          DATE-END, TIME-OBS and TIME-END
        Non-point source model throws exception in On/Off fitting (#2296)
        Set reference time to CTA reference time in GCTAEventcube, GCTAEventList and
          GCTACubeExposure (#2295)
        GCsv interprets lines in CSV files starting with # as comment lines (#2291)
        Add GPha::counts_spectrum() and GPha::backscal_spectrum() methods (#2290)
        Add GNdarray sign(), operator*= and operator/= (#2290)
        Add GSkyMap::counts() and GSkyMap::flux() methods and clip() friend operator
          (#2290)
        Add GSkyMap::array() method to Python interface (#2285)
        Add Off sky regions to GCTAObservation (#2284)
        By default require cfitsio library (#2265)
        CTA observations handle "statistic" attribute in XML file (#2238)
        Use CSTAT and CHI2 instead of POISSON and GAUSSIAN for statistic (#2237)
        Changed GObservation::statistics() to statistic() (#2238)
        Prevent negative response values for COMPTEL IRF (#2234)
        Add GCTAOnOffObservation PHA, ARF and RMF constructor (#2231)
        Implement observation stacking in GCTAOnOffObservation (#2228)
        Implement region integration in GCTAOnOffObservation (#2210)
        Implement WSTAT in GCTAOnOffObservation (#2209)
        Add GPha arithmetic operators and scale access methods
        Add GArf arithmetic operators
        Add GRmf arithmetic operators
        Add GEbounds equality and inequality operators
        Improve efficiency of GGti::contains() method.
        Add GFitsTableCol::scale() method (#2191)
        Implement code generator for GammaLib extensions (#2190)
        Implement COMPTEL event list support (#2187)
        Implement COMPTEL response computation (#2186)
        Add COMPTEL SDA, SDB and ICT response files (#2186)
        Correct output of COMPTEL DRB fitting XML model (#2184)
        Allow source position fitting for Fermi-LAT data (#2183)
        Add GModelSpectralNodes spectral model constructor (#2178)
        Add GSkyMap division operator for Python 3.x (#2122)
        Add time parameter to GApplicationPar class (#1864)
        Add time string constructor and set method to GTime class (#1864)
        Remove GCTAObservation::obs_id() methods (#1836)
        Use GNdarray to store GSkyMap pixels and add smooth() method (#1729)
        Use XML support functions in all model classes (#1430)
        Add GSkyRegionMap class (#1121)


2017-10-31

        * Bug fix version 1.4.3 released
        ================================

        Correct background interpolation in GCTACubeBackground::operator() (#2268)
        Fix OpenMP segfault issue when fetching CTA events (#2192)
        Fix UTC rounding error in GTime::utc() method (#2177)
        Correct GModelSpatialComposite::copy_members() bug


2017-08-24

        * Bug fix version 1.4.2 released
        ================================

        Correct rate computation in GModelTemporalLightCurve::mc() (#2181)


2017-08-22

        * Bug fix version 1.4.1 released
        ================================

        Correct GModelSpectralNodes::mc() regression for energies outside the node energy range (#2179)


2017-07-28

        * Version 1.4.0 released
        ========================

        Add GCTAEventBin::ipix() and ieng() setter methods (#2171)
        Write response information into simulated observation definition file (#2170)
        Normalise phase curves by default (#2154, #2172)
        Support Python list slicing for container classes (#2128)
        Add Python typemaps for GObservation::likelihood() output argument (#2126)
        Add GSkyRegions::overlaps() and GSkyMap::overlaps() classes (#1980)


2017-07-06

        * Bug fix version 1.3.1 released
        ================================

        Add margin to maximum light and phase curve values (#2149)
        Improve caching in GSkyDir (#2148)
        Make GCTAPsfKing save against invalid values (#2133)


2017-06-06

        * Version 1.3.0 released
        ========================

        Add header card keyword map to GFitsHeader for fast access (#2120)
        Correct set names of spatial GLON/GLAT model parameters (#2113)
        Increase maximum CTA King PSF radius to 2 degrees (#2112)
        Support "BKG" as name of CTA background template
        Scale optimizer convergence criterion with step size (#2022)
        Put response cube loading and saving in OpenMP critical zone (#2021)
        Add GPhases class (#1996)
        Allow fitting of scale parameter in composite models (#1992)
        Add GEventList::append_column() method (#1991)
        Add scalar addition and subtraction operators to matrix classes (#1990)
        Add GCTAAeff::ebounds() method (#1989)
        Add GEbounds::emin() and GEbounds::emax() setter methods (#1989)
        Protect GEbounds::set_lin() and set_log() methods from invalid arguments (#1989)
        Avoid hang-up of GCTAModelAeffBackground::mc() method (#1988)
        Copy shared Python libraries instead of creating a symbolic link (#1987)
        Added FITS image conversion operators (#1986)
        If code originates from Git, always compile the Python bindings (#1985)
        Raise exception instead of exiting with return code in Python tests (#1983)
        Add GEventList::has_phase() and GEventList::has_detxy() methods (#1982)
        Enhance precision of GCTAEdisp2D::compute_ebounds_src
        Add conversion methods between GEbounds and GEnergies (#1977)
        Do no longer interpret a CTA calibration database as file path (#1969)
        GWcs now supports CD keywords instead of CDELT (#1951)
        Add GModelSpectralSmoothBrokenPlaw class (#1948)
        Implement lazy loading of energy dispersion in GCTAEdisp2D (#1940)
        Add GCTARoi::contains method
        Add GCTAResponseIrf::rspname() method
        Correct GCTAPsf2D containment radius computation (#1876)
        Add GFilename::type() method (#1863)
        Rename GFitsTableCol::length() to GFitsTableCol::nrows() (#1860)
        Rename GFitsHDU::size() to GFitsHDU::cards() (#1859)
        Rename GFitsImage::size() to GFitsImage::npix() (#1858)
        Remove GFitsTable::size() method (#1857)
        Add GLS and SFL WCS projections (#1851)
        Add GModelSpatialRadialProfile class (#1520)
        Add GModelSpatialRadialProfileGauss class (#1520)
        Add GModelSpatialRadialProfileDMBurkert class (#1520)
        Add GModelSpatialRadialProfileDMEinasto class (#1520)
        Add GModelSpatialRadialProfileDMZhao class (#1520)
        Add support for Monte Carlo identifier metadata (#1483)
        Add GEventList::has_mc_id() and GEventAtom::mc_id() methods (#1483)
        GModelSpectralNodes throws exception for non-positive energy or intensity (#990)


2017-02-24

        * Version 1.2.0 released
        ========================

        Reduce length of LAT response filenames by unzipping a number of energy dispersion files (#1931)
        Skip zero livetime observations in stacked cubes for CTA (#1920)
        Correct handling of time references in GGti::extend() method (#1922)
        Check that MC energy is comprised in validity range for CTA 3D background template (#1918)
        Add GModelTemporalPhaseCurve class (#1916)
        Monte Carlo for empty maps or map cubes no longer throws an exception (#1915)
        Add GModelTemporalLightCurve class (#1914)
        Add GSkyMap FITS HDU constructor
        Add leap second for 1-1-2017 (#1887)
        Add region() method to GModelSpatial (#1764)
        Correct containment radius computation in GCTAPsf2D::containment_radius (#1876)
        Add composite spatial and spectral models (#1706)
        Add GObservations::save_covmat() method (#1863)
        Add GFft and GFftWavetable classes (#1731)
        Add GNdarray class (#1768)
        Increase precision of gammalib::str() floating point functions
        Add GFits::publish() methods (#1231)
        Add GVOTable class (#1231)
        Add multiplicative spectral model (#1861)
        Add additional time setting and getting methods (#1856)
        Check CTA response table dimension for consistency (#1848)
        Remove eval_gradients() methods and remplace by eval() method with optional gradients argument (#1847)
        Add GTestSuite::test_value() method with automatic precision computation
        Add GSkyMap::is_empty() method (#1828)
        Add GApplication access by index operator (#1838)
        Add GApplication::pars() and GApplicationPar::current_value() methods (#1838)
        Add GLog is_open(), is_empty() and written_size() methods (#1837)
        Fix invalid pointer problem in GLog copies (#1823)
        Fix GSkyMap::publish() bug for empty sky maps (#1835)
        Fix loss of application name and version (#1835)
        Add methods for logging in applications (#1828)
        Fix removal of Python wrappers after make clean (#1826)
        Add GModelSpectralExpInvPlaw class (#1800)
        Add GModelSpectralPlawEnergyFlux class (#1790)
        Rename GModelSpectralPlaw2 to GModelSpectralPlawPhotonFlux (#1790)


2016-07-24

        * Version 1.1.0 released
        ========================

        Check on model parameters in spectral registry (#1824)
        Rename spectral model components (#1821)
        Fix exception handling SWIG interface for Python 3
        Write same XML element names than those that were read (#1820)
        Rename spatial model components (#1818)
        Fix consistency problem in GCTABackground3D (#1815)
        Models accessing file now support relative file names (#1808)
        Add GXmlElement and GXmlDocument filename() methods (#1808)
        Move node parent from GXmlElement to GXmlNode class (#1808)
        Fix Makefile for example executables (#1806)
        Include examples in unit tests (#1803)
        Handle additional columns in GArf class
        GCTAAeff2D no longer extrapolates beyond response table (#1784)
        Add GWcsSIN projection class (#1798)
        Add weights to CTA event cube and event bin (#1789)
        Remove GCTACubeExposure, GCTACubePsf and GCTACubeBackground elogmeans() methods
        GCTACubeExposure, GCTACubePsf and GCTACubeBackground use energy values (#1788)
        GSkyMap::save() now overwrites files (#1787)
        Add GCTAPsfTable class (#1786)
        Use std::vector for naxes argument in GFitsImage (#1779)
        GCTACubePsf and GCTACubeEdisp now save 4D images
        Change interpolation scheme in GCTABackground3D
        Add GCsv::append() method (#1773)
        Add GTestSuite::test_value() string method (#1772)
        Add component setting methods to GModelSky (#1770)
        Add GApplication::logFileClose() method
        Add GModel::read_attributes() and write_attributes() private methods (#1765)
        Also write test reports in case of an exception (#1746)
        GCaldb::filename() method now returns GFilename (#1745)
        Add GCTAObservation filename constructor (#1744)
        Add gammalib::number() function (#1743)
        Add GSkyMap::shape() and ndim() methods (#1733)
        Add GEnergy division operator
        Use rejection method in GModelSpatialDiffuseMap::mc() (#1725)
        Add GObservations::nobserved() method (#1723)
        Use rejection method in GCTABackground3D::mc() (#1722)
        Use rejection method in GModelSpatialDiffuseCube::mc() (#1722)
        Add energy dispersion cube for stacked analysis (#1721, #1801)
        Make GFilename::is_fits thread safe (#1717)
        Revise GTime operators (#1714)
        Add GSkyMap::publish() method to publish map on VO Hub (#1710)
        Add GVOClient::publish() method to publish a FITS HDU (#1710)
        Remove GCTAOnOffObservations class (#1669)
        Handle FITS extensions in GSkyMap load() and save() methods (#1695)
        Restrict Monte Carlo simulations in GModelSpatialDiffuseConst to simulation cone (#1674)
        Use default GTime in GModelSpectral eval() and eval_gradients() methods (#1672)
        Optimise GModelSpatialDiffuseMap::set_mc_cone() method (#1673)
        Optimise GModelSpatialDiffuseCube::set_mc_cone() method (#1673)
        Use default GTime in GObservation::deadc() method (#1670)
        The GApplicationPar::filename() methods now take and return GFilename (#1671)
        Add GFilename methods and remove equivalents from GTools (#1666)
        Use column names for CTA response table access (#1656)
        Add non-const GObservation::events() method (#1664)
        Remove event fetching from GCTAObservation class (#1648)
        Implement event fetching and disposal in GCTAEventList class (#1648)
        Add GFilename::fullname() method
        Add GCTAEventList::remove() method
        Handle also additional columns in GCTAEventList::append() method
        Fix GFitsTableCol::insert() method for empty columns
        Fix GCTAEdisp2D::compute_ebounds_xxx() methods (#1662)
        Use GFilename in GFits to store filename (#1649)
        Load CTA GTI extension from the HDU name provided by the DSS keyword (#1598)
        Support Fermi LAT Pass 8 response functions (#1517)
        Support out of source builds (#1484)
        Finalize implementation of CTA On/Off fitting (#1044, #1781)


2016-01-27

        * Bug fix version 1.0.1 released
        ================================

        Add units to CTA event list columns (#1616)
        Allow usage of numbers in FITS extension names (#1611)
        Solve compatibility issues with Anaconda on Mac OS X (#1607)
        Correct diffuse map MC normalisation (#1584)


2015-12-18

        * Version 1.0.0 released
        ========================

        Ignore errors for El Capitan post processing (#1605)
        Read only mandatory columns in GCTAEventList (#1600)
        Remove extname arguments from classes (#1601)
        Add GFilename class (#1599)
        Check existence of files in CTA response loading (#1586)
        GSkyMap::__getitem__ throw exception if out of bound (#1581)
        Handle ~ in filenames (#1580)
        Add GModel::has_ts() method (#1578)
        Perform __init__.py creation only in build step (#1569)
        Remove access by name methods from GSkyRegions (#1564)
        Resolve Python test problem on El Capitan (#1563)


2015-10-28

        * Version 0.11.0 released
        =========================

        Add need_help() method to GApplication (#572)
        Correct GModelSpatialDiffuseCube computations (#1559)
        Add save() and write() methods to GModelSpatialDiffuseCube
        Add interval constructor and set methods to GEnergies class
        Add Python unit test function to gammalib module (#1486)
        Increase CTA IRF integration precision for shell model (#1521)
        Correctly handle MC simulations for unnormalized diffuse maps (#1548)
        Improve precision of shell model in unbinned analysis (#1521)
        Add GCTAModelAeffBackground class
        Remove small angle approximation from GModelSpatialRadialShell
        Rename GSkymap to GSkyMap
        Add binary operators to GSkymap class
        GSkymap::operator/=(GSkymap) operator now ignores division by zero
        Remove deadtime correction from GCTAModelCubeBackground (#1503)
        Add GCTAObservation::object() method
        Correct model gradient computation
        Correct check of pixel containment in sky map (GSkymap::contains())
        Do only search in users pfiles if PFILES environment variable is not set
        Correct GModelSpatialDiffuseConst::mc() method (#1480)
        Add is_valid() method to GCTARoi and write keywords only if ROI is valid (#1476)
        Increased number of integration iterations for energy dispersion (#1472)
        Add GOptimizerLM::logger() method, logger constructor takes pointer (#1471)
        Replaced fixed precision integration by fixed iterations (#1466)
        Implement rejection method for skymap Monte Carlo (#1465)


2015-05-22

        * Version 0.10.0 released
        =========================

        Add optional PHASE information to CTA event lists
        Use URL path informtion in GVOClient connection to Hub
        Ignore empty string parameters in GModel::is_valid()
        Add some constructors
        Add classname methods to Python interface (#1321)
        Rename CTA cube analysis classes (#1269)
        Do not dump unqueried parameters (#1349)
        Add GBilinear class
        Add WCS projections (MOL)
        Add GXmlElement::has_attribute() method
        Add GSkymap scaling operators (#1296)
        Add GSkymap::extract() method (#1442)
        Implement GApplicationPar range checking (#285)
        Forbid appending to text, comment and PI XML nodes (#804)
        Increase precision for diffuse model Npred computation (#1248)
        Implement observation definition reader/writer (#1429)
        Remove etrue flag from CTA background IRF (#1437)
        Allow appending of empty intervals to GEbounds and GGti
        Add single interval constructor to GGti
        Allow calling GNodeArray::set_value() for a single node
        Add GTI and livetime information to GCTACubeExposure
        Add GModelSpatial::contains method (#1446)
        Add GModelSpatialEllipticalGauss class (#1412)
        Add GVOHub class (#1229)
        Add CTA Prod2 instrument response function (#1464)


2015-01-07

        * Bug fix version 0.9.1 released
        ================================

        Fixed bug #1383 (unit test error with recent gcc compiler)


2014-11-13

        * Version 0.9.0 released
        ========================

        Add energy dispersion to CTA module
        Add pointing table support to CTA module
        Add event filtering for binned analysis
        Add +=, -=, *= and /= operators to GSkymap
        Add integration status tracking to GIntegral
        Add GCTAExposure and GCTAMeanPsf classes
        Add ts and tscalc attributes to GModel and use them in models
        Add manipulation methods to GCTAResponseTable
        Add read(), write() and save() methods to GCTAPsf2D and GCTAPsfKing
        Add classname() method to all classes
        Add utc() methods to GTime class
        Add hierachical element access methods to GXml and GXmlNode
        Add table creation and saving methods to GCsv class
        Add predefined entity support to XML module
        Read/write altitude and azimuth attributes of CTA data
        Refactor CTA response class, add GCTAResponseCube class
        Improve CTA response computation for extended models
        Implement CTA stacked analysis
        Optimize CTA binned and stacked analysis
        LM optimizer now allows logL decreases up to 1.0
        Load events only when needed into GCTAObservation
        Implement full automatic typecasting in Python module
        Fill DETX and DETY values in GCTAResponseIrf::mc 
        Rename GCTAModelBackground to GCTAModelCubeBackground
        Rename GCTAModelInstBackground to GCTAModelIrfBackground
        Rename GIntegral::romb() to GIntegral::romberg()
        Correctly take into account logfile name change in Python
        Correctly use DETX/DETY in radians in GCTAInstDir
        Introduce class codes to avoid dynamic type casting
        Remove error computation from optimization
        Add GOptimize::errors() method for error computation
        Add support for user and save CTA energy thresholds
        Several bug corrections


2014-03-12

        * Bug fix Version 0.8.2 released
        ================================

        Avoid division by zero error in GModelSpectralPlaw2 (#1141)
        Add __len__ and copy() methods to GEvents Python interface
        Increase Npred spectral integration precision to 1e-8 (#1142)
        Use GCaldb for COMPTEL response handling
        Add Pass 7 response files for Fermi/LAT
        Load cube in GModelSpatialDiffuseCube only when needed (#1143)
        Correct bug in Fermi/LAT PSF computation (#1004)
        Implement CTA instrument background (#1146)
        Add GModelSpectralSuperExpPlaw spectral model (#1147)
        Added normalize attribute to GModelSpatialDiffuseMap (#1134)
        Take into account spatial model normalization in MC sampling (#1135)
        Add load() and save() methods to GCATObservation (#1149)
        Correct LAT PSF computation for sources outside event cube


2014-02-05
        
        * Bug fix Version 0.8.1 released
        ================================
        
        Added missing hyphens in pfiles synchronisation section (#1091)
        Add configuration test script (#1091)
        GModelSky, GCTAModelBackground and GCTAModelRadialAcceptance write id attribute into XML file (#1092)
        Add GChatter typedef to Python interface
        GAMMALIB_CALDB takes precedence over CALDB environment variable (#1094)
        Added vo module and GVOClient class to Python interface
        Track results of Python unit tests (#1119)
        Clean-up calibration database interface (#1102)
        Correct 2D PSF Monte-Carlo simulations (#1128)
        Correct deadtime computation for CTA non point source response (#1133)


2014-01-18

        * Version 0.8.0 released
        ========================

        Major review of public interfaces of all classes
        Reorganize sky models
        Introduce GContainer interface class
        Add Virtual Observatory support
        Introduce GUrl classes for transparent URL handling
        Make use of GUrl class in XML I/O
        Optimize computations
        Introduce gammalib namespace for constants and functions
        GModelSpatialDiffuseCube reads ENERGIES extension
        Add sky region handling
        Add on/off analysis support for CTA
        Add xspec interface support
        Rework registry classes to remove memory leaks on termination
        Add support for variable-length FITS columns
        Generalise GSkyPixel to 1D and 2D pixelisations
        Added King profile PSF for CTA
        Reorganise GOptimizerPars class and add GOptimizerPar class
        Put likelihood computation in GObservation class
        Add broken power law spectral model
        Add Gaussian spectral model
        Update parameter files if necessary
        Implement exact sky map pixel solid angle computation
        Rename the following classes:
        - GWcs => GSkyProjection
        - GWcslib => GWcs
        - GWcsHPX => GHealpix


2012-12-18

        * Version 0.7.0 released
        ========================

        Add base module for interface classes
        Introduce GBase from which almost all classes derive
        Add dependency tracking for Python interface
        Add COMPTEL instrument interface
        Open FITS image using the equivalent data type
        Refactor CTA response classes
        Define new instrument response interface
        Add GSource class
        File locking failures do no longer throw exceptions
        Optimize GNodeArray computations and add unit tests
        Add handling of undefined and NaN values to GPar class
        Add GPhotons photon container class
        Implement mc(), flux() and eflux() for all spectral models
        Rework GTime interface and introduce GTimeReference class
        Add GModelSpectralLogParabola spectral model


2012-09-17

        * Bug fix version 0.6.2 released
        ================================

        clang++ compiler precedence is only taken for Mac OS X >= 10.7
        Omit Python checks if Python bindings are disabled
        Enhance OpenMP configuration on Darwin
        Export MACOSX_DEPLOYMENT_TARGET only for --enable-universalsdk
        Improve Python bindings configuration
        Add TEST_ENV_DIR to load library path


2012-09-15

        * Bug fix version 0.6.1 released
        ================================

        Do not require gammalib/__init__.py file to be present
        clang++ compiler takes precedence over g++ compiler


2012-09-14

        * Version 0.6.0 released
        ========================

        Add support for Fermi/LAT Pass 7 data
        Add GModelSpatialMap model
        Add sky direction access operator to GSkymap class
        Add support for diffuse source models to CTA response
        Add OpenMP support and parallelize likelihood optimizer
        Add unit test support (introduce test module)
        Correct bugs in GSparseMatrix
        Enhance code quality


2012-04-03

        * Version 0.5.0 released
        ========================

        Update license text
        Add configure options for Mac OSX universal builds
        Break gammalib Python extension into modules
        Comply to CTA event list format v1.0.0
        Implement XML protocol for observation loading
        Add support for CTA 1DC response format
        Add GCTAResponseTable class for response file handling
        Add GCTAModelRadialPolynom model
        Add GCTAModelRadialProfile model
        Add GModelSpectralNodes model
        Correct Npred integration in GCTAModelRadialAcceptance


2011-10-12

        * Version 0.4.12 released
        =========================

        Add missing #include <cstring> to GTools.cpp
        Correct but in python interface for GSymMatrix and GSparseMatrix


2011-10-03

        * Version 0.4.11 released
        =========================

        Add set response() to observation classes
        Expose GCTAResponse::offset_sigma() in python
        GCTAResponse::aeff() no longer returns negative areas
        Improve Npred integration for extended sources in GCTAResponse
        Implement environment variable expansion
        Correctly fit unbinned for multiple observations
        Add eflux() methods to spectral models
        Implement flux(), eflux() and mc() for GModelSpectralFunc
        Add GLog output methods to Python interface
        Add append() and append_standard() methods to GPars
        Protect parfile read/write by a file lock
        LM optimizer frees any internally fixed parameter at exit
        Add row and column manipulation methods for FITS tables
        Replace FITS table column methods by access operators
        Fix bug in GSparseMatrix::cs_transpose


2011-07-20

        * Version 0.4.10 released
        =========================

        Improve configuration script
        Minor bug fixes


2011-07-09

        * Version 0.4.9 released
        ========================

        Implement wcslib adaption for GWcs classes
        Added AZP, STG, and TAN WCS projections
        Add simple offset angle dependence of CTA response
        Does not require pkg-config anymore
        Add NaN/Inf check in various places (--enable-nan-check)
        Test for presence of Python.h


2011-02-24

        * Version 0.4.7 released
        ========================

        Fix memory leaks in container classes handling pointers
        Add more example scripts


2011-02-21

        * Version 0.4.6 released
        ========================

        Add support for extended source models
        Implement CTA binned and unbinned support for extended source models
        Update GEvents, GObservation and GResponse interfaces
        Use operator[] for element access
        Strict usage of C++ headers
        Add Doxygen and man support (make doxygen; make doxygen-install)
        Add html documentation


2011-02-02

        * Version 0.4.5 released
        ========================

        Implement CTA radial acceptance model
        Generalize model class
        Generation of Python bindings no longer requires swig
        Include missing headers for Ubuntu and OpenSuse
        Improve automatic configuration, remove autogen.sh
        Adapt for Solaris 2.10


2011-01-06

        * Version 0.4.4 released
        ========================

        Tag sources with GammaLib-00-04-04
        Clean up response interface
        Correct some bugs and enhance some classes
        Correct and validate Fermi-LAT interface for binned analysis


2010-12-20

        * Version 0.4.3 released
        ========================

        Tag sources with GammaLib-00-04-03
        Add CSV Table interface
        Add more source models
        First working Fermi-LAT interface for binned analysis


2010-11-23

        * Version 0.4.2 released
        ========================

        Tag sources with GammaLib-00-04-02
        Enhance FITS interface


2010-11-15

        * Version 0.4.1 released
        ========================

        Tag sources with GammaLib-00-04-01
        Prototype implementation of XML interface
        Prototype implementation of application logger
        Cleanup of FITS interface


2010-06-11

        * Version 0.4.0 released
        ========================

        Tag sources with GammaLib-00-04-00


2009-10-09

        * Version 0.2.0 released
        ========================

        Tag sources with VER-0-2-0