I marked this as community wiki for a reason. Please feel free to edit it with more information about a hat (or anything else).
Chameleon
Chameleon is tricky. It is currently unknown exactly what the trigger for it is, but it includes editing your profile.
The current theory is that you are randomly assigned a name of a profile field (e.g. About Me, Website, Location). Editing that specific field will give you the hat.
Things that have been known to trigger the hat:
- Editing only Email, Profile Picture, Birthday, Display Name, Location, About Me, or Website URL.
- Editing multiple fields, e.g. About Me and Website.
- Creating a new account on a site, i.e. attempting to log in on a site you have not created an account for, and then clicking "Confirm And Create This Account"
However, there have been many cases where making the edits mentioned above did not result in the hat being awarded.
Eureka
Eureka is manually awarded by the Stack Exchange staff to users who independently guess how to get any secret hat.
Fascinating
Fascinating is earned by upvoting an answer that is accepted and has a score of at least 5.
Fascinating, Ma'am
Fascinating, Ma'am is earned by upvoting a question satisfying certain requirements (note, accepted answer is not a prerequisite):
- score of at least 25
- and 10K views
Hairboat
Hairboat can be earned by commenting on one of abby hairboat's posts, or replying to one of her comments.
Time Lord
Time Lord can be earned by editing 5 old questions. One year old appears to be old enough.
It is unconfirmed whether it can be earned by editing answers.
Waffles
Waffles can be earned by voting on a question, editing it (which can mean getting a suggested edit approved), and then changing your vote.
Answers do not appear to be eligible, and you must contribute the edit yourself.
It is unknown whether the criteria are met by switching your vote in either direction, or only in the downvote-to-upvote direction.
Warm Welcome
Warm Welcome is earned by upvoting a new user's first post.
It is unconfirmed exactly how new the user has to be. Upvoting users with the 100 starting rep (because that user has certain amount of rep in other StackExchange sites) didn't trigger this hat.