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