Imported Upstream version 2.2
[debian/cpulimit.git] / CHANGELOG
1 =========== Changes in 2.2 ================
2
3 * Escaped double-dashed in manual page to avoid
4   warnings from Debian check tool.
5
6 * Added -s --signal flag. This flag allows the user to
7   specify an alternative signal to send a watched process
8   when cpulimit terminates. By default we send SIGCONT.
9   The -s flag can accept a number (1-35) or a written
10   value such as SIGCONT, SIGSTOP, SIGINT, SIGTERM.
11
12
13 =========== Changes in 2.1 ================
14
15 * Added the --quiet (-q) flag to make 
16   limitcpu run silently
17
18 * Make sure error messages are printed to stderr.
19
20 * Placed source code in Subversion (svn) repository.
21   Accessable using the SVN checkout command. For
22   details, please see the README file.
23
24
25 =========== Changes in 2.0 ================
26
27 * Added the -- flag to make sure child processes
28   run with command line flags would not confuse
29   cpulimit.
30
31 * Corrected output of child process name in verbose mode.
32
33 =========== Changes in 1.9 ================
34
35 * Swapped out __MACH__ pre-compiler flag for __APPLE__ to
36   avoid conflicts with GNU Hurd.
37
38
39 * Added --kill (-k) and --restore (-r) flags to allow
40   target processes to be killed and restored rather than
41   simply throttled.
42
43 * Made sure version number is accepted from Makefile.
44
45 =========== Changes in 1.8 ================
46
47 * Added separate build targets for Linux, FreeBSD and OS X.
48   See the compiling section of the README file.
49
50 * Applied patch from FreeBSD to our upstream code to make
51   future updates on FreeBSD easier.
52
53 * When displaying verbose output, cpulimit now redisplays
54   the column headers every 20 lines.
55
56 * Fixed limiting CPU usage on multicore machines when
57   the desired usage limit is great than 100%.
58   ie A machine with 4 cores can now properly limit
59   multi-threaded applications to, say, 150% or 250%.
60
61 * Added test application (busy). See "test" directory.
62   To build the test software, run "make tests".
63
64 * Removed memrchr() call to allow program to compile on OS X.
65
66 * Updated Makefile to work with OS X.
67
68 * Fixed OS X compiler error. Macs do not understand
69   CLOCK_REALTIME
70
71 * Added patch from Debian which added compiler flags. This
72   should "harden" CPUlimit on Debian.
73   Thanks to Gregor for supplying this patch.
74
75
76 ============= Changes in 1.7 ===============
77
78 * Minor code cleanup.
79
80 * Make sure we do not try to throttle our own process.
81
82 * Added "tarball" option to the Makefile to assist
83   in packaging. Moved version number to the makefile.
84
85 * Added version information to CPUlimit's help screen.
86
87 * Detect the number of CPU cores on the machine and
88   cap the % we can limit. 1 CPU means we can
89   limit processes 1-100%, 2 means 1-200%, 4 means 1-400%.
90
91 * Removed extra priority changes. We now only bump
92   our priority once, if we have access to do so.
93   Also simplified priority increases so it's flexible
94   rather than "all or nothing".
95
96 * Since we now attempt to detect the number of CPUs
97   available, we also give the user the ability to
98   override our guess. The -c and --cpu flags have
99   been added for this purpose.
100
101 * Commands can be launched and throttled by appending
102   commands to the end of CPUlimit's argument list. For
103   example:
104   cpulimit -l 25 firefox
105
106
107 ======== Changes in 1.6 ============
108
109 * Updated copyright notice in README file.
110
111 * Made sure we define a reasonable buffer size
112   if PATH_MAX is not already defined. Fixes
113   building on Hurd.
114
115
116 ======== Changes in 1.5 ============
117
118 * Updated man page and cpulimit's "--help" page to
119   reflect support for multi-core CPUs.
120
121 * Added example of using cpulimit in a shell
122   in the man page and the README file.
123
124 * The Makefile now uses the default compiler
125   on the system, "cc", and tries to fall back
126   on gcc if no other compiler is found.
127
128
129 ======== Changes in 1.4 ============
130
131 * We can now accept limits of 100% or higher. Useful for multi-core
132   systems.
133
134 * Perform sanity check when getting jiffies. Should prevent memory
135   errors if we cannot open proc data.
136
137 * Added copyright to README.
138
139
140 ========== Changes in 1.3 ============
141
142 * Updated license information in cpulimit.c and README file
143
144 * The -b flag is now shown under options instead of targets
145   in the help text.
146
147 * Include man page from Debian with updates.
148
149
150 ========= Changes in 1.2 ===========
151
152 * Applied Debian patch for checking to see if and how much we can
153   adjust our own process priority.
154
155 * Added LICENSE file so there wouldn't be any confusion about
156   what license CPUlimit uses.
157
158 * Applied Debian's patch for long options to avoid segfault.
159
160 * Applied Debian's Makefile patch.
161
162 * Added Debian patch to avoid opendir leaks.
163
164 * Added -b command line parameter to make CPUlimit 
165   run in the background, returning control the the 
166   user's terminal.
167
168 * When cpulimit is launched with one PID to track
169   once that process no longer exists, CPUlimit
170   will exit. Same behaviour as though the lazy
171   flag was set.
172
173 * Ported CPUlimit to FreeBSD
174
175
176 ======= cpulimit-1.1 released ============
177
178 * Fixed a segmentation fault if controlled process exited in particular circumstances
179 * Better CPU usage estimate
180 * Fixed a <0 %CPU usage reporting in rare cases
181 * Replaced MAX_PATH_SIZE with PATH_MAX already defined in <limits.h>
182 * Command line arguments now available
183 * Now is possible to specify target process by pid
184