Do we still need end slashes in HTML5?
In HTML 5, the closing slash is optional on void elements such img
(I am adding this because the currently accepted answer only says: "end tags must not be specified for void elements", and does not address closing slashes in void elements).
Citing from http://www.w3.org/TR/html5/syntax.html#start-tags (number 6):
Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single "/" (U+002F) character. This character has no effect on void elements, but on foreign elements it marks the start tag as self-closing.
img
tags are Void Elements so they do not need an end tag.
Void elements area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr
...
Void elements only have a start tag; end tags must not be specified for void elements.
W3C | WHATWG
That being said it's not strict parsing in HTML5 so it won't do any major harm.
Nope. HTML has never required it, even before HTML5. If you plan to use XHTML with HTML features, then yes, it is necessary.