diff --git a/grep-3.1-glibc-2.28-fix.patch b/grep-3.1-glibc-2.28-fix.patch
deleted file mode 100644
index 4ca9377..0000000
--- a/grep-3.1-glibc-2.28-fix.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 66fb461..c6e96e4 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -55,10 +55,6 @@ XFAIL_TESTS = triple-backref
- # FIXME-2015: Remove this once the gnulib bug is fixed.
- if USE_INCLUDED_REGEX
- XFAIL_TESTS += equiv-classes
--else
--# The backslash-alt test fails for glibc, which needs to be fixed.
--# FIXME-2015: Remove this once the glibc bug is fixed.
--XFAIL_TESTS += backref-alt
- endif
- 
- TESTS =						\
-diff --git a/tests/Makefile.in b/tests/Makefile.in
-index 55c72d0..04e64af 100644
---- a/tests/Makefile.in
-+++ b/tests/Makefile.in
-@@ -108,9 +108,6 @@ check_PROGRAMS = get-mb-cur-max$(EXEEXT)
- # The included matcher needs to be fixed.
- # FIXME-2015: Remove this once the gnulib bug is fixed.
- @USE_INCLUDED_REGEX_TRUE@am__append_1 = equiv-classes
--# The backslash-alt test fails for glibc, which needs to be fixed.
--# FIXME-2015: Remove this once the glibc bug is fixed.
--@USE_INCLUDED_REGEX_FALSE@am__append_2 = backref-alt
- subdir = tests
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
-@@ -1408,7 +1405,7 @@ LDADD = ../lib/libgreputils.a $(LIBINTL) ../lib/libgreputils.a
- # matcher (i.e., with glibc) and with the included matcher.
- # Both matchers need to be fixed.
- # FIXME-2015: Remove this once the glibc and gnulib bugs are fixed.
--XFAIL_TESTS = triple-backref $(am__append_1) $(am__append_2)
-+XFAIL_TESTS = triple-backref $(am__append_1)
- TESTS = \
-   backref					\
-   backref-alt					\
diff --git a/grep-3.31-help-align.patch b/grep-3.31-help-align.patch
deleted file mode 100644
index caf6d4c..0000000
--- a/grep-3.31-help-align.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/src/grep.c b/src/grep.c
-index a2de03d..fd1b3a9 100644
---- a/src/grep.c
-+++ b/src/grep.c
-@@ -1962,17 +1962,20 @@ Output control:\n\
-   -D, --devices=ACTION      how to handle devices, FIFOs and sockets;\n\
-                             ACTION is 'read' or 'skip'\n\
-   -r, --recursive           like --directories=recurse\n\
--  -R, --dereference-recursive  likewise, but follow all symlinks\n\
-+  -R, --dereference-recursive\n\
-+                            likewise, but follow all symlinks\n\
- "));
-       printf (_("\
--      --include=FILE_PATTERN  search only files that match FILE_PATTERN\n\
--      --exclude=FILE_PATTERN  skip files and directories matching\
-+      --include=FILE_PATTERN\n\
-+                            search only files that match FILE_PATTERN\n\
-+      --exclude=FILE_PATTERN\n\
-+                            skip files and directories matching\
-  FILE_PATTERN\n\
-       --exclude-from=FILE   skip files matching any file pattern from FILE\n\
--      --exclude-dir=PATTERN  directories that match PATTERN will be skipped.\n\
-+      --exclude-dir=PATTERN directories that match PATTERN will be skipped.\n\
- "));
-       printf (_("\
--  -L, --files-without-match  print only names of FILEs with no selected lines\n\
-+  -L, --files-without-match print only names of FILEs with no selected lines\n\
-   -l, --files-with-matches  print only names of FILEs with selected lines\n\
-   -c, --count               print only a count of selected lines per FILE\n\
-   -T, --initial-tab         make tabs line up (if needed)\n\
diff --git a/grep-3.31-man-fix-gs.patch b/grep-3.31-man-fix-gs.patch
deleted file mode 100644
index 233270f..0000000
--- a/grep-3.31-man-fix-gs.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git a/doc/grep.in.1 b/doc/grep.in.1
-index 40c9586..a4e89eb 100644
---- a/doc/grep.in.1
-+++ b/doc/grep.in.1
-@@ -335,7 +335,7 @@ Print
- .I NUM
- lines of trailing context after matching lines.
- Places a line containing a group separator
--.RB ( \-\^\- )
-+.RB "(described under " \-\^\-group\-separator )
- between contiguous groups of matches.
- With the
- .B \-o
-@@ -348,7 +348,7 @@ Print
- .I NUM
- lines of leading context before matching lines.
- Places a line containing a group separator
--.RB ( \-\^\- )
-+.RB "(described under " \-\^\-group\-separator )
- between contiguous groups of matches.
- With the
- .B \-o
-@@ -361,13 +361,24 @@ Print
- .I NUM
- lines of output context.
- Places a line containing a group separator
--.RB ( \-\^\- )
-+.RB "(described under " \-\^\-group\-separator )
- between contiguous groups of matches.
- With the
- .B \-o
- or
- .B \-\^\-only\-matching
- option, this has no effect and a warning is given.
-+.TP
-+.BI \-\^\-group\-separator= SEP
-+Use
-+.I SEP
-+as a group separator. By default
-+.I SEP
-+is double hyphen
-+.RB ( \-\^\- ).
-+.TP
-+.B \-\^\-no\-group-separator
-+Use empty string as a group separator.
- .SS "File and Directory Selection"
- .TP
- .BR \-a ", " \-\^\-text
-diff --git a/src/grep.c b/src/grep.c
-index 8d22aec..a2de03d 100644
---- a/src/grep.c
-+++ b/src/grep.c
-@@ -1986,6 +1986,8 @@ Context control:\n\
- "));
-       printf (_("\
-   -NUM                      same as --context=NUM\n\
-+      --group-separator=SEP use SEP as a group separator\n\
-+      --no-group-separator  use empty string as a group separator\n\
-       --color[=WHEN],\n\
-       --colour[=WHEN]       use markers to highlight the matching strings;\n\
-                             WHEN is 'always', 'never', or 'auto'\n\
diff --git a/grep-3.33-help-align.patch b/grep-3.33-help-align.patch
new file mode 100644
index 0000000..84ad75d
--- /dev/null
+++ b/grep-3.33-help-align.patch
@@ -0,0 +1,23 @@
+diff --git a/src/grep.c b/src/grep.c
+index 5b05969..2384789 100644
+--- a/src/grep.c
++++ b/src/grep.c
+@@ -1962,7 +1962,8 @@ Output control:\n\
+   -D, --devices=ACTION      how to handle devices, FIFOs and sockets;\n\
+                             ACTION is 'read' or 'skip'\n\
+   -r, --recursive           like --directories=recurse\n\
+-  -R, --dereference-recursive  likewise, but follow all symlinks\n\
++  -R, --dereference-recursive\n\
++                            likewise, but follow all symlinks\n\
+ "));
+       printf (_("\
+       --include=GLOB        search only files that match GLOB (a file pattern)"
+@@ -1972,7 +1973,7 @@ Output control:\n\
+       --exclude-dir=GLOB    skip directories that match GLOB\n\
+ "));
+       printf (_("\
+-  -L, --files-without-match  print only names of FILEs with no selected lines\n\
++  -L, --files-without-match print only names of FILEs with no selected lines\n\
+   -l, --files-with-matches  print only names of FILEs with selected lines\n\
+   -c, --count               print only a count of selected lines per FILE\n\
+   -T, --initial-tab         make tabs line up (if needed)\n\
diff --git a/grep-3.33-man-fix-gs.patch b/grep-3.33-man-fix-gs.patch
new file mode 100644
index 0000000..7086911
--- /dev/null
+++ b/grep-3.33-man-fix-gs.patch
@@ -0,0 +1,61 @@
+diff --git a/doc/grep.in.1 b/doc/grep.in.1
+index 9d0d494..735b462 100644
+--- a/doc/grep.in.1
++++ b/doc/grep.in.1
+@@ -451,7 +451,7 @@ Print
+ .I NUM
+ lines of trailing context after matching lines.
+ Places a line containing a group separator
+-.RB ( \-\^\- )
++.RB "(described under " \-\^\-group\-separator )
+ between contiguous groups of matches.
+ With the
+ .B \-o
+@@ -464,7 +464,7 @@ Print
+ .I NUM
+ lines of leading context before matching lines.
+ Places a line containing a group separator
+-.RB ( \-\^\- )
++.RB "(described under " \-\^\-group\-separator )
+ between contiguous groups of matches.
+ With the
+ .B \-o
+@@ -477,13 +477,24 @@ Print
+ .I NUM
+ lines of output context.
+ Places a line containing a group separator
+-.RB ( \-\^\- )
++.RB "(described under " \-\^\-group\-separator )
+ between contiguous groups of matches.
+ With the
+ .B \-o
+ or
+ .B \-\^\-only\-matching
+ option, this has no effect and a warning is given.
++.TP
++.BI \-\^\-group\-separator= SEP
++Use
++.I SEP
++as a group separator. By default
++.I SEP
++is double hyphen
++.RB ( \-\^\- ).
++.TP
++.B \-\^\-no\-group-separator
++Use empty string as a group separator.
+ .SS "File and Directory Selection"
+ .TP
+ .BR \-a ", " \-\^\-text
+diff --git a/src/grep.c b/src/grep.c
+index 9fb5e92..5b05969 100644
+--- a/src/grep.c
++++ b/src/grep.c
+@@ -1986,6 +1986,8 @@ Context control:\n\
+ "));
+       printf (_("\
+   -NUM                      same as --context=NUM\n\
++      --group-separator=SEP use SEP as a group separator\n\
++      --no-group-separator  use empty string as a group separator\n\
+       --color[=WHEN],\n\
+       --colour[=WHEN]       use markers to highlight the matching strings;\n\
+                             WHEN is 'always', 'never', or 'auto'\n\
diff --git a/grep.spec b/grep.spec
index f88e90e..8d2ded0 100644
--- a/grep.spec
+++ b/grep.spec
@@ -1,7 +1,7 @@
 Summary: Pattern matching utilities
 Name: grep
-Version: 3.1
-Release: 9%{?dist}
+Version: 3.3
+Release: 1%{?dist}
 License: GPLv3+
 URL: http://www.gnu.org/software/grep/
 
@@ -11,10 +11,9 @@ Source2: colorgrep.csh
 Source3: GREP_COLORS
 Source4: grepconf.sh
 # upstream ticket 39444
-Patch0: grep-3.31-man-fix-gs.patch
+Patch0: grep-3.33-man-fix-gs.patch
 # upstream ticket 39445
-Patch1: grep-3.31-help-align.patch
-Patch2: grep-3.1-glibc-2.28-fix.patch
+Patch1: grep-3.33-help-align.patch
 
 BuildRequires: gcc
 BuildRequires: pcre-devel >= 3.9-10, texinfo, gettext
@@ -37,7 +36,6 @@ GNU grep is needed by many scripts, so it shall be installed on every system.
 %setup -q
 %patch0 -p1 -b .man-fix-gs
 %patch1 -p1 -b .help-align
-%patch2 -p1 -b .glibc-2.28-fix
 
 %build
 %global BUILD_FLAGS $RPM_OPT_FLAGS
@@ -80,6 +78,12 @@ make check
 %{_libexecdir}/grepconf.sh
 
 %changelog
+* Wed Apr 10 2019 Jaroslav Škarvada <jskarvad@redhat.com> - 3.3-1
+- New version
+  Resolves: rhbz#1698044
+- Updated patches
+- Dropped glibc-2.28-fix patch (not needed)
+
 * Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
 
diff --git a/sources b/sources
index d9baf39..d85d96b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (grep-3.1.tar.xz) = 05494381c7dd8aad7e2ee4c17450de8d7b969a99dcfe17747db60df3475bf02d5323d091e896e8343e4f3251c29dc7f0b7a9f93c575c9d58ee2a57014c2c9d26
+SHA512 (grep-3.3.tar.xz) = e4805dbddf7cd0f0faf412557d408509650c1ccf703bc450f10a3f727c690dbfaa1235aa81939a0e4b7ac6190f88c15ea1fcc562b343d4b4c7550f967aeb15db