diff --git a/1217.patch b/1217.patch
deleted file mode 100644
index 9d7dd39..0000000
--- a/1217.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 18cdec255404dc0d63b81e77107636f8f5db79f2 Mon Sep 17 00:00:00 2001
-From: lethliel <mstrigl@suse.com>
-Date: Fri, 20 Jan 2023 10:10:50 +0100
-Subject: [PATCH] use correct variable prj instead of project
-
----
- behave/features/rdelete.feature | 6 ++++++
- osc/core.py                     | 2 +-
- 2 files changed, 7 insertions(+), 1 deletion(-)
- create mode 100644 behave/features/rdelete.feature
-
-diff --git a/behave/features/rdelete.feature b/behave/features/rdelete.feature
-new file mode 100644
-index 000000000..df26a25fc
---- /dev/null
-+++ b/behave/features/rdelete.feature
-@@ -0,0 +1,6 @@
-+Feature: `osc rdelete` command
-+
-+@destructive
-+Scenario: Run `osc rdelete` to delete a project and mark it with a desctructive tag
-+   When I execute osc with args "rdelete -r -f test:factory -m 'cleanup'"
-+   Then the exit code is 0 
-diff --git a/osc/core.py b/osc/core.py
-index 6a86901b1..59d3f4fdb 100644
---- a/osc/core.py
-+++ b/osc/core.py
-@@ -6073,7 +6073,7 @@ def delete_package(apiurl: str, prj: str, pac: str, force=False, msg=None):
- 
- def delete_project(apiurl: str, prj: str, force=False, msg=None, recursive=False):
-     if not recursive:
--        packages = meta_get_packagelist(apiurl, project)
-+        packages = meta_get_packagelist(apiurl, prj)
-         if packages:
-             error_msg = \
-                 "Project contains packages. It must be empty before deleting it. " \
diff --git a/1228.patch b/1228.patch
deleted file mode 100644
index af3fb1f..0000000
--- a/1228.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 732ff678e789e7624e6d15b2ad641dba3828e4d7 Mon Sep 17 00:00:00 2001
-From: Fabian Vogt <fvogt@suse.de>
-Date: Wed, 25 Jan 2023 11:38:08 +0100
-Subject: [PATCH] Fix osc.get_request_list ignoring the req_type parameter
-
----
- osc/core.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/osc/core.py b/osc/core.py
-index 0e8d027ac..bdce9e94c 100644
---- a/osc/core.py
-+++ b/osc/core.py
-@@ -4741,6 +4741,9 @@ def get_request_list(
-         "states": req_state,
-     }
- 
-+    if req_type is not None:
-+        kwargs["types"] = [req_type]
-+
-     assert not exclude_target_projects, "unsupported"
-     assert not withfullhistory, "unsupported"
- 
diff --git a/PKGBUILD b/PKGBUILD
index 2a93dac..bec5854 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,5 +1,5 @@
 pkgname=osc
-pkgver=1.0.0~b3
+pkgver=1.0.0~b4
 pkgrel=0
 pkgdesc="Command-line client for the Open Build Service"
 arch=('x86_64')
diff --git a/_service b/_service
index 5d08a4b..4285532 100644
--- a/_service
+++ b/_service
@@ -1,7 +1,7 @@
 <services>
   <service name="tar_scm" mode="disabled">
-    <param name="version">1.0.0~b3</param>
-    <param name="revision">1.0.0b3</param>
+    <param name="version">1.0.0~b4</param>
+    <param name="revision">1.0.0b4</param>
     <param name="url">https://github.com/openSUSE/osc.git</param>
     <param name="scm">git</param>
   </service>
diff --git a/debian.changelog b/debian.changelog
index a6d3c82..6063083 100644
--- a/debian.changelog
+++ b/debian.changelog
@@ -1,4 +1,4 @@
-osc (1.0.0~b3-0) unstable; urgency=low
+osc (1.0.0~b4-0) unstable; urgency=low
   - Update to 0.174.0:
     - fix password deletion via "osc config -d <apiurl> pass"
     - support changing the password store via "osc config <apiurl>
diff --git a/osc-1.0.0~b3.tar.gz b/osc-1.0.0~b3.tar.gz
deleted file mode 100644
index e37de30..0000000
--- a/osc-1.0.0~b3.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1e03344bb8eb686e183c544c1fd962c360e1526d2a1fd42dd0bc087b25dc57a3
-size 375831
diff --git a/osc-1.0.0~b4.tar.gz b/osc-1.0.0~b4.tar.gz
new file mode 100644
index 0000000..6c053ce
--- /dev/null
+++ b/osc-1.0.0~b4.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:466fb9cd56d34461314e9de83c3c14472227faa6924d5a34d4e0e4c2684aad51
+size 377027
diff --git a/osc.changes b/osc.changes
index 2966d08..d38edcc 100644
--- a/osc.changes
+++ b/osc.changes
@@ -1,3 +1,31 @@
+-------------------------------------------------------------------
+Fri Feb  3 10:11:27 UTC 2023 - Daniel Mach <daniel.mach@suse.com>
+
+- 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
+
 -------------------------------------------------------------------
 Wed Jan 25 10:48:38 UTC 2023 - Dirk Müller <dmueller@suse.com>
 
diff --git a/osc.dsc b/osc.dsc
index 2f22f07..2fda0b9 100644
--- a/osc.dsc
+++ b/osc.dsc
@@ -1,6 +1,6 @@
 Format: 1.0
 Source: osc
-Version: 1.0.0~b1-0
+Version: 1.0.0~b4-0
 Binary: osc
 Maintainer: Adrian Schroeter <adrian@suse.de>
 Architecture: any
diff --git a/osc.spec b/osc.spec
index 3724c96..35c5397 100644
--- a/osc.spec
+++ b/osc.spec
@@ -49,7 +49,7 @@
 %endif
 
 Name:           osc
-Version:        1.0.0~b3
+Version:        1.0.0~b4
 Release:        0
 Summary:        Command-line client for the Open Build Service
 License:        GPL-2.0-or-later
@@ -62,8 +62,7 @@ Source:         %{name}-%{version}.tar.gz
 Source1:        debian.dirs
 Source2:        debian.docs
 %endif
-Patch1:         https://github.com/openSUSE/osc/pull/1228.patch
-Patch2:         https://github.com/openSUSE/osc/pull/1217.patch
+
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
@@ -84,6 +83,9 @@ Requires:       %{use_python_pkg}-urllib3
 # needed for showing download progressbars
 Recommends:     %{use_python_pkg}-progressbar
 
+# needed for setting the default editor by distro
+Recommends:     %{use_python_pkg}-distro
+
 # needed for storing credentials in kwallet/gnome-keyring
 Recommends:     %{use_python_pkg}-keyring
 Recommends:     %{use_python_pkg}-keyring-keyutils