Full Changelog:
[fed95df] - [CON-801] Fix v2 only user images from public api (#5691)
[2327cec] - Fix user merge in multi tx signup (#5676)
[5641ef0] - Fix hidden tracks and playlists (#5672)
[42ea5aa] - Bump version to 0.4.1
[e50d9e7] - Fix noisy metadata deserialization error (#5668)
[1e07617] - Log error when skipping tx (#5661)
[2fd5d74] - Fix user update merging cid data (#5665)
[d7a3470] - boost max skipped tx (#5664)
[880f550] - [C-2835] Support partial updates in EM and SDK (#5612)
[39ac403] - Make all track previews publicly streamable (#5660)
[ab33b3b] - As/plat 1136 build relay plugin (#5639)
[8ff1813] - Fix broken playlist_routes test (#5657)
[c2ba22f] - Decentralized Relay (#5564)
[6e4d73b] - Fix migration route for playlists (#5655)
[3e7d98e] - Skip transaction when there's network consensus (#5648)
[03bb082] - Fix lint (#5652)
[94630bd] - Fix user followers call (#5654)
[9d74d3e] - Add duration log for user endpoints (#5635)
[0e883d1] - [plat-1112] add usdc purchase buy and sell notifications to plugin (#5608)
[16a6eac] - [PLAT-608][PLAT-1129] Add dual playlist route writes and fix private fetches (#5623)
[7cf5cd1] - Fix revert cursor blocknumber logic + misc (#5643)
[950901e] - Support creating USDC userbanks in libs and DN (#5599)
[c20c0e5] - Fix AI attribute update (#5638)
[3134859] - Check current block timestamp in delist task (#5615)
[c0420c1] - Ddl index cleanup (#5632)
[443dc4d] - load ai_attribution_user_id in validation (#5637)
[b4bd0a6] - Add track preview columns to tracks table and metadata, add preview streaming (#5579)
[784b451] - Revert "Revert "0.4.0 (#5506)" (#5514)" (#5604)
[9ed07b5] - Fix is_unlisted on track create (#5631)
[5808b9d] - Say bye bye to alembic (#5629)