About
Status
Download
Specs
Contact
Bugs
GIT

SourceForge.net Logo

Valid HTML 4.01!

Valid CSS!

ncompress

NOTE: Moved to https://vapier.github.io/ncompress/.

About

Compress is a fast, simple LZW file compressor. Compress does not have the highest compression rate, but it is one of the fastest programs to compress data. Compress is the defacto standard in the UNIX community for compressing files.

The ncompress code is released into the public domain.

Also note that all existing patents on the LZW algorithm have expired world-wide.

Status

The last "upstream" release will be supported in minor bug fix mode only. These will be the 4.2.4.x releases.

Anything above and beyond that will be the 4.2.5.x releases.

All releases will continue to be public domain.

Download 5.0 5.0
  • New stream for cleanups
  • Drop support for 2.0 output & -C option
  • Improve & fix recursive mode
  • Drop old DEF_ERRNO support
  • Drop DIRENT/SYSDIR config knobs
  • Drop support for REGISTER build knob
  • Drop support for explicit unaligned memory accesses
  • Drop support for dead operating systems
  • Fix Windows access fallback logic
  • Include io.h on Windows
  • Disable "deprecated" API warnings on Windows
  • Add setmode binary for stdin and stdout on Windows
  • Clean up help text a bit
  • Add a standard -k (keep) option
  • Use io.h fallbacks on mingw too
Download 4.2.4.6 4.2.4.6
  • Fix tests under macOS
  • Drop support for NOFUNCDEF
  • Drop old unused MARK & SIZE_INNER_LOOP defines
  • Add chmod/chown stubs for AMIGA/DOS
  • Add a WINDOWS define for disabling chmod/chown
  • Simplify LSTAT checking
  • Disable utime usage on AMIGA/DOS/WINDOWS
  • Add a fallback for access() for DOS & WINDOWS
  • Disable unistd.h include on DOS & WINDOWS
  • Disable chmod/chown/utime for mingw builds
  • Add xxx->_xxx redirects on WINDOWS for filesystem funcs
  • Add support for Windows in Travis
  • Add PREFIX conformance, add option to only install main program by Eli Schwartz
  • Don't strip binaries by default by Eli Schwartz
  • Set the mandir to use $(PREFIX)/share/man by default by Eli Schwartz
  • Do not set exit_code when an error is ignored by Petr Kubat
  • Use default CFLAGS when using GNU make
  • Fix typos in Makefile.def
  • Tweak Changes style for better markdown integration
Download 4.2.4.5 4.2.4.5
  • New homepage https://github.com/vapier/ncompress
  • Switch to intmax_t for nlink_t fields when printing
  • Make builds more reproducible by dropping datestamps
  • Fix integer overflow in maxmaxcode computation by Jakub Wilk
  • Don't leak file descriptor in error cases by Pavel Raiskup
  • Drop 8.3 filename checks for old DOS/Windows
  • Change signal ifdef logic to the signal names
  • Fix -Werror=parentheses errors with newer compilers
  • Define LSTAT=1 in modern builds by default
  • Change pathnames to be dynamic to avoid hardcoded 1k limit
  • Add a standard -h (help) option
  • Change version output to go to stdout
  • Start a testsuite!
  • Add support for -- to halt option parsing
  • Add a uncompress(1) link to compress(1)
Download 4.2.4.4 4.2.4.4
  • Add some spelling fixes from Kenneth J. Pronovici
  • Tweak makefile syntax for make 3.82
  • Tweak by Kenneth J. Pronovici to escape hyphens in man pages for groff
Download 4.2.4.3 4.2.4.3
  • Check return value of chown().
  • Fix from Fedora for checking malloc() return.
  • Fix from Fedora/gzip to avoid integer overflow for CVE-2010-0001.
Download 4.2.4.2 4.2.4.2
  • Integrate build/man touchups from Debian.
  • Add fix from Fedora for handling of 0 byte files.
  • Pull in POSIX standard headers for prototypes (stdlib,string,unistd).
  • Replace rindex() with strrchr().
  • Don't set CC by default in Makefile.def and add CFLAGS/CPPFLAGS/LDFLAGS where appropriate by default.
  • Add support for DESTDIR to the install target.
Download 4.2.4.1 4.2.4.1
  • Fix possible bss buffer underflow CVE-2006-1168
  • New homepage http://ncompress.sourceforge.net/
Download 4.2.4 4.2.4
  • Last upstream release placed into the public domain.
Specs

You can find plenty of info on the LZW algorithm (just use Google), but for fun, here's some helpful links.

Contact

Please use the issue tracker to contact us.

Developer:
Mike Frysinger