- 1.3.0
- Command-line:
- Add experimental support of Git SCM to the 'build' command
- Add experimental support of Git SCM to the 'service' command
- Make 'meta' command capable of editing attributes
- Change '--add' option in 'meta attribute' command to skip duplicate values
- Add an interactive option to display build log in 'request list -i' command
- Add '--setopt' option for setting config options from the command-line
- Fix '--prefer-pkgs' option for noinstall="1" packages in kiwi builds
- Change 'checkout' command to print open requests only when running in an interactive terminal
- Enhance '--force' option description in the 'request' command
- Connection:
- Fix crash when HTTP_PROXY env contains no auth
- Library:
- Add 'git_scm' module for handling packages that live in git scm rather than usual obs scm
- Change pop_project_package_from_args() to use get_store() to support Git SCM
- Change osc.build module to use 'store' object instead of calling core.store_*() functions
- Use alternative project if specified in parse_repoarchdescr()
- Fix xml indent() on Python 3.6
- Fix less pager by adding '-R' to LESS env
- Improve print_msg() and migrate some arbitrary prints to it
OBS-URL: https://build.opensuse.org/request/show/1103139
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=406
- 1.2.0
- Command-line:
- Add 'repo' command and subcommands for managing repositories in project meta
- Extend 'browse' command to open requests in a web browser
- Add highlighting for 'osc diff' and similar commands
- Fix 'api' command to stream output to avoid running out of memory
- Fix printing utf-8 characters to stdout
- Connection:
- Fix ValueError: Cannot set verify_mode to CERT_NONE when check_hostname is enabled
- Authentication:
- Correctly handle passwords with utf-8 characters
- Library:
- Fix crash when submiting a SCM package which has no _link
- Fix local service execution of scmsync packages
- Detect target package by its full name, instead of assuming its origin is identical to the source package type
- Other:
- Spell openSUSE correctly
OBS-URL: https://build.opensuse.org/request/show/1098639
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=404
- 1.1.4
- Command-line:
- Change 'review list' command to display open requests (state: new, review, declined)
- Fix running osc in an AppImage by switching to the correct working directory
- Handle ProtocolError exception
- Library:
- Add 'req_states' parameter to osc.core.get_review_list()
- Connection:
- Fix grabber to work with old urllib3 versions that do not contain URLSchemeUnknown exception
OBS-URL: https://build.opensuse.org/request/show/1088780
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=402
- 1.1.3
- Command-line:
- Backup edited messages and notify user about them when osc errors out
- Consider only open requests when listing requests with a given review state
- Fix 'diff' command when no files are specified
- Configuration:
- Add glob support to the 'trusted_prj' config option
- Library:
- Fix core.xmlindent() to work with ElementTree objects
OBS-URL: https://build.opensuse.org/request/show/1085990
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=399
- 1.1.2
- Command-line:
- Add '--buildtool-opt' option passing options to underlying rpmbuild to the 'build' command
- Fix 'diff' command to support diffing selected files only
- Identify inherited packages in the 'dependson' command output
- Bring the '--debug' option back to the 'buildinfo' command
- Fix 'buildhistory' command by setting the type of the '--limit' option to int
- Library:
- Fix a traceback when failed to unlock a keyring
- Don't retry on 400 HTTP status code in core.server_diff()
- Clean-up the '.old' folder if an exception happens
- Document 'popt' attribute in the _link template
- Fix build.get_repo() to return only directory that contains 'repodata/repomd.xml'
- Connection:
- Retry on receiving the following HTTP status codes: 400, 500, 502, 503, 504
- Allow disabling retry on 400 HTTP status code
- Fix urlgrab to skip mirrors with invalid scheme
OBS-URL: https://build.opensuse.org/request/show/1084818
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/osc?expand=0&rev=176
- 1.1.2
- Command-line:
- Add '--buildtool-opt' option passing options to underlying rpmbuild to the 'build' command
- Fix 'diff' command to support diffing selected files only
- Identify inherited packages in the 'dependson' command output
- Bring the '--debug' option back to the 'buildinfo' command
- Fix 'buildhistory' command by setting the type of the '--limit' option to int
- Library:
- Fix a traceback when failed to unlock a keyring
- Don't retry on 400 HTTP status code in core.server_diff()
- Clean-up the '.old' folder if an exception happens
- Document 'popt' attribute in the _link template
- Fix build.get_repo() to return only directory that contains 'repodata/repomd.xml'
- Connection:
- Retry on receiving the following HTTP status codes: 400, 500, 502, 503, 504
- Allow disabling retry on 400 HTTP status code
- Fix urlgrab to skip mirrors with invalid scheme
OBS-URL: https://build.opensuse.org/request/show/1084218
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=395
- 1.1.1
- Command-line:
- Fix 'creq' command that wasn't working at all
- Fix 'ls' command when listing all projects by setting project argument to '/'
- Fix regression: Run interactive config setup on missing config or credentials
- Append plugin dirs to sys.path to allow loading modules installed next to the plugins
- Do not recurse into subdirs when loading plugins
- Configuration:
- Display apiurl when asking for a username or a password
- If apiurl is not set in interactive_config_setup(), use apiurl from DEFAULTS
- Library:
- Decode entities in HTTPError message body
OBS-URL: https://build.opensuse.org/request/show/1078421
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=392
- Update to 1.1.0
- Command-line:
- New class-based commands
- Sort commands before printing help
- No longer read plugins from /var/lib/osc-plugins
- Configuration:
- Do not error out on setting oscrc permissions if the file is owned by another user
- Library:
- Restore 'include_request_from_project' conf option functionality
- Simplify how babysitter works with options and config
- Prefer f-strings over c-style string expansion
OBS-URL: https://build.opensuse.org/request/show/1076940
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=390
- 1.0.0b4
- Fix regressions to osc 0.x:
- mv: Fix traceback due to missing target file name
- rm: Fix creating a Package object by providing multiple files on the command line
- copypac: Fix downgrading a package to an old revision
- buildhist: Fix running from a package checkout
- rebuild: Fix running from a package checkout
- rdiff: Fix traceback when new project is not specified
- rq list: Fix passing values of the --type option
- build: Fix reading extra-pkgs from oscrc
- Support withfullhistory in osc.core.get_request_list again
- Fix osc.get_request_list ignoring the req_type parameter
- Revert "Do not list declined requests by default"
- connection: Mute the "Converted retries value" debug message
- connection: Fix traceback on loading an invalid cookiejar file
- connection: Save cookiejar only when there's a Set-Cookie header in the response
- Add oscerr.ProjectError class needed by core.delete_project()
- Fix all errors reported by pylint
- spec file:
- drop upstreamed patches:
- 1217.patch
- 1228.patch
- Recommend python3-distro - needed for setting the default editor by distro
OBS-URL: https://build.opensuse.org/request/show/1063014
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=382
1.0.0b3
- add create-pbuild-config (cpc) command which allows to create a working
config for pbuild tool based on OBS server side data
- branch: Add --disable-build option
- linkpac: Add --disable-build option
- linkpac: Fix linking a locked package by not copying the lock to the target package
- sr: Do not error out on using an alias to apiurl
- rq: Fix the -M/--mine option to show only requests created by the user
- rq list: Avoid conflict between --all and --state options
- rq list: Fix traceback when there's no search criteria
- rq list -i: Enable forwarding requests to the parent projects
- rq show: Improve output
- sr accept: Enable forwarding requests to the parent projects
- setlinkrev: Write a log message on setting a revision
- buildhistory: Produce proper output using build_table() and a CSV writer
- buildinfo: Bring the -d/--debug option back
- build: Bring the --verbose' option back as --verbose-mode=MODE to avoid conflicts with global --verbose
- service: Add verbose option for running local services
- service: Fix manual run of source service
- conf: Avoid crash when deleting a password
- connection: Fix the '9 - review the server certificate' option in cert trust prompt
- Handle uncompressed Debian packages
- Fix osc add for github /archive/ URLs
- Handle empty EDITOR=/PAGER= env variable properly
- Mute ssl/tls deprecation warnings
- Add "--extra-pkgs-from" ("-X") option to osc build.
- Fix a scenario when OBS sends unexpected md5s
- Replace core.findpacs() with Package.from_paths() and Package.from_paths_nofail()
- Always list requests with 'new,review' states by default
- Change get_request_collection() not to list declined requests by default
- Add information about osc vc using the EDITOR envar to the help output
- Improve argument handling in many commands
- Implement Store class handling '.osc' dirs, migrate some code to it
- Code cleanups
- Deprecated:
- core.get_request_list() function
- core.store_write_apiurl() function
- core.store_read_scmurl() function
- core.store_read_apiurl() function
1.0.0b2
- Support ssh-agent forwarding
- ssh auth: Avoid password prompt when using TransientCredentialsManager
- Properly handle missing ssh-keygen and ssh-add
- Add ssh-keygen as a recommends for ssh MFA authentication
- Print user and apiurl when prompting for a password
- Pass apiurl to all auth handlers
- Do not list declined requests by default
- Fix 'osc up' on project level for scm packages
- Lock cookiejar to prevent unnecessary signature auth
- Process input with configurable project separators
- Add project_separator to config file
- Fix race condition in using .old directory in Serviceinfo.execute()
- Send HTTP header Accept: application/xml
- Print URLs and xpaths in debug rather than verbose mode
- Inject no-op print() into http.client when http debugging is off
- Reset "file current position" on errors in HTTP requests
- Create ~/.config/osc/trusted-certs if not exists
- conf: Convert defaults to their expected types
- Document `build` repo selection logic
- Add debug print for REPO (and desc just in case)
- Shortened `build` help and add debug prints
- Replace unmaintained cmdln.py with a custom code
- Allow intermixing positional and optional args
- Add global options to subcommands so they can be specified in any place
- Remove the '-A' option from the 'maintainer' command
- Replace the '-q/--hide-legend' option in 'prjresults' command with global '-q/--quiet' option
- Remove duplicated --debug and --verbose options
- Add version command to print the used version
- Remove deprecated 'plaintext_passwd' config option
- Remove deprecated 'GnomeKeyringCredentialsManager' and related code
- Remove deprecated '--skip-validation' option from the 'commit' command
- Remove deprecated '--oldpkg', '--oldprj' options from the 'rdiff' command
- Remove deprecated subcommands 'create', 'list', 'log', 'show', 'decline', 'accept', 'delete', 'revoke' from the 'submitrequest' command
- Remove deprecated '--seperate-requests' option from the 'submitrequest' command
- Remove deprecated '--raw' option from the 'develproject' command
- Remove deprecated '--maintained' option from the 'search' command
- Remove deprecated 'rlog' command
- Remove deprecated 'rprjresults' command
- Remove deprecated 'rresults' command
- Remove deprecated 'results_meta' command
- Remove deprecated 'deleteprj' command
- Remove deprecated 'deletepac' command
- Remove deprecated 'editmeta' command
- Remove deprecated Request.get_creator()
- Remove PROJ_PACK.txt file, move its content to GitHub issue #1099
- Remove TODO file, move its content to GitHub issue #1098
- Remove fuse support
- Remove unused run_bandit.sh
- Remove obsolete osc_expand_link.pl
- Remove unused icons
- Replace imp with importlib
- Move files from dist/ to contrib/
- Move osc.fish under contrib/
- Move python package metadata from setup.py to setup.cfg
- Move __version__ from osc.core to osc
- Fix resource warnings (unclosed files)
- 1.0.0b1
- drop Python 2 support
- switch http_request() to urllib3 and cryptography (drop M2Crypto dependency)
- warn when using HTTP connection, Make HTTPS the default
- add XDG compatible location for osc plugins
- replace osc-wrapper.py with entry_points.
- core: add functions for glob matching of multibuild flavors
- fix multibuild packages in all osc commands where applicable
- do not ask for login for -h,--help
- move format_table() to util.helper
- code cleanups
OBS-URL: https://build.opensuse.org/request/show/1058838
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=376
- 0.181.0
- fix crash when 'pass' is not set in the config file
- add missing attributes to Package when scm_url is set
- fix failure to create config in current dir
- update list of considered file names for ssh key autodetection
- allow users to prefer ssh key over password auth
- ssh: recognize gpg keys (yubikey usage)
- fix operating on _project meta
- revert "interpretation of string literals in messages" that broke unicode handling
- fix product build rpm caching
- enable md5 revisions in osc log
- parseRevisionOption(): raise an exception on invalid revisions
OBS-URL: https://build.opensuse.org/request/show/991346
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=366
- 0.178.0
- EXPERIMENTAL: git repository handling
* init command is working inside of a git repository
* downloadassets command fetches references assets from build description
* checkout is cloning from git
- EXPERIMENTAL: signature (ssh key) authetication
* allow to configure 'sshkey' option in the config
* try to guess ssh key from the keys added to ssh-agent
* rename OscHTTPBasicAuthHandler to OscHTTPAuthHandler
* simplify bad auth retry workaround needed for old python versions
- add support for building preinstall images
- add support for building Helm charts
- show the md5s that are failing to validate after fetching a package
- add missing space to copypac completion
- never require login in the help command
- linkdiff: raise an exception when an added file is missing
- run tests via calling 'setup.py test'
- several coding style fixes
- spec file:
- run tests via calling 'setup.py test'
- disabled tests in debian.rules
OBS-URL: https://build.opensuse.org/request/show/979843
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=360
- 0.177.0
* switch to python3 in osc-wrapper and make python3 explicit
* allow formatting of the sccache uri
* show repository state and details
* a few minor fixes and improvements in credentials handling
* order credential managers by priority
* kernel keyring is now supported as credential manager
* support regex based name filtering in core.get_prj_results()
* revision parsing parseRevisionOption(): cleanup and make logic consistent
* use sr_ids[0] for superseding (fixes issues with superseding requests
containing many packages
* download logs and metadata in subdirs named by packages when osc getbinaries
is issued on project level or in multibuild case
- spec file:
* recommed python-keyring-keyutils for new kernel keyring backend
OBS-URL: https://build.opensuse.org/request/show/972884
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=358