Data's software is positronic and hence continually updated by his experiences. Occasionally Data will encounter a situation that requires a more rapid enhancement of his basic software, at which point he artificially adds additional "subroutines" that he can call upon. You could argue that these represent a software upgrade.
We see this process most clearly in the episode "In Theory" where Data dumps the entire ship's catalogue of back-issues of Cosmo into his brain wholesale, resulting in him becoming the best/worst boyfriend of all time.
DATA: You are much more than that, Jenna. I have written a subroutine specifically for you -- a program within the program. I
have devoted a considerable share of my internal resources to its
development. - TNG: In theory
and in "Inheritance" where we learn that after trying (unsuccessfully) to use logical arguments to convince Data to wear clothing, Dr. Soong ultimately resorted to simply making him modest by adding additional programming.
JULIANA: We asked you to dress, but you felt it was unnecessary since you didn't need protection from the elements. We actually had to
write a modesty sub-routine to get you to keep your clothes on. - TNG: Inheritance