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