We develop an on-line wavelength assignment (WA) algorithm for a wavelength-routed WDM tree network. The algorithm dynamically supports all k-port traffic matrices among N end nodes, where k denotes an integer vector [k(1). . . , k(N)] and end node i, 1 <= i <= N, can transmit at most k(i) wavelengths and receive at most ki wavelengths. Our algorithm is rearrangeably nonblocking, uses the minimum number of wavelengths, and requires at most d* - 1 lightpath rearrangements per new session request, where d* is the degree of the most heavily used node. We observe that the number of lightpath rearrangements per new session request does not increase as the amount of traffic k scales up by an integer factor. In addition, wavelength converters cannot reduce the number of wavelengths required to support k-port traffic in a tree network. We show how to implement our WA algorithm using a hybrid wavelength-routed/broadcast tree with only one switching node connecting several passive broadcast subtrees. Finally, using roughly twice the minimum number of wavelengths for a rearrangeably nonblocking WA algorithm, we can modify the WA algorithm to be strict-sense nonblocking.