- bump version to 0.130.1
[opensuse:osc.git] / NEWS
1 0.130
2   - new "revert" command to restore the original working copy file (without
3     downloading it)
4   - rewrote "diff" logic
5   - added new "--http-full-debug" option, "--http-debug" filters the
6     "Authentication" and "Set-Cookie" header
7   - added new "--disabled-cpio-bulk-download" option: disable downloading
8     packages as cpio archive from api
9   - added new "repairwc" command which tries to repair an inconsistent working
10     copy
11   - workaround for broken urllib2 in python 2.6.5: wrong credentials lead to an
12     infinite recursion
13   - support --interactive-review option when running "osc rq list <project>"
14   - improved "osc rq show <id> --interactive-review"
15   - do_config: added new options --stdin, --prompt, --no-echo:
16     --stdin: read value from stdin
17     --prompt: prompt for a value
18     --no-echo: prompt for a value but don't echo entered characters (for
19                instance to enter a passwd)
20   - added template support for a submitrequest accept/decline message
21   - lots of internal rewrites (new working copy handling etc.)
22   - support added for osc search 'perl(Foo::Bar)' 
23   - New "service" command to run source services locally or trigger a re-run on the server.
24   - setlinkrev is setting now the revision to xsrcmd5 by default to avoid later breakage on indirect links by default.
25
26   NOTE:
27    Due to the rewrite of the working copy handling osc might fail with the
28    following error:
29      Your working copy '.' is in an inconsistent state.
30      Please run 'osc repairwc .' (Note this might _remove_
31      files from the .osc/ dir). Please check the state
32      of the working copy afterwards (via 'osc status .')
33    Simply run "osc repairwc" which might fetch files from the api
34    or delete some files from the storedir (.osc/). It won't touch
35    locally modified files. For more information see section
36    "WORKING COPY INCONSISTENT" in the README.
37
38 #
39 # Feature which requires OBS 2.1
40 #
41   - support reliable diff for an accepted request
42
43 0.129
44   - "dists" command to show the configured default base repos from the server.
45   - "review list" command to list open review requests
46   - "review add" command to add another reviewer for a request (either user or group)
47   - add "buildinfo --prefer-pkgs <dir>" option
48   - add "prjresults --hide-disabled" option to hide packages which are disabled/excluded
49     in all repos and repos which have only disabled/excluded packages
50   - harmonize "api"'s options with curl's options
51   - use builtin signature check by default (instead of verifying the signature with "rpm -K...")
52   - add "status --show-excluded"  to show all files (except the store dir)
53   - new "osc reqmaintainership" command which is a shortcut for
54     "osc creq -a add_role USER maintainer PROJECT PACKAGE"
55 #
56 # Feature which requires OBS 2.1
57 #
58   - add "osc aggregate --nosources" option
59   - add "request clone" command to clone all packages from a given request
60   - fixed references into en.opensuse.org to honor the new Wiki structure
61   - add cross build targets mips and mipsel for QEMU Usermode. needs also build update.
62
63 0.128
64   - better default commands selection for editor/pager
65   - support "osc rq reopen" to set a request in new state again
66   - "osc repos" and "wipebinaries" is checking for local project now
67   - "osc getbinaries" works in project dir now
68   - support added for SPARC builds
69   - support build --oldpackages
70   - introduced the "trusted projects"
71   - Fixes for default editor, api check on deleterequest call, tempfile leaks, getbinaries source package handling, results command
72 #
73 # Feature which require either OBS 2.1 or 2.0.4
74 #
75   - add osc signkey --extend for extending the expiration date of the gpg public key
76
77 0.127
78   - add size limit mode, files can be ignored on checkout or update given a certain size limit.
79   - --csv/--format options for results command - using format user can explicitly specify what he wants print
80   - osc branch reads project/package in package directory
81   - fix creation of package link, when target project has the package via linked project
82   - add "osc rq approvenew $PROJECT" command to show and accept all request in new state. 
83     This makes sense esp. for projects which work with default reviewers before.
84   - support external source validator scripts before commiting
85   - support request creation with multiple actions
86 #
87 # Features which require OBS 2.0
88 #
89   - support "osc add http://...", this uses obs source service for downloading a file and verify it via sha256 verifier service
90   - add support for CBpreinstall/CBinstall
91   - support branch --force to override target
92   - support for "unresolvable" state of OBS 2.0
93   - support undelete of project or package
94   - support for package meta data checkout
95
96 0.126
97  - added VM autosetup to osc. This requires appropriate OBS version and build script version.
98  - enhanced QEMU cross build support with 'armv4l' 'armv5el' 'armv6el' 'armv7el' 'armv8el' 'mips' 'mips64' 'ppc' 'ppc64' 'sh4' arch strings now supported on x86 host
99  - suggest git, svn, ... if indicated, after oscerr.NoWorkingCopy
100  - "osc cat" & "osc ls" now auto-expands through link.
101  - fixed "osc add" after "osc delete".
102  - fix "osc patchinfo" command (crashed before)
103  - fixed SSL proxy support
104  - fixed meta attribute create and set calls
105  - osc remotebuildlog supports a buildlogurl
106  - Allow --prefer-pkgs to parse repodata
107  - new "osc build --no-service" option to skip source service update
108  - fix linktobranch apiurl usage
109  - "maintained package" search is telling relevant projects now
110    * requires OBS 1.7.2 or 2.0
111  - added "osc chroot" command
112  - fixed #547005 ("osc co could show download progress")
113  - added "--interactive" option to "osc request"
114  - store commit message so it doesn't get lost on failure
115  - added "--cpio-bulk-download" and "--download-api-only" options to "osc build"
116  - added "osc localbuildlog" command
117  - added "--build-uid uid:gid|caller" option to "osc build" to specify abuild id in chroot
118  - verify files using rpm bindings and keys supplied by buildservice
119  - added "--exclude-target-project <prj>" option to "osc rq list"
120  - added "--message" option to "osc branch"
121  - added "osc config" command to set/get/delete a config option
122  - added "--binary" and "--baseproject" options to "osc search"
123  - added "-o/--offline" and "-l/--preload" options to osc build
124    * osc build -l standard i586 foo.spec (to cache all dependencies)
125    * osc build -o standard i586 foo.spec (to build without contacting the api)
126
127 0.125
128  - add "osc pull" command to fetch and merge changes in the link target
129  - new proxy support via SSL
130  - when a broken link is encountered automatically switch to last working
131    version. use 'osc pull' to repair the broken link.
132  - osc my request is showing now also requests from other people target to
133    myself
134
135  #
136  # Features which require OBS 1.7
137  #
138  - new config option 'submitrequest_on_accept_action' to specify a default action
139    if a submitrequest has been accepted
140  - add "osc linktobranch" command to convert a classic link to a branch package
141  - show scheduler state for each repo with "results" and "prjresults"
142
143 0.124
144  - added 'osc bugowner' as a more intelligent version of 'osc maintainer -B'
145  - added option '-B' to osc maintainer, prints bugowner OR maintainer.
146  - added 'osc req help' as convenience alias to 'osc help req'.
147  - 'osc in' to be done. Its usage just prints a suggested zypper command line.
148  - give better hint how to use osc vc without network connectivity.
149  - added printing of cache statistices to osc build
150  - support http proxies when using python 2.6 or newer (#551004)
151  - partial fix for checkout problems (bnc#551147)
152  - fixed #477690 ("osc fetching binaries really slow")
153  - osc jobhistory accepts also "prj [pkg] repo arch" now
154  - osc buildinfo accepts now also "prj pkg repo arch [spec/dsc]"
155  - osc buildconfig accepts now also "prj pkg repo arch"
156  - fixed warning messages regarding SSL certificate on some plattforms (Fedora)
157  - support submit requests on project level, osc is checking which packages
158    have changed and submits only the changed after asking back.
159  - show worker/id on jobhistory and make it faster by adding a default limit of 20
160  - add "osc build --root" option to allow to specify build root directory
161  - add "osc build --release" option to allow to specify a package release number
162  - added osc mv command which can rename file and leave them under version control
163  - added new commands "dependson" and "whatdependson" to find out which packages get
164    triggered before checkin/request accept.
165  - add new "osc build --linksource" option, speeds up esp. image building a lot
166  - add "osc triggerreason" command to show detail reason, why a package got triggered for build
167  - Incompatible changes:
168    * osc se now prints Project Package, instead of Package Project
169      for easier copy&paste.
170    * osc se uses exact search by default. Use osc se -s for
171      substring search
172    * osc repourls neither needs nor accepts a path to a package
173      working dir anymore
174    * osc repo neither needs nor accepts a path to a package or
175      project working dir anymore
176  #
177  # Features which require OBS 1.7
178  #
179  - search: allow to limit results via existing attibutes
180  - added "osc meta attribute" for basic attribute creation, deletion, showing and value setting
181  - implement "osc mbranch" call to create projects with multiple source package (instances)
182  - new "osc patchinfo" command: basic patchinfo generation and modification support
183  - add support for _patchinfo package submissions in "osc sr" on project level
184  - support review handling of requests (new "osc review accept/decline $REQUEST_ID" command
185
186 0.123
187  - IMPORTANT: ssl certificate checks are actually performed now to
188    prevent man-in-the-middle-attacks. python-m2crypto is needed to
189    make this work. Certificate checks can be turned off per server
190    via 'sslcertck = 0' in .oscrc.
191  - 'osc list' option -D now only limits non-'new' requests. In state 'new' all are shown.
192  - suggest 'osc list' --bugowner option. Not implemented.
193  - added 'osc rq help' as convenience alias to 'osc help rq'.
194  - 'osc in' to be done. Its usage just prints a suggested zypper command line.
195  - Incompatible change: osc se now prints Project Package, instead of Package Project
196    for easier copy&paste.
197  - fix checkout of packages, which contain not committed files (but uploaded)
198  - add signing key management command (osc signkey)
199    * shows public part of project key
200    * allows (re)creation of a project key
201    * allows deletion of a project key
202  - support 100% offline build when using "osc build --noinit ..."
203    -> buildinfo gets cached in local directory as .buildinfo.xml
204
205 0.122
206  - added missing code for 'osc sr -l [ID]'
207  - allow osc cat with one parameter, if it is a url.
208  - make osc getpac really get the package (instead of branch only)!
209  - expanded several tabs to spaces.
210  - added default project to new getpac and bco subcommand. .oscrc:getpac_default_project = OpenSUSE:Factory
211    (not added to branch subcommand, to not interfere with its syntax.)
212  - add support for generic python-keyring lib, supports KWallet, Gnome keyring, MacOS and Windows.
213  - make buildhist command usable without checked out package
214  - rename old "platform/s" names to "repository/ies" (internal cleanup only)
215  - fixed osc diff -c N, it failed with int and string concatenation
216  - made osc diff and rdiff more similar: added -p, -c to rdiff, removed -u from rdiff.
217    made -u default for both, renamed --pretty to --plain as it is the opposite of -u
218  #
219  # Features which require OBS 1.7
220  #
221  - option to download server side generated _service:* files on update
222  - support for running source services locally. Happens by default on source update
223    and build.
224  - support modification flages on creation of submit request
225    (for auto update or clean up packages or to avoid it, when submit request got accepted)
226  - show request ids from package source logs
227  - added support to require local packages which don't exist in the obs for a local build. This
228    fixes #377021, #481193
229
230 0.121.1
231  - fixed creation of new ~/.oscrc files
232  - fixed "osc my request" command
233
234 0.121
235  - fixed osc rq list -U to not look into the local dir
236  - added osc my ... pkg/prj/req  shorthand commands
237  - add 'osc se' alias for 'osc search -e'
238  - add -b -m -M to 'osc search'
239  - hack for _help_preprocess_cmd_option_list to survive setup.py build
240  - made rresults an alias for results. python decorators are a strange concept...
241  - asserting that ~/.oscrc remains mode 0600
242  - no more plain text passwords in ~/.oscrc, we store now as bz2+base64
243  - added verbosity control -v -q. To be used in guess_proj_pack()
244  - added 'll' and 'ls -l' as shorthand to 'list -v'
245  - started to change to explicit dual license GPLv2 or GPLv3 to conform to Novell policy.
246  - added revision parameter to show_upstream_srcmd5(), so that it can be used in do_cat later.
247  - allowed both integer and srcmd5 revisions in meta_get_filelist()
248  - added 'lL', 'LL': allowed -e and -v together in do_list(). Was an internal error before.
249  - added cat -e, to cat a file through a link.
250    'cat -e -r 3' expands through the third revision of the _link.
251  - added subcmd bco as alias for branch -c
252  - added primitive experimental support for .oscrc:checkout_no_colon = 1
253  - suggest using svn when .svn found.
254  - alias submitpac submitrequest
255  - osc bco now continues to checkout after branch target exists error.
256  - added .oscrc:plaintext_passwd=1 for backwards compatibility
257  - moved core.py:exclude_stuff to .oscrc:exclude_glob and expand it to catch *.orig etc.
258  - added osc rq list -a; a shorthand for enumerating all states
259  - osc rq list -D nnn limit to requests nnn days old.
260  - osc sr --diff option added
261  - improved help texts with repairlink to point to osc resolved.
262  - improved passx code when creating oscrc.
263  - osc metafromspec allows editing before send
264  - allow handling of other roles than "maintainer" with maintainer command
265    (-r role)
266  - fix and improve request list and show output
267  - new osc rremove command for remote source files removal
268  - first part of support to handle _service\* files correctly
269  - osc commit asks if some file has a '?' status (can be skipped by --force option)
270  - fixed request list for multiple states
271  - new option --overlay
272  - new option --rsync-src / --rsync-dest
273
274 0.120:
275  - support "setlinkrev" for whole projects
276  - add "setlinkrev --unset" for removing revision references
277  - add "osc request list -t <type>" to list only submit, delete or develchange requests
278  - add shell completion scripts
279  - fix support of listing requests with multiple actions
280  - "osc maintainer" is following to the development project / package now
281  - "osc maintainer" list maintainer and bugowner roles now
282
283 0.119:
284 - Support new request types
285   - "submitreq" command has a new syntax (incompatible !)
286   - new "deleterequest" command
287   - new "changedevelrequest" command
288   - new "request" command for showing/modifing requests
289   - Multiple actions in one request is not yet supported by osc
290   - The new commands require an OBS 1.7 server, submitreq is still working with
291     older servers.
292 - support of added .changes in commit message template
293 - make submit request listing fast by server side filtering
294 - allow pulling of conflicting changes via "osc repairlink"
295 - delete commands consolidated:
296   * deleteprj and deletepac are obsolete.
297   * delete and rdelete take over
298 - enable package tracking by default
299 - bugfix: templates in edit commit message causes an empty commit logs
300 - osc submitrequest consumes DESTPRJ [DESTPKG] arguments only
301 - osc build now also tested on native arm targets where uname -m reports a string like armv{4l,5el,6l,7el,7l}
302 - osc rlog now works with srcmd5 also
303 - plugins now should be placed in /usr/lib/osc-plugins to match FHS (the /var path is still supported though)
304 - osc now includes automatically generated man page
305 - osc can now store credentials in Gnome keyring if it is available
306 - new support for osc linkpac to specify cicount attribute
307 - new log/rlog output formats (CSV and XML)
308 - new jobhistory/buildhistory/search output format (CSV)
309 - new option to fetch buildlogs starting at given offset
310 - new option for copypac
311   * -r to specify source revision
312   * -m to specify a comment (and send default comment if not specified)
313 - new option to results(r), and rresults:
314   * -r|--repo to specify a repository(repositories)
315   * -a|--arch to specify a architexure(s)
316   * --xml for xml output (makes results_meta obsolete)
317 - request list -M shows open SRs created by the user.
318 - Fixed build support for images, only refered packages from buildinfo get used. (#485047)
319 - "req" command got renamed to "api" to avoid clash with "request" command
320 - osc build has a smarter default platform selection - it checks the
321   availibility config value, 'standard' and 'opensuse_Factory' in platforms list and in case
322   of fail it uses the last entry from that list
323 - new osc linkpac -f to allow to override existing _link files
324 - rename "rebuildpac" to "rebuild", but keep "rebuildpac" as alias
325
326 0.117:
327 - support checkout of single package via "osc co PACKAGE" when local dir is project
328 - allow to specify target project and package on osc branch (requires server version 1.6)
329 - add option to automatic checkout a branched package
330 - support "osc getbinaries" in checkout packages
331 - new vc command for editing the changes files (requires build.rpm 2009.04.17 or newest)
332 - new repairlink command for repairing a broken source link (requires server version 1.6)
333 - '-b|--brief' option for osc submitreq show subcommand
334 - use "latest" commited revision on checkout, not "upload" (#441783)
335 - '-e|--just-open' option for vc command and used /usr/lib/build/vc as an executable
336
337 0.116:
338 - support listings of older revisions with "osc ls -R"
339 - add --current parameter for linkpac to use current revision of source package fixed.
340 - add osc setlinkrev to add or update revision number in links easily
341 - fix streaming of binary files via "cat" (#493325)
342
343 0.115:
344 - optional transfer of devel project during copy_pac and link_pac is fixing
345   opertation with remote build service instance
346 - "osc ci" fails uploading large files to Provo BuildService
347 - fixed support for accessing download repositories (worked only for download.o.o so far)
348
349 0.114:
350 - the .oscrc config handling has been cleaned up:
351    * use "apiurl" for everything now (== <protocol>://<host>)
352    * added aliases support for [apiurl] sections in the ~/.oscrc.
353      Example:
354      [http(s)://foobar]
355      ...
356      aliases = foo, bar
357      => "osc -A foo <cmd>" will do the same as "osc -A http(s)://foobar ls"
358    * "scheme" and "apisrv" are deprecated and will produce a warning
359    * when writing a new ~/.oscrc, store the apiurl in the conffile (bnc#478054)
360    * fixed bug that made osc ask for credentials when -A was used (bnc#478054)
361    * fixed crash upon password entry (first startup) (bnc#478052)
362 - osc build:
363    * make product builds work
364    * speed up by using a cookie when fetching the binaries (bnc#477690)
365    * support for VM (kvm or xen) builds
366    * obsolete the need to configure download server, get it from the build
367      service instance instead.
368    * be a bit more verbose if the linked package isn't expanded (bnc#470948)
369 - osc branch:
370    * --develproject option fixed (the API calls it 'ignoredevel' instead of 'nodevelproject')
371    * --revision option added
372 - osc jobhistory: new command to see build job history of a project or a package
373 - osc results/rresults: option -l, --last-build added (show last build results)
374 - osc linkpac: fix failure when -A<url> is used (bnc#479156)
375 - osc commit: don't scare users if they want to commit a nonexistent file (bnc#469167)
376 - osc diff: bugfix to make --pretty option work
377 - 11.1 added to the osc project template
378
379
380 0.113:
381 - osc diff -rX:Y: the default is to return an unified diff (to get a pretty
382   diff use the --pretty option)
383 - osc rdiff: the default is to return a pretty diff (to get an unified diff use the --unified option)
384 - osc sr show --diff: the default is to return a pretty diff (to get an unified diff use the --unified option)
385 - osc getbinaries: optionally also download source rpms
386 - osc importsrcpkg: set the url in the package meta (bnc#458083)
387 - osc wipebinaries: added --expansion option
388 - added support for format strings like "%(project)s" and "%(package)s" which
389   can be used in the build-root config option.  For example one could use a new
390   chroot for each package.
391 - osc updatepacmetafromspec: fix failure if %description is starting with newline (bnc#462869)
392 - catch OSError exceptions which might be raised by the subprocess module
393 - don't use a hardcoded path for the rpm binary otherwise it fails on
394   distributions like debian
395 - osc meta: be more verbose in case of failure (bnc#459292)
396 - osc mkpac: add info how to enable the package tracking feature (bnc#459288)
397
398 0.112:
399 important bugfix:
400 - osc deletepac: prevent recursive deletion of a whole project [bnc#458535]
401 - osc build: support more options: --icecream, --ccache, --with, --without
402 - osc build: --keep-pkgs also saves the src.rpm now
403 - osc build: small fix in debuginfo handling
404 - osc build: new armv7el arch for all binaries for up to ARMv7 EABI with VFP
405
406
407 0.111:
408 - fix accidental truncation of .oscrc to 0 bytes
409 - fix osc's ignorance of the revision option (-r) for expanded links
410 - osc build: handle kiwi builds (local image build)
411 - osc build: cross build support
412 - osc build: support for ARMv5 EABI little endian arch added
413 - osc build: fixed detection of the build type (rpm or deb), after change in the buildinfo
414 - osc build: build debuginfo packages if enabled in the project/package meta (this partly fixes #421390)
415
416
417 0.110:
418
419 - osc build: no working copy needed anymore when building a local package [bnc#431434]
420 - osc checkout: when checking out a project, and a linkerror occurs for one of
421   the packages, do a checkout in unexpanded form and continue checking out the
422   rest of the project [bnc#428303]
423 - osc deletepac, osc branch: allow slash notation for the project/package arguments
424 - fix deprecation warnings on Factory (which uses Python 2.6)
425 - fix to avoid (internal) stale Package objects [bnc#436932]
426
427
428 0.109:
429
430 - osc getbinaries: new command to download binaries directly from the api server
431 - osc rlog: new command to show commit logs of remote packages
432 - osc build: --debug option to the build script which will take care of creating debuginfo packages
433 - add link to plugin API to osc help output
434 - avoid a hard dependency on the rpm-python bindings.
435 - fixed depracation warnings with Python 2.6 [bnc#426612]
436 - streaming of unfinished logfiles fixed
437 - fixed regression of .oscrc template [bnc#427118]
438 Changes were from Marcus_H, poeml, dmueller, tpatzig.
439
440
441 0.108:
442
443 - osc submitreq: has two aliases now: "osc sr" and "osc submitrequest"
444 - osc sr create: prompt to revoke existing requests
445 - osc sr revoke: new command for to get rid of requests to projects one can't write to
446 - osc sr list: allow showing requests in a state other than "new"
447 - osc sr show: show the current state's comment
448 - osc sr log: new command to show the history of a given id
449 - osc sr: enable requests for submitting new packages
450 - osc build: implement --no-checks
451 - osc build: be less strict on the arguments, and guess what's needed. For instance:
452   * osc build PLATFORM ARCH BUILD_DESCR
453   * osc build PLATFORM (ARCH = hostarch, BUILD_DESCR guessed)
454   * osc build ARCH (PLATFORM = build_platform (config option), BUILD_DESCR guessed)
455   * osc build BUILD_DESCR (PLATFORM = build_platform (config option), ARCH = hostarch)
456   * osc build (PLATFORM = build_platform (config option), ARCH = hostarch, BUILD_DESCR guessed)
457 - osc build: download after the target architecture check
458 - osc addremove: bugfixes, --recursive option
459 - osc init: added support to initialize a project dir
460 - osc metafromspec: new alias for 'updatepacmetafromspec' which is hard to remember
461 - osc updatepacmetafromspec: also update URL
462 - osc buildlog: do not download entire log to memory
463 - new http_headers option to add arbitrary headers to HTTP requests
464 - bugfix to make osc work on Gentoo
465 - enhance/update the package and project template
466 - .netrc heritage from previous commandline client has been removed
467 - osc asks for password now, when used with -A
468
469
470 0.107:
471
472 - osc build: the --extra-pkgs option is now a configurable setting in .oscrc.
473   Default is "extra-pkgs = vim gdb strace"
474 - .oscrc: make tilde expansion work on the packagecachedir setting
475 - osc update / checkout: don't check out a working copy, or update an existing
476   one, when a source link cannot be applied [bnc#409373]
477
478
479 0.106:
480
481 - osc rdiff / osc submitreq show: diff the _expanded_ sources [bnc#408267]
482 - osc submitreq list: show author's name
483 - osc submitreq: shortcut alias 'sr' added
484
485
486 0.105:
487
488 - osc submitreq list:
489    - can now be called without parameters, applying to the working copy then.
490    - calling it in a project directory is also possible now.
491    - output was improved. Newest requests are listed first.
492 - osc submitreq delete: a new action which has been added
493 - osc submitreq list/create: use api URL from the working copy
494 - osc meta: editing returns the API error description instead of a plain HTTP
495   error if available
496 - osc copypac: use the correct userid when copying to another api host
497 - osc importsrcpkg: disable signature check when getting data from a rpm file
498 - osc linkpac: --revision option added.
499 - osc search: added option -i|--involved, to show in which projects/packages
500   a developer is involved
501 - osc build: double check the buildinfo for local builds. Refuse to build for
502   architectures that are not supported by the host
503 - osc buildhist: change the output into a format which better matches actual
504   RPM filenames.
505 - osc commit: give commit message tempfiles a ".diff" suffix, so syntax
506   highlighting automatically works in capable editors
507 - other bug fixes:
508   - don't expand/unexpand if the working copy has local modifications - this is
509     an ugly workaround for #399247 but this way the working copy isn't screwed up
510   - work around a bug which causes packages to be cached locally under the
511     "None" architecture (and therefore causing issues when building for more
512     than one architecture via osc build).
513   - don't create _linkerror files in working copies
514   - better error handling (mostly printing more details) in a number of cases
515   - show error messages from the API also for type 500 errors
516
517
518 0.104:
519 - osc update: after update, reset the revision when updating multiple package.
520   Fixes "404: Not Found" type errors when updating an entire project. [bnc#399177]
521 - more/better error messages in some error scenarios
522 - osc wipebinaries: add missing check for commandline arguments, which could
523   cause a PACKAGE argument to be ignored
524 - fixed make_diff in order to avoid errors when committing a new package
525   (created with mkpac)
526
527
528 0.103:
529
530 - osc submitreq create: simplify by make osc guess needed parameters, if
531   there is a working copy and it is a source link.
532 - osc submitreq create: don't stop on packages that have a devel project
533   defined, if the submit actually comes from that project.
534 - osc checkout: checkout of source links is now done in expanded form per
535   default. The new option --unexpand-link can be used to get the raw link file.
536 - show the API's error message for HTTP 403 (Forbidden) replies.
537
538
539 0.102:
540
541 - osc branch: Show the actually created branch project name, not
542   a guessed one.  Add --nodevelproject.
543 - osc submitreq: look up the develproject of the target, and if
544   there is one, don't create the request, unless forced with
545   --nodevelproject.
546 - make the global -d option work better under certain circumstances
547
548 0.101:
549
550 - add osc branch command, using the branch API call to branch a package to
551   home:poeml:branches:PRJ/PKG
552 - osc commit now opens $EDITOR for commit message
553 - improved error handling, when API returns HTTP status code 400 (bad request)
554 - osc status: implement -q/--quiet switch
555 - osc info: slightly more verbose
556 - osc deletepac: allow deletion of multiple packages at once
557 - make "osc meta prjconf <project> -e" work again (probably caused by r3702)
558
559
560 0.100:
561
562 - improved error handling (babysitter.py wrapper, oscerr.py exception classes)
563   Tracebacks are mostly suppressed now. To enable them, use
564        -t, --traceback    print call trace in case of errors
565   or set traceback=1 in .oscrc.
566 - other new global options for debugging:
567        --debugger         jump into the debugger before executing anything
568        --post-mortem      jump into the debugger in case of errors
569        -d, --debug        print info useful for debugging
570 - make way for more seamless osc version updates (the .osc directory in working copies
571   will have its own versioning in the future)
572 - osc rprjresults and osc rresults: new commands to show remote build results
573 - osc build: added --baselibs and --jobs options
574 - osc copypac: added --keep-maintainers switch
575 - osc maintainer: new -D/--devel-project switch
576 - BUILD_DIST environment variable will be ignored (bnc#359846)
577   The following environment variables can still be used:
578   * OSC_SU_WRAPPER overrides the setting of su-wrapper.
579   * OSC_BUILD_ROOT overrides the setting of build-root.
580   * OSC_PACKAGECACHEDIR overrides the setting of packagecachedir.
581
582
583 0.99+patches (interim releases, including Wed Apr  2 16:36:40 CEST 2008)
584
585 - new command submitreq, to handle "submit requests" (next generation build
586   service feature). See http://en.opensuse.org/openSUSE:Build_Service_Collaboration 
587 - new link handling:
588   add support for handling linked packages in expanded form. They
589   can be checked out, updated (expanding or unexpanding them),
590   and built locally.
591   Newly introduced options are:
592   * osc checkout: --expand-link
593   * osc update: --expand-link and --unexpand-link
594 - new feature: package tracking. It's not enabled by default and
595    needs to be switched on with do_package_tracking=1 in .oscrc.
596    before using. See
597    http://lists.opensuse.org/opensuse-buildservice/2008-03/msg00114.html
598 - prjresults: add --csv option
599 - req: add option -a / --add-header to inject arbitrary request headers
600 - addremove (and others): ignore _all_ dot files (the buildservice doesn't
601   handle them)
602 - copypac: do a (quicker) server-side copy by default, when source and target
603   are on the same buildservice instance.
604 - build:
605   - add --debuginfo
606   - add --no-verify
607   - add --local-package to build a package which doesn't exist on the server
608   - add --alternative-project to specify a project, if the current one doesn't
609     exist on the server
610   - use api url from .osc/_apiurl [#355144]
611 - new command remotebuildlog
612 - diff: fix #347377 (diffing too many files)
613 - checkout: check for project existance beforehand
614 - rdiff: new command for server-side diffs between arbitrary packages
615 - cat: new command to print a file on the standard output
616 - diff: reworked functionality to show newly added files, and behaving more
617   like svn when doing diff against a certain revision
618 - bugfix in {link,aggregate,copy}_pac (<person> elements)
619 - checkout an empty project instead of doing nothing
620 - fix prjresults for newly added packages, where build status is missing
621
622
623 0.99:
624
625 - aggregatepac: new command, similar to linkpac. Patch from Pavol Rusnak.
626 - wipebinaries: added --build-failed and --broken [#335498]
627 - deleteprj: enabled this command, as the backend now supports it
628 - maintainer:
629   - added --verbose option
630   - added functionality to add/remove users from a project/package
631 - print the list of URL to try, when in HTTP debug mode
632 - build: allow to use lbuild, a compatible replacement for build
633 - do not create dirs for non-existing packages during checkout [#259711]
634
635
636 0.98:
637
638 - new maintainer command, to list the maintainers of a project or package
639 - ls: add -b option to list binaries
640 - make osc library simpler to use from external scripts
641 - new importfromsrcpkg command, to import a package src.rpm from file or URL
642 - new req command, to issue arbitrary requests to the API
643 - initial support for commit messages (ci -m/-F)
644 - implementing a log command to review the commit log
645 - renamed previous "log" command to "buildlog" (short: bl)
646 - new meta command, replacing editmeta, editprj, createprj,
647   editpac, createpac, edituser, pattern
648 - added search support
649 - show helpful xml error messages if broken metadata is uploaded
650
651
652 0.97:
653 - added initial revision handling:
654     - extended "osc co prj pac" to checkout a specific revision of pac
655     - extended "osc up" to update to a specific revision
656     - extended "osc diff" to diff the working copy against a
657       specific revision on the server. NOTE: comparing two
658       server-side revisions (osc diff -r 11:12) is currently
659       not supported!
660 - load subcommands from /var/lib/osc-plugins/ or ~/.osc-plugins/
661 - updatepacmetafromspec scans for spec files automatically. Added --specfile option to updatepacmetafromspec.
662 - wipebinaries: allow to wipe all binaries of packages for which the build is disabled
663 - addremove: ignore foo.rXX, foo.mine for files which are in 'C' state
664 - ls: add verbose option to print extra information for packages
665 - for all server-side commands, allow arguments "foo/bar" instead of "foo bar"
666 - new wipebinaries and abortbuild commands, by courtesy of Marcus Huewe
667 - improved metadata error condition handling (thanks to Marcus Huewe)
668 - build: add --userootforbuild option
669 - build: implement -x/--extra-pkgs option (passed to backend and included in buildinfo result)
670 - make filling out of username in templates work again
671 - don't try to delete projects, as long it is not implemented in the backend
672 - use new API route for downloading binaries also in configured URLs
673 - make deletepac work again
674
675
676 0.96:
677 - following suggestions by Christian Boltz and Michal Marek, osc now memorizes
678   where a working copy was checked out from, saving the api server url to
679   .osc/_apiurl.
680 - implement 'info' subcommand
681 - use new api routes in all places
682 - buildhistory works again
683 - copypac: implement package copy from one buildservice instance to another
684   (--to-apiurl option)
685 - the results subcommand now handles multiple <working copy> arguments
686 - build: implement --prefer-pkgs and --keep-pkgs option
687 - applied patch from Michael Marek, fixing all places where error
688   messages were printed to stdout instead of stderr. [#239404]
689 - osc is now easier to work with when using alternative API servers. The
690   configured server can be overriden with -A <url> on the commandline.
691   "apisrv" in the config takes a URL now, so the variable "scheme" which was
692   needed in addition before becomes obsolete. For backward compatibility, a
693   hostname (and scheme variable) are accepted like before. Likewise, the auth
694   sections in the config take a URL now, or a hostname:port to keep old config
695   working. HTTP or HTTPS scheme is determined from the URL. Credentials must be
696   configured in .oscrc.
697 - build: use actual api server in urllist for downloading, instead of hardcoded
698   api.opensuse.org [#265211].
699
700
701 0.95:
702 - rewrite the internal HTTP handling
703   - save and reuse HTTP server cookies, which can speed up HTTP requests up about
704     5 times in an iChain setup
705   - adding http_GET/POST/PUT/DELETE() functions, which dispatch to
706     http_request(), and use them everywhere
707   - removing othermethods.py
708   - keeping urlopen(), in case it is used from externally, but have it print out
709     a "depracated" message
710   - finally, global option -H enables HTTP traffic debugging
711 - implement "rebuild all failed packages", via --failed option in rebuildpac
712   subcommand
713 - status -v shows all files, including unmodified ones
714 - suppress the legend in prjresults by default (show with -l)
715 - --version shows the program version number
716 - fix the commit subcommand's argument handling. The following works correctly
717   now: osc ci ../test/onlyinwc `pwd` fstab ../test/f2
718 - fix the download progress meter to work with small terminals [#266989]
719 - update: when updating multiple packages, print each package name
720 - make 'results' subcommand many times faster, by making only a single request
721 - prjresults: sort package names
722 - build: run with --norootforbuild, thereby defaulting to build as abuild user
723 - build: fix (harmless) errors showing up in the build log during buildsystem
724   setup, by using the new <bdep> preinstall and runscripts attributes
725 - update: when updating, don't delete files with local modifications
726 - let the diff subcommand return 1 if differences were found
727 - fix important bug, which could lead to overwriting local modifications when
728   upstream changes are merged in
729 - if a merge fails, the store copy must be updated neverthelesss
730 - fix testsuite and add testcase for successful merging
731 - sort output of 'status' (unknown files first, filenames alphabetically)
732 - core: added class "metadata" (merge from Susannes /branches/froh/reponator/)
733 - added command alias 'stat' for 'status', like in svn
734 - improved documentation/examples (Lars + Susanne)
735 - print usage info if 'co' is called without arguments
736
737 0.9:
738 - "iChain-ready" (works with API server now using iChain authentication)
739 - add runtime check for build.rpm version, so the rpm package dependency is
740   no longer required
741 - add 'edituser' command for editing the metadata of a user account. It tries
742   to create a user if it doesn't exist yet. A new command 'usermeta' replaces
743   'id' respectively 'userid'.
744 - rewrite configuration handling. Now the API server can be set in .oscrc
745 - ignore '.gitignore', '.pc', '*~' (now using filename matching [#208969]
746 - fix 'status' to work with project directories as arguments
747 - fix 'status <filename>'
748 - 'rebuildpac' now accepts additional repo and arch argument. Note:
749   the syntax has changed.
750 - add 'prjresults' command to display aggregated build status over
751   an entire project
752 - add 'deleteprj' command (the API server doesn't seem to support
753   it yet, though)
754 - change 'buildhistory' to display human-readable text
755 - add 'copypac' subcommand, to copy a complete package to a new package, possibly cross-project
756 - don't die if user tries to 'add' a file which is already versioned
757 - don't die if 'addremove' encounters directories
758 - urlopen(): for server return code 500, print out the reply body
759
760 0.8:
761 - build: use configuration from *local* specfile (e.g. BuildRequires)
762 - build: let envvars OSC_SU_WRAPPER and OSC_BUILD_ROOT override config
763 - build: allow 'dynamical' build-root setting by using %(repo)s and %(arch)s
764 - add 'createpac/editpac' and 'createprj/editprj' subcommands which
765   are similar to 'editmeta' but should be more logical to find
766 - added 'deletepac' subcommand
767 - added 'buildhistory' subcommand (formerly 'history'). This only
768   gives out raw xml at this time
769 - added 'linkpac' subcommand
770 - added ".git" to the excluded files
771 - adapt to API changes
772 - fixed issue with uploading files when an intercepting web proxy was
773   in between osc and the api server
774 - fixed creation of new packages/projects
775
776 0.7:
777 - initial support for local builds (subcommand 'build')
778 - better error handling
779 - new subcommands buildconfig, buildinfo, repos
780 - remove requirement on pyxml package
781 - editmeta: add examples for package/project templates
782 - add support for streaming the build log (thanks to Christoph Thiel)
783 - add 'rebuildpac' subcommand
784 - add 'repourls' subcommand
785 - don't diff binary files
786 - don't try to merge binary files
787 - add a preliminary 'updatepacmetafromspec' subcommand, which takes package
788   metadata from a specfile
789 - fix profiling wrapper
790 - set User-agent
791 - bugfixes:
792   - fix handling of filenames with '+' signs
793   - make 'resolved' more robust
794   - fix merge on 'update' if called from another directory
795   - display reason for build status is 'broken'
796   - handle HTTP error codes != 404 when reading metadata in edit_meta()
797   - handle 'project not found' error in show_project_meta()
798
799
800 0.6:
801 - diff bugfix: sometimes displayed diff against obsolete files
802 - update bugfixes: fix update of working copy when adding a file from upstream
803   which is missing locally; fix update in directory with unmodified files:
804   don't try to merge if upstream file wasn't changed at all
805 - add: make it faster
806
807
808 0.5:
809 - help :-)
810 - add 'editmeta' subcommand: Edit project/package meta information, creating
811   new project or package if it doesn't exist. The user interface is $EDITOR
812 - fix status letter for files merged on update (in analogy to svn , it is
813   either G or U)
814 - if an old _files listing without any metadata is found, don't bother the user
815   with it
816 - make all subcommands properly importable functions
817 - bug in 'resolved' command fixed, which wouldn't clear the conflict state of a file
818
819
820 0.4:
821 - allow 'up' inside a project directory (will automatically pull in all new
822   packages). (For past checkouts, you may need to put the project name into
823   $prjdir/.osc/_project yourself).
824 - checkout: preserve mtimes
825 - add diff3 merge support. Locally modified files are merged with upstream changes
826   if possible, and go into Conflict state if that fails.
827 - add 'resolved' command to be used after manual merging.
828
829
830 0.3:
831 - use the new file metadata, which provides checksum, size and mtime
832 - faster 'status', 'update', 'diff'
833 - improve argument handling, now e.g. 'osc up *' is possible
834 - on first usage, ask for username and password and store them in .oscrc
835   (.netrc can still be used)
836