I know light's speed in vacuum is constant, but what about its velocity? Is the velocity of light in vacuum constant? It seems it would be different depending on whether it is coming toward you or away from you, but I just want to make sure. Does the direction of light change from one frame to another frame?
 A: Light can obviously travel in any direction, but the magnitude of its velocity (in vacuum) is always $c$.
The magnitude of the velocity is a scalar i.e. just a number, but the velocity is a vector. To specify the velocity we need to choose some axes. For example I might choose the Cartesian axes $x$, $y$ and $z$. In that case light approaching me from the positive $x$ direction would have the velocity $(-c, 0, 0)$, while light moving away from me in the positive $x$ would have the velocity $(c, 0, 0)$. These velocities are different vectors, but they both have the same magnitude of $c$.
To be more precise the local velocity of light, i.e. the velocity you measure at your location, always has a magnitude of $c$. The magnitude of the velocity at locations distant from you can be greater or less than $c$ even in special relativity.
A: In a very real sense, the velocity of a light ray in a curved spacetime is constant, or at least as constant as it can be;  this is because it follows a special path in spacetime called a geodesic.  
The problem with defining a "constant" vector on a curved surface (the surface of the Earth, say) is that you can't easily compare tangent vectors at two distinct points on the surface;  roughly speaking, the tangent planes point in different directions.1  We get around this by defining a notion of "parallel transport".  Given a vector at a particular point on a curved manifold, we move it an infinitesimal step along a particular path.  Since this step is infinitesimal, there can be a well-defined notion of how the two tangent planes at these two infinitesimally separated point are related to each other.  We can then take another infinitesimal step along that path, update our tangent vector, and repeat (i.e. integrate) until we have mapped the vector at the original point to another vector at another point on the manifold.  Along this path, the vector is "as constant as possible", since we're changing the vector as little as possible at each infinitesimal step.  We have to change the vector some—it's a curved manifold—but there's a well-defined sense in which you can say that two vectors living at infinitesimally close points are basically equal to each other.
A geodesic is then a path whose tangent vector is "as constant as possible", in the following sense:  given a starting point and a vector at that point, take an infinitesimal step in the direction of the vector, and parallel-transport the vector to that new point.  Then take another infinitesimal step in the direction of the vector, and parallel-transport that vector.  Since the tangent vector of the curve is parallel-transported along that curve, then we can consider the tangent vector to be "as constant as possible" along the path.
So any particle that follows a geodesic in a curved spacetime is, in a very real sense, moving with "constant velocity" through spacetime (or at least as constant a velocity as the spacetime allows).  Light rays move along geodesics, but as it happens so do massive particles (without other forces acting on them) move along geodesics too.

1 This isn't the best way of describing this notion, since it depends on the embedding of the sphere in a higher-dimensional space.  Rest assured that it can be defined in a more mathematically rigorous way as well.
A: Yes light does have different directions in different frames. Two observers with different velocities will see the same photon traveling in different directions. 
One observer standing still at noon sees light traveling vertically downward. Light that strikes the top of his head would also strike his toes. 
An observer running forward see light slanted backward. Light that strikes the top of his head takes time to reach his toes. By that time, his toes have moved forward. The light lands a short distance behind him. Thus the angle is $\sin\theta = \dfrac{v}{c}.$
A: I know light's speed in vacuum is constant, but what about its velocity?
The speed of light in vacuum is not constant, and because of this light curves, hence  its vector-quantity velocity varies. Have a look at the Einstein digital papers and you can find Einstein talking about it:

This is what John Rennie was referring to. Think about the room you're in, and appreciate this: light goes slower near the floor than at the ceiling. If it didn't, optical clocks wouldn't go slower when they're lower, light wouldn't curve, and your pencil wouldn't fall down.
However for some strange reason most people don't seem to know about this, even though there's plenty of places you can read about it. See for example Irwin Shapiro's 4th test of General Relativity, along with The Deflection and Delay of Light by Ned Wright, or Is The Speed of Light Everywhere the Same? by PhysicsFAQ editor Don Koks. There seems to be some kind of issue with current teaching wherein the speed of light is usually taken to mean the locally measured speed of light rather than the "coordinate" speed of light. The locally-measured speed of light is always the same because of a tautology, see http://arxiv.org/abs/0705.4507. We use the local motion of light to define the second and the metre, which we then use to measure the local motion of light. So we are guaranteed to always measure the same value.
A: 
I know light's speed in vacuum is constant

Correct. Specificly, we speak of "vacuum" (and evaluate "refractive index" value $n = 1$) in the context of signal exchange if phase speed and group speed of the "signal carrier" are equal to the signal front speed $c_0$;
where $c_0$ is just a particular (non-zero) symbol which appears in the chrono-geometric definition of distance (between "ends" which remained at rest wrt. each other),
and where "signal front" is presumably an unambiguous notion.

Is the velocity of light in vacuum constant?

Comparison in terms of velocity involves of course comparison in terms of speed, and comparison in terms of direction. Since signal front speed is unchangeable by definition, let's consider possible variability in direction. There are two aspects, related to what we mean by "direction" in the first place:

coming toward you or away from you

This illustrates that "direction" of signal exchange is foremost described by the (distinguishable) identities of signal source (e.g. "you", and/or "$A$") and signal receiver (e.g. "$B$"); and that 


*

*"$B$ having observed a signal indication of $A$" 


describes signal exchange in the opposite direction than


*

*"$A$ having observed a signal indication of $B$";


"$A$ to $B$" vs. "$B$ to $A$".
In general, therefore, it is said that different signal exchanges may "have proceeded in different directions".
Another consideration has to do with the notions of "straightness" and "line of sight":
If, for instance, participant $A$ had stated a partcular signal indication, $A_*$, and participant $B$ observed this signal (indication $B_{\circledR A*}$), and a further participant, $F$, observed $A$'s signal indication in coincidence with having observed $B$'s indication of having observed $A$'s signal indication (indication $F_{\circledR A*} \equiv F_{\circledR B \circledR A*}$)
then these three signal exchanges ("$A$ to $B$", "$A$ to $F$", and "$B$ to $F$") are said to have been in the same direction.     
In this sense, any one specific completed signal exchange can be said to have "proceeded throughout in the same direction (from signal source towards receiver)", and therefore at constant velocity; "along a light-like geodesic".

Does the direction of light change from one frame to another frame?    

The direction of a specific completed signal exchange is defined by the (distinguishable) identities of signal source and signal receiver; which remain independent of any particular choice of reference system (with respect to which the trajectories of source and receiver may be described).
