I understand that OpenGL 4 and 3 are fairly similar, especially 3.1 and 4.1. With both being essentially released together, it can be difficult to understand the rationale for OpenGL 4.0/4.1.
In previous releases of OpenGL, minor version increments upward until substantial changes accumulated into a new major version. OpenGL 3.x and 4.x introduced backwards-incompatible API changes and then OpenGL 3.2 and 3.3 are said to be specifically branches of the 3 series which are not forward compatible while 3.1 is compatible with 4.1+
What key differences does OpenGL 4.1 offer compared with OpenGL 3.1 that warrant it to be classified under a new major version?
Bonus: Do any of the differences provide performance increases in any situations over GL3 or just accessibility?
Edit: Some extra findings based on answers
OpenGL 3.3 was made to compliment OpenGL 4.0 to incorporate as much of the functionality as they could into older hardware. Choosing between OpenGL 3 and 4, 3.3 may be a better choice sometimes. 4.1 has added GL ES 2.0 compatibility however and some nice features.
One of the bigger workflow differences would be added GPU programing steps in the pipeline via the new tessellation shaders. Another would be multiple viewports to render to. I believe the new level of detail feature would change the workflow I'm using and perhaps other quite a bit, though I have not looked into this feature in depth.
Please let me know if you see any misconceptions or areas to improve.
Keynotes (apparently removed from answer while asking on meta.. For temporary reference of what the actual answer was.)
Appendix G - K For OpenGL 3.1 features through OpenGL 4.1 features
Khronos Group Release Of OpenGL 4.0 may be "easier to read" :)
- Sampler Objects
- Instanced Arrays and Shaders
texture_cube_map_array and texture_gather
GLSL 4.0 and dynamic LOD
- shader_subroutine and sample_shading
- separate_shader_objects
- Increase required sizes for texture/renderbuffers
- 64 bit floating point vertex attributes
- get_program_binary
- +2 Tesselation shaders