They will never forget what you did.
They will never forget what you have done.
Which one is correct?
They will never forget what you did.
They will never forget what you have done.
Which one is correct?
They will never forget what you did.
The use of simple past implies that the action was completed some time ago and had no consequences. This is odd as, apparently, "they will never forget", so the consequences are lasting.
I don't want to rule it out completely though, because somebody might say this to make it clear that they are talking about one specific event.
They will never forget what you have done.
Present perfect simple implies that some action was started in the past and it continues to the present, or that the action was completed but the consequences continue. This makes far more sense.
Both of your phrases
They will never forget what you did
They will never forget what you have done
have the same meaning that an action will be remembered, and are usually interchangeable.
They will never forget your kindness and what you did for them.
They will never forget your kindness and what you have done for them.
what you have done
tends to be more formal
The people of this country will always be grateful for what you have done for them. ( formal ) The team will never forget what you did to win the final game. ( less formal )
As @JavaLatte implicitly points out, when followed by "to + obj", usually something negative is mentioned and when followed by "for + obj", something positive is mentioned (the example above is "to + inf").