Releases: iraf-community/iraf
Release candidate 2.18.1RC1
Version 2.18
Important changes
Changes to the version 2.17.1 include:
-
Integration of NOIRLab changes
NOIRLab recently published their own 2.18 version with the scope limited to the support of the Gemini data reduction pipeline. All NOIRLab changes are bugfixes, based on NOAO version 2.16.1. They were reviewed and (if useful) integrated into the IRAF baseline.This merge also triggers the update of the major version number to be in sync with the NOIRlab version. -
VOTable support removed
This is a consequence of merging the changes from NOIRlab, resulting in a significant simplification of the code. If this creates significant problems to the users, we will re-add VOTable support, however. -
Command Language start script renamed to irafcl
As already done for years in several Linux distributions, the cl and ecl scripts are renamed to irafcl. cl and ecl often conflict with the Common Lisp executable names and require third special effort by third parties to circumvent problems. For compatibility, cl and ecl are still provided as links, but their use is deprecated. Please use irafcl instead. A man page is provided. -
Support for the LoongArch architecture
Support for using IRAF on the Chinese LoongArch LA64 architecture was added. Binaries will be provided as part of the Debian loong64 port. -
Bug fixes and code cleanup
As before, a number of bugs was fixed in this release. Cleaning up the code and modernization of the code structure continued. This is in large parts a benefit of integrating the NOIRLab changes.
Detailed list of changes
This list shows all pull requests that were merged since 2.17.1.
- Makefile install fixes found when creating the Debian package by @olebole in #315
- Strip more files from the installed package by @olebole in #316
- C tweaks to make f2c compileable on Debian/mipsel by @olebole in #317
- Fix iraf$ variable for "inplace" (personal) installation by @olebole in #318
- Rename ecl canonical name to irafcl by @olebole in #323
- Remove version information from CITATION.cff by @olebole in #332
- NOIRLAB: Remove VOTable support by @olebole in #330
- Extend (E)CL testing by @olebole in #368
- NOIRLAB: Re-add the vtel package by @olebole in #343
- NOIRLAB: Update observatory database by @olebole in #344
- NOIRLAB: Clean up tbtables package by @olebole in #345
- NOIRLAB: Force exclusion of .git directory from processing in rmbin and rmfiles by @olebole in #362
- NOIRLAB: Remove unused variabled from nttables by @olebole in #351
- NOIRLAB: Restore missing font data files in sys/gio/fonts by @olebole in #356
- NOIRLAB: string buffer fix in mii_readc in "help" package by @olebole in #355
- NOIRLAB: Potential xc/xpp string overflow fixes by @olebole in #349
- NOIRLAB: Small fixes in IRAF system packages by @olebole in #363
- NOIRLAB: Remove or comment out unused variables by @olebole in #352
- NOIRLAB: Small bugfixes for libsys by @olebole in #361
- NOIRLAB: Small "noao" package fixes by @olebole in #360
- NOIRLAB: fixes and cleanup for the "mkpkg" tool by @olebole in #348
- NOIRLAB: cosmetic change for the "generic" tool by @olebole in #347
- NOIRLAB: minor libboot.a improvements by @olebole in #350
- NOIRLAB: Improve (E)CL code internals by @olebole in #364
- NOIRLAB: Rewrite file taken from IRAF64 by @olebole in #353
- NOIRLAB: zzsetenv.def updates by @olebole in #365
- NOIRLAB: several patches for libos.a by @olebole in #346
- Use fpurge/__fpurge to cancel buffered output by @olebole in #366
- Add support for LoongArch. by @liuxiang88 in #371
- Update INSTALL.md typo by @JustinotherGitter in #373
- New Github runner for Mac M1 by @olebole in #374
- Fix problems with using f2c.e/f77.sh on plain Fortran files by @olebole in #370
- Remove outdated options from XC by @olebole in #372
- Provide compatibility link to mkfloat.csh by @olebole in #375
- NOIRLAB: Don't add to helpdb var if no helpdb.mip (sqiid/upsqiid) by @olebole in #378
- CI workflow: update actions/checkout to v4 by @olebole in #382
- NOIRLAB: Add numerical recipes to libxtools for Noirlab compatibility by @olebole in #387
- Allow empty IRAFARCH in irafpath() by @olebole in #388
- Prepare version 2.18 by @olebole in #390
New Contributors
- @liuxiang88 made their first contribution in #371
- @JustinotherGitter made their first contribution in #373
Full Changelog: v2.17.1...v2.18
Version 2.17.1
This is a minor release following the first community release 2.17. Changes to 2.17 include:
-
Installation procedure reworked
The installation scripts are replaced with makefiles, and the build and installation procedures now use the standard targets, standard paths, and customization environment variables. The standard installation place is
/usr/local/lib/iraf
. On a build error the build now stops now immediately, making it easier to find the cause. -
Fix code to enable building on latest macOS/XCode versions
The code was adjusted to be compliant with newer (C99) C standards, and to be compileable with actual compilers.
Detailed list of changes
This list shows all pull requests that were merged since 2.17.
- Add a machine readable citation file (#306)
- Update f2c to latest version and document local changes (#295)
- Ensure
NULL
is a pointer in SPP (#292) - Replace
vosproto.h
with prototypes fromxnames.h
(#284) - Use
typedef
instead of#define
where applicable (#283) - Protoize the remaining C code (#282)
- Restructure
PFI
to be used as "generic" function pointer (#281) - Fix a few small bugs in
sys$
(#280) - Change a few appearances of
PKCHAR
(#279) - Replace
SIGFUNC
bysighandler_t
(#278) - Create useful prototypes for kernel functions (
host$os
) (#277) - Fix several errors that appear when compiled with
-std=c99
(#276) - Rename iraf subincludes (#275)
- Don't add empty arguments to xc argument lists (#271)
- Fix keyword search in
envinit
(#270) - Re-work installation process, improve user scripts (cl, mkiraf) (#268, #300, #312, #314)
- Stop mkpkg execution if an error was discovered (#267, #287)
- Convert make scripts (
mkpkg.sh
) to Makefiles (#266, #293, #301) - Update documentation for host commands (xc, mkpkg etc.) (#265)
- Add old release notes as ReStructuredText (#263, #264)
- Directly use
xc.e
,xyacc.e
etc. from mkpkg and CL (#262) - Update cfitsio to version 4.2.0 (#249)
- Fix processing onf
INDEF
in the "generic" preprocessor (#238) - Ensure the use of the extended image opening code (#236)
- Fix a bug in the parsing of directory arguments of mkfloat (#231)
- Fix off-by-one allocation error in
sgi2uhplj.c
(#207) - Update to new C environment (#225, #226, #302)
- Code cleanup in
host$
andsys$
(#223, #274, #290, #291, #294)
Version 2.17
This is a IRAF version from the iraf-community organization, which is a community effort to keep IRAF availale despite of missing NOAO support. Consider contributing to report bugs, fix them, or improve the software!
Changes to the NOAO 2.16.1 sources include:
-
Community maintainance
IRAF is no longer maintained by NOAO, but by the community of volunteers. Contributions of bug fixes, documentation or improvements are welcome.
-
All known non-free code removed
Although IRAF 2.16.1 was claimed to be "free software", it contained source code that is not freely distributable; namely code copied from the book "Numerical Recipes in Fortran". This code is replaced with free equivalents. The IRAF community edition is Open Source.
-
IRAF ported to other architectures
IRAF is now ported to a number of little endian architectures (ARM, PowerPC, MIPS, x32, RISC-V64, DEC Alpha) and operating systems (GNU Hurd and FreeBSD). Mac on ARM64 (M1) is supported as well.
-
Major bug fixes
Many bugs of the 2.16.1 release are fixed. Some of he major ones are:
- Linux systems crashed with "Out of memory" (15 year old bug; 2.12 release notes)
noao.digiphot.photcal.fitparams
failed with a segmentation fault on 64-bit systems (iraf.net#1467834)- The system wide IRAF installation changed the permissions of
/tmp/
, creating a major security hole in the system (iraf-v216#23) - On Linux systems, self-compiled tasks gave wrong results (iraf.net#1467841)
- On modern systems, background execution did not work (iraf.net#1467431)
- The original code produced errornous executables when build on Linux versions later than 2012. It also did not build from scratch, but required an already compiled IRAF version.
-
Simple CI test framework added
The tests are defined and documented in MarkDown files. Tests are run on Travis CI on Linux and MacOS X platforms.
-
VO package and vocl removed
The VO package, and the vocl shell heavily depend on a number of Java jars, where the creation from sources is undocumented. The package also uses outdated VO standards. A discussion with Mike Fitzpatrick resulted in his plan to move the VO functionality into an external package. Therefore, no attempt was put into getting these problems fixed, and the VO stuff was cut out. The VOTable functionality, however, remains available
Detailed list of changes
This list shows all pull requests that were merged since 2.16.1.
Since 2.16.1+2021.06.14
- Consistently format doc/help examples (#195)
- Fix some HTML help output glitches (#194)
- Remove duplicate argument in call (#189)
- Revert corruption of unix/os/net/rexec.c file (#180)
- Force using POSIX shell in extpkg.cl script (#179)
- Support freeBSD variants (#174)
- Separate development (softools) packages (#172)
- Remove obsolete tasks and links to iraf.noao.edu (#170)
Since 2.16.1+2018.11.01
- Cleanup for unneeded and obsolete files (#166)
- fix slalib bug in
sla_EQEQX
(#160) - Ignore existing iraf env var in
./install
(#157) - Cleanup ecl and cl (#156)
- Add macOS arm64 support (#131)
- Replace hard-coded
host$bin
paths byIRAFPATH
(#128) - Remove
include/drvrsmem.h
(#126) - Fix cpu_time calculation in
unix/os/zgtime.c
(#118, #136, #173) - Move
zsvjmp.[sS]
assembler files tounix/os
and merge them (#117) - Use PLT when calling
sigsetjmp
on i386 (#116) - Adjust external licenses (#115)
- Definitely use flex to generate
unix/generix/lexyy.c
(#112) - Avoid multiple definition of
errflag
(#111) - Enable the use of Public Domain Ratfor to process
.r
files (#103, #171) - Remove some C compiler warnings (#97)
- Fix non-working fft841 code by replacing it (#95)
- Add LAPACK license (#88)
- Rename
mkfloat.sh
tomkfloat
(#87) - Add support for the DEC Alpha processor (#79)
- Fix and improve the shell scripts (#75, #76, #77, #85, #86)
Since 2.16.1+2018.06.15
- Add riscv64 support (#72)
- Fix buffer length in
urlget.x
(#70) - Mention Chisato Yamauchi as copyright owner of the x86_64
zsvjmp.s
code (#67) - Adjust calling of nttools subdir in
pkg/utilities/mkpkg
(#65) - Update and modernize top-level information files (#64, #73)
- Check for the existence of the
arch
variable before using it (#63) - Improve prototyping in bootlib (#62)
- Appended
ZTTYSZ()
function to get width and height of terminal (#58) - Replace readline library by libedit on macos (#57)
- Clean and fix shell scripts (#50, #51, #53, #54, #55, #75, #76, #77)
- Fix variable declaration in noao/obsutil/src/findgain.cl (#47)
- Remove unused empty files (#45)
- Add manpages (#44)
- Update cfitsio to 3.450 (#43)
- votable: Fix data type of loop variable (#41)
Since 2.16.1+2018.03.10
- Implement the 'apropos' command (#37)
- Don't check for updates (#36)
- Update cfitsio to 3.440 (#34)
- Fix background execution in cl and ecl (#32)
- Port IRAF to several architectures (#31)
Since 2.16.1+2018.02.04
(Pull Requests from iraf/iraf-v216)
- Update cfitsio to 3.430 (#135)
- Fix off-by-one problem in xppcode.c (#133)
- Remove files that were generated by
generic.e
orxyacc.e
(#132)
Since 2.16.1+2017.12.28
(Pull Requests from iraf/iraf-v216)
Since 2.16.1
(Pull Requests from iraf/iraf-v216)
- Check filepointer for
NULL
inenvinit
before trying to close. (#126) - Add the required credits for the IRAF64 project. ([#125](https://iraf-community.github.io/iraf-v216/issues...
Snapshot 2.16.1+2021.06.14
This snapshot adds support for the arm64 CPU (M1, M2) on macOS.
Snapshot 2.16.1+2018.11.01
Bugfixes, architecture support etc.
Snapshot 2.16.1+2018.06.15
This is the first IRAF snapshot within the iraf-community organization, which is a community effort to keep IRAF availale despite of missing NOAO support.