Official GNU Software
Software that forms part of the GNU project.
To facilitate navigating in this list, projects are categorized by their purpose, authorship, and current state. Each project entry lists the categories it pertains to. Clicking on a category name will bring a listing of all projects in that category.
Additionally, a list of related projects is provided where applicable. Each element in that list is a link to the corresponding project entry.
Clicking on a project's name will bring this project's entry as a separate page (a permalink).
Hovering your mouse over the version information of a project shows the list of changes introduced by that version.
Sort controls below allow you to order the list either lexicographically or by the most recent release date, in both directions.
Using the Search control, you can select projects by name. Shell-style globbing patterns (wildcards) are accepted.
(Return to the project listing)
anubis
** Fix compilation with GDBM 1.18.1 ** Support for Guile version 2.2.0 and later Support for prior versions has been withdrawn. ** anubisusr requires GnuTLS ** New configuration statement: use-pam Used in CONTROL section, this boolean statement enables or disables the use of the Pluggable Authentication Module interface for accounting and session management. ** New configuration statement: identd-keyfile Sets the name of the file with shared keys used for decryting replies from the auth service. It is used in traditional mode if anubis receives an encrypted response from the client's identd server (e.g. if they are running pidentd with encryption). ** Bugfixes
An SMTP message submission daemon. It represents an intermediate layer between mail user agent (MUA) and mail transport agent (MTA), receiving messages from the MUA, applying to them a set of predefined changes and finally inserting modified messages into an MTA routing network. The set of changes applied to a message is configurable on a system-wide and per-user basis.
cflow
* Configuration system rewritten Cflow is shipped with a set of "profiles", providing defaults for different standards of the C language. For example, to enable support for gcc extensions it suffices to load the "gcc" profile: cflow --profile=gcc Users can define their own profiles and place them in a well-known disk location for further use with the --profile option. Site-wide or user-specific settings can be stored in the default profile, which is always loaded. Two options are provided for managing profiles: --prepend-path modifies the profile search path and -q disables the use of the default profile. The configuration system used in previous versions (via the CFLOW_OPTIONS and CFLOWRC environment variables) is considered deprecated, but is still supported for backward compatibility. * Emacs cflow-mode improved * Bugfixes
This tool analyzes a collection of C source files and prints a graph charting control flow within the program.
cpio
* Fix operation of --no-absolute-filenames --make-directories * Restore access and modification times of symlinks in copy-in and copy-pass modes.
GNU cpio copies files into or out of a cpio or tar archive. The archive can be another file on the disk, a magnetic tape, or a pipe. GNU cpio supports a wide variety of archive formats.
dico
* The gcide module ** idxgcide skips duplicated headwords ** Fixed some gcide entities, introduced missing ones ** Fixed Ancient Greek transliteration ** New option: "watch" When supplied, the module will watch for modifications in the dictionary corpus files and rebuild the index file when necessary. ** HTML output HTML output is enabled by the "html" module option. It is produced only after "OPTION MIME" command command. * Input conversions The argument to DEFINE or MATCH command can optionally be modified before being used in actual search. This allows, for example, to input search terms in transliteration instead of in the actual script. Conversions are implemented by loadable modules and are associated with individual databases. This version is shipped with the new module "greek_kbd", which implements Greek transliteration. * Dicoweb ** Switch to Python 3.11+ with type hints ** Upgrade Django to version 4.2 ** Improve desktop and mobile views using HTML5 ** Implement a dark mode ** Use Poetry and pyproject.toml ** Integrate Pylint and Mypy for development ** Implement various fixes and improvements * pcre module now requires libpcre2 Support for obsolescent libpcre has been withdrawn. * Bugfixes ** GCIDE indexer ** Fix premature freeing of search argument in Python iterators https://puszcza.gnu.org.ua/bugs/?595
GNU Dico provides a flexible modular implementation of dictionary server, a number of modules for it, and a console based dictionary lookup utility. A Web interface is also available.
direvent
* Simultaneous execution limits It is possible to limit number of command instances that are allowed to run simultaneosly for a particular watcher. This is done using the 'max-instances' statement in 'watcher' section. * Restore the nowait default Unless given the 'nowait' option explicitly, watchers waited for the handler to terminate. It is now fixed and 'nowait' is the default, as described in the documentation. * Fix bug in generic to system event translation * Fix sentinel code In some cases setting the sentinel effectively removed the original watcher. That happened if the full file name of the original watcher and its directory part produced the same hash.
GNU Direvent monitors a set of directories on the file system and reacts when their content changes. When a change is detected, the program invokes an external command configured for that kind of change.
gcide
The dictionary corpus underwent a thorough spell-checking. A number of articles has been fixed or upgraded. All files has been reformatted to limit physical line length to 72 characters.
GNU Collaborative International Dictionary of English, a free dictionary based on Webster’s Revised Unabridged Dictionary Version (published 1913) with additions from WordNet, proof-read and supplemented by volunteers from around the world.
gdbm
* Fixed build on musl libc * Fixed build on MacOS * Improved testsuite
GNU dbm is a library of database functions that use extensible hashing and works similar to the standard UNIX dbm functions. These routines are provided to a programmer needing to create and manipulate a hashed database.
inetutils
* ftp An old inability to allow other names than the canonical name has been corrected. This means that a machine entry in the .netrc file will now be used as expected. Previously any alias name was replaced by the corresponding canonical name, before reading the .netrc file. The internal command `hash' accepts a suffixed letter to the size argument, like `12k', instead of 12288. Made a minor change to the syntax of the command itself, allowing size changes independently of activation of hash markings. After a transfer the summary gives the speed as `Mbytes/s', `kbytes/s', or `bytes/s'. The .netrc file can be overridden by the environment variable NETRC. Of even higher precedence is the new option `-N/--netrc'. The access to the resulting file, whatever method, is now denied unless it is a regular file. * ifconfig Better command line parsing on BSD and Solaris systems. Touch only changeable flags on all systems. * logger The ability to use numerical facilities is restored to full range. * ping, ping6 The ability to specify a pattern as payload is corrected. * syslogd A new switch `-T/--local-time' makes the service ignore a time stamp passed on by the remote host, recording instead the local time at the moment the message was received. As a short form of `--pidfile', the switch `-P' is new. In common with other syslogd implementations, rsyslogd and sysklogd, there has for a long time existed an attack vector based on large facility numbers, made public in CVE-2014-3684. This is now mended in our code base. * telnetd The ability to autologin a client, without using authentication, is now functional in the expected manner, i.e., the prompt for a user name is suppressed in favour of an immediate password prompt. In a setting where the client is using a UTF-8 encoding, it was common to observe strange characters in most responses. This was caused by the server daemon, due to incomplete purging of internal protocol data. The issue should now be resolved. * whois Improved cooperation with servers like `whois.arin.net', `whois.eu', and `whois.ripe.net'.
Inetutils, or GNU Internet Utilities, are the basic internet utilities of the GNU Operating System.
mailutils
* movemail ** Synchronization mode. Setting synchronization mode allows the user to keep messages in remote source mailbox, while downloading only recently received messages. The mode is defined via the "--sync" command line option or "sync" configuration statement. Allowed values are: uidnext Use the combination of uidvalidity/uidnext values. This is useful mainly if the source mailbox is accessed via IMAP4 protocol. When using this method, movemail stores session metadata in files in the directory ~/.movemail.sync. The directory location can be changed using the "--sync-dir" option or "sync-dir" configuration statement. uidl Use UIDL values. Useful if the source mailbox is accessed via the POP3 protocol. all Download each message. Provided for completness sake. This is the default behavior when no --sync option was supplied. ** The --reverse option removed The option made little sense for movemail and was never used. ** The --max-messages option This options sets the maximum number of latest messages to process. * New Sieve test: uidnew The "uidnew" test keeps track of the processed messages. It evaluates to true if the current message was not processed before. The test is implemented as an external module. To require it, use require "test-uidnew"; Sample use if uidnew { fileinto "store"; keep; } For each processed mailbox, the test keeps its state in a GDBM file ~/.uidnew.db. The ":db" tagged argument can be used to alter this location. * Bugfixes ** imap4d UID SEARCH command The UID SEARCH command incorrectly treated message range argument as UIDs instead of as message sequence numbers.
GNU Mailutils is a swiss army knife of electronic mail handling. It contains a rich set of mail-related utilities and daemons, including pop3d
, imap4d
, sieve
and several domain-specific mail delivery agents.
micron
* Micron is a part of GNU project * Take into account DST changes when computing job startup time * Minor fix in crontab parser
An enhanced implementation of UNIX cron daemon.
paxutils
Paxutils is intended to provide a set of archiver programs. It will include tar
and cpio
utilities and will provide POSIX pax
program.
pies
* New configuration keywords ** sigterm SIG Available for use in "component" sections. This statement defines signal which pies should send to the running component instance in order to terminate it. Defaults to SIGTERM. * Fix the component shutdown sequence The shutdown sequence is determined taking into account dependencies between components, so that all dependent components are stopped before their prerequisite components. * Fallback log file Fallback log file is a place where pies writes out of band log messages, i.e. messages about not being able to open syslog socket or send logs to it. Regular log messages are diverted to this file if syslog was requested, but cannot be used because of a permanent error. * Bugfixes ** Fix piesctl config reload ** Fix configuration preprocessing. ** Varios fixes in REST API server.
GNU pies (pronounced p-yes) is a program invocation and execution supervisor. This utility allows to execute usual foreground-mode applications in detached mode, as if they were daemons. It combines the fucntionality of init
and inetd
programs. It can be used to control complex multi-component software.
radius
* Configuration file raddb/config The syslog statement takes an optional 4th argument specifying syslog tag to use, e.g.: channel default { syslog local1.info radiusd; }; * New attributes ** GNU-Server-Address Holds IP address of the RADIUS server that recieved the request. Notice, that the value of this attribute is "0.0.0.0" if there are no `listen' statement in your `raddb/config'. ** GNU-Server-Port Holds UDP port number of the RADIUS server that recieved the request. * Automake function AM_GNU_RADIUS is provided, for checking if GNU Radius is installed from configure.ac scripts. * Guile support requires Gule version 1.8 or later. * Bugfixes ** Pass NAS-IP-Address to mlc_stop_query
GNU Radius is an extensible and scalable authentication and accounting server.
rush
* Use getgrouplist call, if available * Fix in rush-po script * Bugfixes
GNU Rush is a Restricted User Shell. It is intended for use with ssh, rsh and similar remote access programs. Using a sophisticated configuration file, Rush gives you complete control over the command lines users can execute, system resources they can use, etc. In particular, it allows to run remote programs in a chrooted environment.
tar
* Fail when building GNU tar, if the platform supports 64-bit time_t but the build uses only 32-bit time_t. * Leave the devmajor and devminor fields empty (rather than zero) for non-special files, as this is more compatible with traditional tar. * Bug fixes ** Fix interaction of --update with --wildcards. ** When extracting archives into an empty directory, do not create hard links to files outside that directory. ** Handle partial reads from regular files. ** Warn "file changed as we read it" less often. Formerly, tar warned if the file's size or ctime changed. However, this generated a false positive if tar read a file while another process hard-linked to it, changing its ctime. Now, tar warns if the file's size, mtime, user ID, group ID, or mode changes. Although neither heuristic is perfect, the new one should work better in practice. ** Fix --ignore-failed-read to ignore file-changed read errors as far as exit status is concerned. You can now suppress file-changed issues entirely with --ignore-failed-read --warning=no-file-changed. ** Fix --remove-files to not remove a file that changed while we read it. ** Fix --atime-preserve=replace to not fail if there was no need to replace, either because we did not read the file, or the atime did not change. ** Fix race when creating a parent directory while another process is also doing so. ** Fix handling of prefix keywords not followed by "." in pax headers. ** Fix handling of out-of-range sparse entries in pax headers. ** Fix handling of --transform='s/s/@/2'. ** Fix treatment of options ending in / in files-from list. ** Fix crash on 'tar --checkpoint-action exec=\"'. ** Fix low-memory crash when reading incremental dumps. ** Fix --exclude-vcs-ignores memory allocation misuse.
GNU tar is an archiver program. It is used to create and manipulate files that are actually collections of many other files; the program provides users with an organized and systematic method of controlling a large amount of data.