diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
+2.5.3.0
+-------
+* Updated OpenGL registry to r31903.
+* Added `GL_EXT_multisampled_compatibility` tokens and functions (gles2 extension only).
+
 2.5.2.1
 -------
+* Added CHANGELOG.md to distribution.
 
 2.5.2.0
 -------
diff --git a/OpenGLRaw.cabal b/OpenGLRaw.cabal
--- a/OpenGLRaw.cabal
+++ b/OpenGLRaw.cabal
@@ -1,5 +1,5 @@
 name: OpenGLRaw
-version: 2.5.2.1
+version: 2.5.3.0
 synopsis: A raw binding for the OpenGL graphics system
 description:
   OpenGLRaw is a raw Haskell binding for the OpenGL 4.5 graphics system and
diff --git a/RegistryProcessor/OpenGL-Registry/gl.xml b/RegistryProcessor/OpenGL-Registry/gl.xml
# file too large to diff: RegistryProcessor/OpenGL-Registry/gl.xml
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Functions.hs b/src/Graphics/Rendering/OpenGL/Raw/Functions.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Functions.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Functions.hs
@@ -75,6 +75,7 @@
   glBindFragDataLocation,
   glBindFragDataLocationEXT,
   glBindFragDataLocationIndexed,
+  glBindFragDataLocationIndexedEXT,
   glBindFragmentShaderATI,
   glBindFramebuffer,
   glBindFramebufferEXT,
@@ -902,6 +903,7 @@
   glGetFloatv,
   glGetFogFuncSGIS,
   glGetFragDataIndex,
+  glGetFragDataIndexEXT,
   glGetFragDataLocation,
   glGetFragDataLocationEXT,
   glGetFragmentLightfvSGIX,
@@ -1085,6 +1087,7 @@
   glGetProgramResourceIndex,
   glGetProgramResourceLocation,
   glGetProgramResourceLocationIndex,
+  glGetProgramResourceLocationIndexEXT,
   glGetProgramResourceName,
   glGetProgramResourcefvNV,
   glGetProgramResourceiv,
@@ -4006,6 +4009,21 @@
 ptr_glBindFragDataLocationIndexed :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
 ptr_glBindFragDataLocationIndexed = unsafePerformIO $ getCommand "glBindFragDataLocationIndexed"
 
+-- glBindFragDataLocationIndexedEXT --------------------------------------------
+
+glBindFragDataLocationIndexedEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @colorNumber@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLchar -- ^ @name@.
+  -> m ()
+glBindFragDataLocationIndexedEXT v1 v2 v3 v4 = liftIO $ dyn24 ptr_glBindFragDataLocationIndexedEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBindFragDataLocationIndexedEXT #-}
+ptr_glBindFragDataLocationIndexedEXT :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
+ptr_glBindFragDataLocationIndexedEXT = unsafePerformIO $ getCommand "glBindFragDataLocationIndexedEXT"
+
 -- glBindFragmentShaderATI -----------------------------------------------------
 
 glBindFragmentShaderATI
@@ -16199,6 +16217,19 @@
 ptr_glGetFragDataIndex :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
 ptr_glGetFragDataIndex = unsafePerformIO $ getCommand "glGetFragDataIndex"
 
+-- glGetFragDataIndexEXT -------------------------------------------------------
+
+glGetFragDataIndexEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> Ptr GLchar -- ^ @name@.
+  -> m GLint
+glGetFragDataIndexEXT v1 v2 = liftIO $ dyn306 ptr_glGetFragDataIndexEXT v1 v2
+
+{-# NOINLINE ptr_glGetFragDataIndexEXT #-}
+ptr_glGetFragDataIndexEXT :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
+ptr_glGetFragDataIndexEXT = unsafePerformIO $ getCommand "glGetFragDataIndexEXT"
+
 -- glGetFragDataLocation -------------------------------------------------------
 
 -- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetFragDataLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetFragDataLocation.xhtml OpenGL 4.x>
@@ -18881,6 +18912,20 @@
 {-# NOINLINE ptr_glGetProgramResourceLocationIndex #-}
 ptr_glGetProgramResourceLocationIndex :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
 ptr_glGetProgramResourceLocationIndex = unsafePerformIO $ getCommand "glGetProgramResourceLocationIndex"
+
+-- glGetProgramResourceLocationIndexEXT ----------------------------------------
+
+glGetProgramResourceLocationIndexEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @programInterface@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
+  -> m GLint
+glGetProgramResourceLocationIndexEXT v1 v2 v3 = liftIO $ dyn392 ptr_glGetProgramResourceLocationIndexEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramResourceLocationIndexEXT #-}
+ptr_glGetProgramResourceLocationIndexEXT :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
+ptr_glGetProgramResourceLocationIndexEXT = unsafePerformIO $ getCommand "glGetProgramResourceLocationIndexEXT"
 
 -- glGetProgramResourceName ----------------------------------------------------
 
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Tokens.hs b/src/Graphics/Rendering/OpenGL/Raw/Tokens.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Tokens.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Tokens.hs
@@ -6701,6 +6701,9 @@
 gl_LOCATION_INDEX :: GLenum
 gl_LOCATION_INDEX = 0x930F
 
+gl_LOCATION_INDEX_EXT :: GLenum
+gl_LOCATION_INDEX_EXT = 0x930F
+
 gl_LOGIC_OP :: GLenum
 gl_LOGIC_OP = 0x0BF1
 
@@ -7661,6 +7664,9 @@
 gl_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
 gl_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC
 
+gl_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT :: GLenum
+gl_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT = 0x88FC
+
 gl_MAX_ELEMENTS_INDICES :: GLenum
 gl_MAX_ELEMENTS_INDICES = 0x80E9
 
@@ -9431,9 +9437,15 @@
 gl_ONE_MINUS_SRC1_ALPHA :: GLenum
 gl_ONE_MINUS_SRC1_ALPHA = 0x88FB
 
+gl_ONE_MINUS_SRC1_ALPHA_EXT :: GLenum
+gl_ONE_MINUS_SRC1_ALPHA_EXT = 0x88FB
+
 gl_ONE_MINUS_SRC1_COLOR :: GLenum
 gl_ONE_MINUS_SRC1_COLOR = 0x88FA
 
+gl_ONE_MINUS_SRC1_COLOR_EXT :: GLenum
+gl_ONE_MINUS_SRC1_COLOR_EXT = 0x88FA
+
 gl_ONE_MINUS_SRC_ALPHA :: GLenum
 gl_ONE_MINUS_SRC_ALPHA = 0x0303
 
@@ -13181,9 +13193,15 @@
 gl_SRC1_ALPHA :: GLenum
 gl_SRC1_ALPHA = 0x8589
 
+gl_SRC1_ALPHA_EXT :: GLenum
+gl_SRC1_ALPHA_EXT = 0x8589
+
 gl_SRC1_COLOR :: GLenum
 gl_SRC1_COLOR = 0x88F9
 
+gl_SRC1_COLOR_EXT :: GLenum
+gl_SRC1_COLOR_EXT = 0x88F9
+
 gl_SRC1_RGB :: GLenum
 gl_SRC1_RGB = 0x8581
 
@@ -13198,6 +13216,9 @@
 
 gl_SRC_ALPHA_SATURATE :: GLenum
 gl_SRC_ALPHA_SATURATE = 0x0308
+
+gl_SRC_ALPHA_SATURATE_EXT :: GLenum
+gl_SRC_ALPHA_SATURATE_EXT = 0x0308
 
 gl_SRC_ATOP_NV :: GLenum
 gl_SRC_ATOP_NV = 0x928E
