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