Routers forward packets between subnets.
Forwarding means accepting a packet from one interface, and shipping out the same exact packet from a different interface. Both interfaces must be within different subnets. Corollary: a router by definition has two network interfaces.
In the plain vanilla case nothing changes in the packet except the TTL (ipv4) or Hop Limit (ipv6) is decremented, and the router tosses the packet if 0.
Obviously the router is well positioned for a packet filter, firewall, etc. to modify outgoing or incoming traffic but such functions are not forwarding/routing per se.
The source IP is not changed unless network address translation is being used, as is the case with most consumer and many business network routers. With NAT, the source IP becomes the router's IP, and router needs to remember that anything coming back from that packet's destination address is really meant for the original system that sent it.