diff --git a/CHANGES b/CHANGES
index 69ad450..5afbc74 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,6 @@
 ﻿
+####################### V 1.8.0.0
+
 Security:
 	Socats OpenSSL addresses do not (and never did) check certificate
 	revocation lists (CRLs). Socat now prints a warning about this.
diff --git a/README b/README
index 386a575..a0d2be4 100644
--- a/README
+++ b/README
@@ -45,29 +45,17 @@
 platforms
 ---------
 
-socat 1.7.0 was compiled and more or less successfully tested under the
+socat 1.8.0 was compiled and more or less successfully tested under the
 following operating systems:
 
-Debian lenny/sid on x86, kernel 2.6.24
-FreeBSD 6.1 on x86
-NetBSD 4.0  on x86
-OpenBSD 4.3 on x86
-OpenSolaris 10 on x86 with gcc
-Mac OS X 10.5.5 on iMac G5, with libreadline
-HP-UX 11.23
-AIX 5.3 on 64bit Power4 with gcc
-Cygwin 1.5.25 on i686
-
-tests on Tru64 can no longer be performed because HP testdrive has taken down
-these hosts.
-
-Some versions of socat have been reported to successfully compile under older
-Linux versions back to RedHat 2.1 (kernel 1.2.13, gcc 2.7.0), under AIX 4.1 and
-4.3, SunOS 5.7-5.8, FreeBSD 4.2 - 4.9, MacOS X 10.1, Cygwin, Solaris 8 on x86, 
-OSR 5.0.6, NetBSD 1.6.1 and 2.0.2, OpenBSD 3.4 and 3.8, Tru64 5.1B, Mac OS X
-10.1-10.2, and HP-UX 11
-
-It might well compile and run under other UNIX like operating systems.
+Debian 4 on x86_64
+FreeBSD 10 on amd64
+OpenBSD 7.2 on amd64
+OpenIndiana 2021-04 on i386 with gcc
+Ubuntu 10.04 on i386
+Ubuntu 12..22
+Rocky 9
+Cygwin 10.0
 
 
 install
@@ -75,16 +63,15 @@
 
 Get the tarball and extract it:
 	tar xzf socat.tar.gz
-	cd socat-1.7.4.5
+	cd socat-1.8.0.0
 	./configure
 	make
 	su
 	make install	# installs socat, filan, and procan in /usr/local/bin
 
-For compiling socat, gcc (or egc) is recommended.
-If gcc is not available, the configure script will fail to determine
-some features; then you'd better begin with one of the Makefiles and config.h's
-from the Config directory.
+For compiling socat, gcc (or clang) is recommended.
+If gcc (or a compiler with similar front end) is not available, the configure
+script might fail to determine some features
 
 If you have problems with the OpenSSL library, you can apply the option
 "--disable-openssl" to configure.
@@ -248,13 +235,7 @@
 socat 1.6.0.1 and later) using the yodl document language package. Maintenance
 of yodl had been discontinued by its author
 (http://www.xs4all.nl/~jantien/yodl/) (there seems to be a revival at
-http://yodl.sourceforge.net/ though). For socat, the old version 1.31 is used;
-an rpm is still distributed with recent OpenSuSE versions (confirmed for
-OpenSuSE 10.1 in suse/i586/yodl-1.31.18-1142.i586.rpm). It appears to install
-smoothly also under RedHat Linux. After yodl 1.31 installation, the following
-correction must be performed in /usr/share/yodl/shared.yo in two places:
-< whenhtml(htmlcommand(<!)ARG1+htmlcommand(>)))
-> whenhtml(htmlcommand(<!--)ARG1+htmlcommand(-->)))
+http://yodl.sourceforge.net/ though). For socat, the revival version 3.03 is used,
 
 
 license
diff --git a/VERSION b/VERSION
index ceaf471..af0cc87 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-"1.7.4.5+"
+"1.8.0.0"
diff --git a/doc/socat.yo b/doc/socat.yo
index 4c05fab..7266dfd 100644
--- a/doc/socat.yo
+++ b/doc/socat.yo
@@ -774,7 +774,7 @@
    link(-U)(option_U) and link(dual addresses)(ADDRESS_DUAL).nl()
    Socat() provides this address type only on Linux because POSIX MQ is based
    on UNIX filedescriptors there.nl()
-   This feature is new in version 1.7.5.0 and might change in the future,
+   This feature is new in version 1.8.0.0 and might change in the future,
    therefore it is link(experimental)(option_experimental).nl()
    Useful options:
    link(posixmq-priority)(OPTION_POSIXMQ_PRIORITY),
@@ -2294,7 +2294,7 @@
 label(OPTION_SO_REUSEADDR)dit(bf(tt(reuseaddr[=[0|1]])))
    Allows other sockets to bind to an address even if parts of it (e.g. the
    local port) are already in use by socat().nl()
-   With version 1.7.5, this socket option is set automatically for TCP LISTEN
+   With version 1.8.0, this socket option is set automatically for TCP LISTEN
    addresses. If you prefer the system default (no related
    tt(setsockopt(...SO_REUSEADDR...)) call at all), use form tt(reuseaddr=).nl()
    (link(example)(EXAMPLE_OPTION_SO_REUSEADDR)).
@@ -4775,7 +4775,7 @@
 label(VERSION)
 manpagesection(VERSION)
 
-This man page describes version 1.7.4 of socat().
+This man page describes version 1.8.0 of socat().
 
 
 label(BUGS)
diff --git a/socat.spec b/socat.spec
index caaab79..654f28f 100644
--- a/socat.spec
+++ b/socat.spec
@@ -1,6 +1,6 @@
 
-%define majorver 1.7
-%define minorver 4.5
+%define majorver 1.8
+%define minorver 0.0
 
 Summary: socat - multipurpose relay
 Name: socat
