summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS314
1 files changed, 314 insertions, 0 deletions
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..1ef4a82
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,314 @@
+0.9.7 (1232780)
+- bug fix for -MD and -MF
+- bug fix for gcc 4.6 plugins
+
+0.9.6 (1158638)
+- fix installation issues
+- add a value type of ticks in /proc - and make it long long
+- fix kFreeBSD build
+- fix run-failure with glibc 2.11
+- allow tgz as extension
+- support more local args (bnc#625621)
+
+0.9.5 (1083362)
+- fix: close the file descriptor (novell bug 525799)
+- log PID even if no prefix is specified
+- allow get_msg() to fetch data from the kernel even if timeout is 0.
+- clean up event loop of gcc invocation
+- Install an "icerun" symlink that will serialize commands through
+ icecream's local daemon
+
+0.9.4 (961598):
+- fix compilation warnings
+- don't leak file descriptor to create-env
+- don't use the shell to call simple commands
+- assert current_kids is > 0 before decrementing (it's unsigned)
+- also check for EAGAIN (needed on OS X)
+- add ICECC_LOGFILE to get trace() output into a file
+- Fix compilation when using -Wformat -Werror=format-security flags
+- make a special exception for - in rest args (bnc#495786)
+- Fix way icecream changes permissions of /var/cache/icecream
+
+0.9.3 (926474):
+ - Fix FTBFS with GCC 4.4
+ - Explicitly set group ownership and permissions on the base cache
+ dir and target dir in case root has a umask of e.g. 0077.
+ Otherwise nobody user won't be ableto untar.
+ - make sure that a too strict umask doesn't ruin the game
+ fixes https://bugzilla.novell.com/show_bug.cgi?id=446329
+ - some create-env fixes for fedora
+
+0.9.2 (879112):
+ - On OS X, append the release number to Darwin (Darwin8 for Tiger, Darwin9 for Leopard)
+ as their icecream environments are not compatible
+ - Add accessor for the hostname of the scheduler, so that we can show it in a tooltip in
+ icemon in the future.
+ - Only localize job if we find -Wa,.*-a[a-z]*= in an argument
+ - also add accessor for network name
+ - if called as "icecc" (i.e., not through a symlink) and the first argument starts with a slash,
+ use that as the command to run.
+
+0.9.1 (822102):
+ - trying to support gentoo x86_64
+ - -mcpu=native has to compile locally (gentoo bug 183586#c13)
+ - don't compile C files with C++ compile if ICECC_CXX is set
+
+0.9.0 (807014):
+ - create a working env on OS X
+ - don't hardcode tar path
+ - implement load informations on OS X
+ - make it work again on non-Linux platforms: Jobs still reported their
+ environment platform as i386 etc, even if they came from Darwin or
+ BSD (thus the scheduler never finds a matching compile server, or
+ wrongly directs a non-Linux client to use a Linux compile server)
+ - fixing the init script
+ - patch by Tais M. Hansen to ignore directories
+ - compile on OS X 10.5
+ - some preparations for rsync support
+ - fix valgrind warning
+ - add configure check for librsync
+ - don't kick daemons that run as user, just don't give them
+ any jobs. this helps the people that just don't trust the
+ daemon to be able to at least send out jobs
+ - remove the now pointless "runasuser" option. it will just
+ not accept any jobs then
+ - add log message when the local daemon hangs again
+ - accept TERM=dumb as well
+ - implement support for scheduling local non-compile jobs.
+
+ For example: you can add a symlink named "meinproc4" pointing
+ to icecc to your path, and it will automatically schedule
+ the job and then invoke meinproc4 on it locally.
+
+ the advantage is that you can use cmake -j50 without having
+ to worry that there are going to be 50 meinproc jobs killing
+ your machine.
+ - do an asynchronous connection to the scheduler:
+ * helps when the scheduler is down, as the daemon
+ is otherwise locked up then and can't schedule
+ local jobs
+ * helps when the scheduler is flaky and blocked
+ itself on network (like in the suse network).
+ - fix connect if scheduler is known
+ - send jobs to a monitor non-blocking
+ - implement host blocking
+ - switch monitor connections to bulk transfer
+ - fix double deletion when control connection disconnects
+ - add greeting banner that gives a rough statistic (for pretty
+ monitoring graphs :)
+ - protocol cleanup
+ - fix error handling
+ - adding more API for better monitor behaviour
+ - various protections against malicious requests
+ - add a try-restart target for the rpm package
+ - always read the scheduler message in complete before trying
+ to fetch a message. fixes a daemon hangup (surprising noone noticed
+ this before)
+ - various code cleanups
+ - don't flood the scheduler
+ - implement bulk sending
+ - reduce overhead by not sending a full path
+ - implement much shorter monitor messages
+ - reenable cork handling on linux only. helps a lot
+ - fix job statistics in monitor
+ - check if the compile server sent us a message before die'ing another
+ death
+ - avoid killing the daemon on protocol errors
+ - support "quit" on the normal daemon port as well
+ - ext/hash_set is not needed and does not exist anymore
+ - DoS protection for the scheduler
+ - avoid that daemons hang around in environment installation
+ state forever
+ - fix daemons being overrun by wrongly assigned jobs
+ while they're busy installing
+ - add a segfault catcher
+ - don't allow tiny environments - they are very likely broken
+ - always relogin to the scheduler even if environment
+ transfer failed
+ - implement proper handling for PCH files for e.g. Qt compilation
+ - fix compilation with glibc 2.8
+
+0.8.0 (657903):
+ - Find md5 on FreeBSD
+ - apply patch to support cygwin a bit better
+ - write a pid file. patch by Ismail Doenmez
+ - precompiled header support, needed for compiling Qt 4.3
+ - add support for --no-remote. patch by Matt Gruenke
+ - Make it work on DragonFlyBSD.
+ - provide SuSEfirewall2 information
+ - Make the result of make dist-gzip usable.
+ - update node name each time we login to the scheduler.
+ - treat -combine and -fdump* as always local
+ - Merged make-it-cool branch:
+ * implement job preloading
+ * asynchronous install of new environments
+ * uses tcp keepalive for network connection tracking
+ - make it work on OS X
+ * don' hardcode tar path
+ * create environments correctly on OS X
+ * report load correctly on mach kernels (Darwin)
+ * prepend os to the machine type if it's not linux
+ (resulting in e.g. Darwin_PowerMacintosh)
+
+0.7.14 (583722):
+ - fix current_kids getting out of sync if send_scheduler
+ failes in an unfortunate moment
+ - fix reporting the error
+ - add more to the internals dump
+ - trying to make the scheduler kicks a little bit less frequent
+ - if the compiler is supposed to keep temp files, then we
+ have to do it locally
+
+0.7.13 (583347):
+ - use file -L to follow symlinks in create-env
+ - fix an easy valgrind error
+ - make handling of the return values consistent
+ - if the client is in WAITCOMPILE then it's waiting for some
+ other host to compile, not this one. So job == 0 -> crash
+ - fix crash if the scheduler goes away while daemon transfers
+ environment
+ - apparently sometimes gcc can hang forever in some
+ cases. By the time the client disconects, we know
+ we don't have to wait any longer, because there is
+ nobody left caring about the result.
+ - update node name each time we login to the scheduler.
+ Fixes tons of "linux" hosts appearing in the icecream
+ monitor
+
+0.7.12 (r581454):
+ - fixing error handling when scheduler restarts
+ - do not waitpid before we're sure we read all of g++'s
+ output otherwise g++ waits for us to read and we're
+ waiting for g++ to finish -> deadlock
+
+0.7.11 (r581076):
+ - fix a crash in the daemon when the scheduler was gone while
+ local jobs were waiting for finishing
+ - separate stat handling from ping handling
+ to avoid excessive stat/ping loops
+ (increases internal version number)
+ - only reset scheduler ping time if the scheduler ping'ed us
+ - even when we can't determine native environment, we
+ can still use the daemon for inter-process locking
+ instead of falling back to file locking.
+ - quicker reap of dead daemons
+ - improved load guessing
+ - fix stupid logic bug in ping tracking
+
+0.7.10 (r580794):
+ - handle errors in installing environments correctly
+ - block daemons that have full discs
+ - add -pipe to the command line to reduce disk usage
+ - fix cancelling of jobs awaiting a remote job (were hanging
+ in scheduler forever)
+ - if ICECC=no is set, don't try to be clever
+ - adding two more flags for local compilation (profile
+ feedback related)
+ - flush debug files before every fork to avoid dups in
+ log output
+ - be stricter in what messages are required to keep the
+ daemon<->scheduler communication intact (network drops
+ again)
+
+0.7.9 (r580498):
+ - scheduler will ping the daemon periodically,
+ daemon will disconnect if not pinged from time
+ to time (to avoid network drops being unnoticed)
+ - removed some debug output
+ - make logging more consistent
+ - increased internal protocol version (still compatible)
+ - try even harder to avoid races in daemon
+ - rework how clients are catched
+ - some random cleanup
+ - remove the "this should be an exception" output to
+ avoid failing configure checks for nothing
+ - make sure the assembler is dead before we cleanup object
+ files
+
+0.7.8 (r579795):
+ - fd leak fix, which caused a deadlock under
+ certain conditions
+ - rework some FreeBSD patches that caused problems
+ - fix race between select and SIGCHILD
+
+0.7.7 (r574260):
+ - clear all internal maps
+ - patches by Frerich to support FreeBSD
+ - avoid busy loop in bizarre conditions
+ - found another case of endless hanging jobs
+ - some process fixes
+
+0.7.6 (r561764):
+ - report all daemon error message to the client
+ - fix support for biarch machines that have only one
+ environment installed with another environment with
+ the same name and different architecture being around
+ - work-around a bug in older libstdc++
+ - ensure nobody uses -u root
+
+0.7.5 (r561480):
+ - don't block while looking for a scheduler over broadcast search.
+ - fix logrotate
+ - immediately kick broken daemon connections
+
+0.7.4 (r559927):
+ - Add -fpreprocessed argument
+ - Fix daemons getting stuck after a while with 100% CPU
+ - fix for kubuntu where libs are deeply nested
+ such as /lib/tls/i686/cmov/libc.so.6
+ - find the compiler even though icecc wasn't in the path
+ - fix deletion of old environments
+ - a lot more error handling
+ - fix assertion failures in daemon upon sigchild delivery
+ - use -fPIC also for C files
+ - avoid race between local and remote daemon about who has
+ the right exit status
+ - rename the package to icecc
+
+0.7.3 (r552930):
+ - more work on error handling
+ - corrected icecc --help output
+ - handle local icecream load correctly
+ - reduce the number of load updates from daemon to scheduler
+ - early launch the compiler even before the whole preprocessed
+ file has been received
+ - handle low-latency networks better
+ - builtin colorgcc
+ - let the daemon schedule local load even without scheduler (important
+ for multi processor machines)
+
+0.7.2 (r549574):
+ - split out libicecream-devel for the monitor
+ - introducing ICECC_PREFERRED_HOST (=mybigfathost) to let the scheduler
+ ignore all rules - this is meant to be a debugging aid
+ - fix network performance between client and local daemon
+ - replaced create-env with icecc --build-native (respecting the user's
+ $PATH by default)
+
+0.7.1 (r548846):
+ - Monitor is an extra package now
+ - don't make non-existant cross compilers fatal, but just use
+ the other environments in ICECC_VERSION
+ - always handle aborted syscalls
+ - update minilzo
+ - never exit() or return from fork()'ed code paths,
+
+0.7.0 (r547196):
+ - WARNING: the protocol is not compatible with earlier versions, old clients
+ will refuse to connect, so update the full farm
+
+ - protocol reworked to no longer require a client->scheduler connection
+ (the daemon will proxy it all)
+ - all local jobs are now scheduled by the local daemon to make sure
+ multiprocessor machines are handling as many jobs as they have jobs
+ configured (# processors). They used to be "scheduled" by lock file
+ - fixed grave bug that removed all daemon environments when the cache
+ grew over limit
+ - new telnet interface command: internals to output daemon states
+ - stricter error handling to avoid suprises
+ - SIGHUP to daemon and scheduler will reopen the log file to allow logrotate
+ - a restart of the daemon and scheduler won't flush the log file, but append
+ to it
+ - create-env will create .tar.gz now - the client allows environments to be
+ .tar, .tar.bz2 and .tar.gz
+