Full Changelog:
[b118f63] - Ddl index cleanup (#5632)
[3df2b79] - Fix is_unlisted on track create (#5631)
[f44860a] - Bump version to 0.3.98
[5d12f92] - Upgrade sdk (libs) across all services (#5605)
[be753fc] - add push body to announcement notification (#5613)
[25380b6] - Clean up v1 CN (part 1, leave manual syncs) (#5595)
[6d139b1] - [PLAT-1124] Add feed es offset (#5594)
[0869e4f] - Fix libs and /playlist endpoint for is_image_autogenerated (#5592)
[ec5a808] - Validate user has handle (#5590)
[8d63b03] - [C-2733] Add addTrackToPlaylist and removeTrackFromPlaylist to sdk (#5591)
[f979936] - Allow delegated user writes (#5586)
[ff2948f] - Add web push notifications for announcements (#5589)
[127167d] - Log commit on discovery server start (#5585)
[b3838ed] - PLAT-1096: notifs heap fixes (#5580)
[f8ec2fc] - Add entity counts (#5583)
[618574a] - [C-2735] Add updatePlaylist and publishPlaylist to sdk (#5570)
[e2fbe73] - [plat-1110] return usdc purchase notifs in get notifications query (#5567)
[ab23c92] - Bump version to 0.3.97
[11f1ef2] - Comment out lazy refresh on cache user balance ids (#5575)
[cb4e724] - Filter users earlier in lazy balance refresh (#5574)
[3bdeb1d] - Rm undefined self attributes in cache user balance (#5572)
[366c6c5] - Use hasattr instead of self. in cache user balance (#5571)
[0744d75] - add trusted notifier discrepancies to health check + index and delist sequentially (#5565)
[094b159] - Set web3 primary host as env var (#5549)
[a8786cf] - [plat-1109] Add db trigger to create usdc purchase notifications (#5558)
[3f5ad5b] - Fix custom indexing validation (#5563)
[0e0faa5] - Fix playlist update em (#5562)
[26bb657] - Use rendezvous for all streams (#5555)
[f0815be] - rm spammy log (#5556)
[d98a66a] - [C-2737] Add collection upload to write sdk (#5552)
[84cf00d] - DMs make internal rpcs idempotent (#5551)
[b8a0b24] - prettier on notifications (#5545)
[291fe4e] - PLAT-1076: handle endpoint disabled errors gracefully (#5479)
[6508467] - [PAY-1547] Add USDC related tables to DB (#5539)
[519170d] - Make grant creation faster on EM indexing C-2803 (#5544)
[4ddf62b] - Bump version to 0.3.96
[8dd523e] - Add developer app name length validation C-2794 (#5523)
[6f85818] - Skip update clique signer for now (#5533)
[f2311f2] - [C-2755] Add saveTrack, unsaveTrack to sdk (#5527)
[7c73373] - DN trusted notifier polling: handle slow indexing. add monitor for cursor being behind (#5534)
[5904822] - fix disbursement issue (#5535)
[a93e178] - fix pubkey recovery from POA (#5532)
[075b0d0] - Skip play count for test stream (#5528)
[40d97e8] - Fallback to secondaries when streaming (#5526)
[ee820c0] - Fix app limit check [EM] C-2805 (#5498)
[0dda2d8] - Fix DM notification test (#5519)
[03508d8] - DMs: better retry mechanism (#5517)
[80c9b7e] - Revert "0.4.0 (#5506)" (#5514)
[1b05983] - PLAT-1063: docker caching issues (#5508)
[f43015c] - PLAT-1096: use for loop instead of callbacks (#5492)
[c3a7c2e] - Fix linear indexer for local state (#5510)
[c01d86e] - 0.4.0 (#5506)
[1c94c0c] - [PLAT-1086] Log cleanup (#5500)
[d8ca5fa] - Fix discovery test conflict with validation error (#5501)
[e67c66a] - [C-2726] Add updateTrack to sdk (#5418)
[3139c49] - minor adjustments to trending plugin (#5477)
[a32bf61] - [PLAT-1087] Free up cycles when block not found for 500ms (#5497)
[a550b53] - Handle indexing validation exception (#5480)
[fad5102] - EntityManager event and app structured logs (#5488)
[8bea392] - Add reverts for grant and dev apps (#5484)
[8a6196a] - [plat-1085] do not persist save and favorites of hidden tracks and collections (#5478)
[3a72beb] - Enforce limit 3 apps per user EM side C-2749 (#5470)
[870dd6d] - [C-2765] Add is_image_autogenerated playlist column (#5490)
[900350a] - Backfill missing metrics (#5489)
[4763072] - Fix cached node retrieval (#5486)
[5802d9a] - Bump update_delist_statuses log level on error when updating DN db (#5485)
[089b76b] - [PLAT-1078] Add sla-auditor plugin (#5464)
[c865546] - Bump version to 0.3.95
[fc4fd53] - PLAT-1017/1035/1036/1037/1038: match client zod validations (#5406)
[5200a11] - [PLAT-861] allow empty string for user bios in em indexing (#5474)
[3958487] - Fix social feature test (#5475)
[60d13c2] - Use album repost/save types and fix aggregate playlist counts (#5467)
[20a6df5] - burst rate limit for chat messages (#5462)
[c7c96cd] - [PLAT-1033] Linear indexer (#5400)
[1b19b60] - Single transaction sign up (#5456)
[f595ae4] - PLAT-1057: challenges error (#5450)
[dc89bbd] - upgrade node version for notifications (#5453)
[da7a870] - [PLAT-932] Add exception logs to triggers (#5439)
[59b365f] - Index single tx signup (#5408)
[984e320] - DN TN discrepancies endpoint (#5449)
[942619a] - PLAT-992: compose friday tweet (#5443)
[14ece20] - DMs: handle delayed messages deterministically (fix) (#5445)
[4403780] - code to validate handle (#5402)
[d1547c6] - Bump version to 0.3.94
[bb6a265] - Include actual emojis in message reaction push notifs (#5424)
[796de4f] - Revert "DMs: handle delayed messages deterministically (#5440)" (#5442)
[c0184af] - DMs: handle delayed messages deterministically (#5440)
[a667fab] - Fix DN polling of TN (#5432)
[ad24ad1] - Add celery test (#5436)
[52d833b] - Fix file location (#5435)
[96a0834] - [PLAT-1044] Trim down eth web3 usage in discovery (#5426)
[e0fb907] - Verify ownership of developer app wallet C-2528 (#5391)
[ca7b273] - Add rendezvous to healthz and use (lowercase) hosts (#5425)
[5faf4b8] - Add question mark (#5419)
[d0bc4d3] - Fix name collision with developer_app schema (#5421)
[17747bb] - [Discovery API] Check if developer app was found before trying to format it (#5417)
[d58d5e9] - Fix discovery health check http status codes (#5414)
[bb8a893] - Fix params reference before assignment follow on (#5413)
[d3de4db] - Fix params reference before assignment (#5412)
[a266db6] - Better notifications plugin logs (#5409)
[f17be75] - Remove fetch_cid_metadata in indexer (#5323)
[ea4de5d] - PLAT-983 pedalboard turborepo (#5341)
[874dce9] - Add developer app endpoints to swagger docs (#5404)
[98d7d2a] - Bump version to 0.3.93
[a64dd9c] - [PLAT-1026] Sort health check (#5343)
[701206c] - [PLAT-659] Add /chain (#5397)
[713aea1] - Switch acdc version to latest working (#5396)
[c143c0d] - [PAY-1409] DMs: Include chat_id in push notification (#5392)
[d541505] - Use /health_check for CNs from Discovery and libs (#5384)
[df98ece] - Normalize milestone numbers (#5386)
[9aa531e] - DN pull-based trusted notifier (#5367)
[f72d03e] - Dedupe notifications grouped by action (#5383)
[31888aa] - re-enable top_playlists from es with dominant_mood (#5327)
[748bd9a] - Add developer app description field C-2706 (#5373)
[0e76163] - [CON-727] Check Content Nodes for liveness in Discovery (#5368)
[f538037] - Add Discovery endpoints for developer apps + grants [C-2623] (#5366)
[53313c7] - Rename app delegates, delegations; remove use of shared secret for delegated writes [C-2620] [C-2616] (#5344)
[c96e29a] - [PLAT-1023] Hide announcements for a user before they were created (#5363)
[f2e1b39] - [CON-734] Add discovery rendezvous and use it in /tracks/:encodedId/stream (#5352)
[564b880] - Bump version to 0.3.92
[964b494] - PLAT-1022: web push DMs (#5332)
[fc41d02] - PLAT-958: paginate scheduled emails (#5227)
[3d82fdf] - Fix urllib parse (#5359)
[96bb2f9] - replace alembic with pg_migrate.sh (#5285)
[b45c5cf] - Update add track to playlist notification to handle previous format (#5350)
[1a06b34] - Include delegateOwnerWallet in content node health_check (#5347)
[806725a] - [PLAT-1011] Log blocknumber when processing notifications (#5308)
[33ecf52] - [PLAT-892] Rename pushNotification fn (#5314)
[94f8964] - [PLAT-917] Add docker exporter endpoints (#5342)
[15af8f1] - Fix discovery selector usage of latest_chain_block (#5340)
[641a1ea] - Fix DM browser notifs (#5338)
[c63e628] - Fix test (#5328)
[de59863] - [PLAT-1018] Add playlist owner id to add track to playlist notif metadata (#5318)
[2da981a] - [C-2695] Expose content-nodes in discovery-node health-check (#5324)
[2a8f26b] - Fix health_check CORS (#5316)
[cda2cc8] - [PLAT-982] Join comms and server health checks (#5313)
[ee11fdb] - Bump version to 0.3.91
[b37b8dd] - Reuse web3 instance (#5303)
[d0d6f6a] - [PLAT-1007] Fix sort by coelesce (#5306)
[8aee13f] - [PLAT-951] Add port exposure check (#5292)
[344da4b] - Invalidate old skreamizm records (#5305)
[1bc02ba] - Only apply skreamizm fix once (#5297)
[120120d] - Remove status check when fetching CNs (#5304)
[f634577] - [PLAT-1005] Add track added to playlist notification to get_notificat… (#5289)
[ad63a1e] - [PLAT-821]: Fix announcement notification reads from discovery (#5287)
[fa52687] - Bring back cid in responses (#5295)
[ff920bb] - PLAT-821: announcements (#5083)
[2a5331c] - fix indexing stall (#5296)
[d7e7a02] - Tiebreak order_bys in get_tracks (#5288)
[30faaff] - Remove loggly code (#5284)
[0e5376d] - Clean up server logs (#5222)
[5a63a0f] - Fix migration idempotency (#5282)
[e7ff031] - Fix release branch (#5281)
[7594f47] - [PLAT-943] rm personal bcc on email notifications (#5272)
[a3768ca] - Add skreamizm (#5278)
[098a55b] - Add skip_play_count flag (#5271)
[63e6025] - Increase csv field size limit in metadata backfill (#5274)
[a8101e1] - Sanitize cid metadata from chain (#5267)