chore(release): 2.0.0-next.3 [skip ci]
## [2.0.0-next.3](v2.0.0-next.2...v2.0.0-next.3) (2024-12-30) ### Features * **api:** add Episode create and publish endpoints ([a90cdfdc](a90cdfdc)) * **image:** add image size's width and height ([f50098ec](f50098ec)) * **plugins:** add defaultValue for all field types ([d3a98db6](d3a98db6)) * **plugins:** add group field type + multiple option to render field arrays ([11ccd0eb](11ccd0eb)) * **plugins:** add html field type + CodeEditor component + rework html head generation ([8cf9c6dc](8cf9c6dc)) * **rss:** add option for 301 redirect to new feed url ([8402cc29](8402cc29)) ### Bug Fixes * add downloads_count to episodes table, computed every hour ([f9819376](f9819376)) * allow passing json to app.proxyIPs config to set it ([cbf739e9](cbf739e9)) * **api:** cast integers when creating episode ([775b302f](775b302f)) * **docker-image:** clear cache to account for new assets and data structure changes ([63c763f9](63c763f9)), closes [#510](#510) * edit remap functions to get episode in episode admin controllers ([9f74cca3](9f74cca3)) * **episode:** do not change slug when editing episode title ([a83afb00](a83afb00)), closes [#513](#513) * **fediverse:** add "processing" and "failed" statuses to better manage broadcast load ([1d7583d7](1d7583d7)), closes [#511](#511) * **icons:** set correct names for lock and lock-unlock icons in premium banner ([37ee6d35](37ee6d35)) * **plugins:** clear cache after activating or deactivating plugin ([08c7df2a](08c7df2a)) * **plugins:** delete relevant cache when submitting settings ([00bd4c02](00bd4c02)) * **podcast-model:** always query podcast from database when clearing cache ([d30c49cd](d30c49cd)) * **premium-podcasts:** update query to validate subscription ([2b1bbf34](2b1bbf34)) * **preview:** delete episode preview cache after editing episode ([732d4292](732d4292)), closes [#514](#514) * **release:** add conventional-changelog-conventionalcommits for CHANGELOG generation ([6934c8aa](6934c8aa)) * **rss:** add subscription id to cache name to prevent premium feeds from overlapping ([74f93259](74f93259)) * set user as www-data when running cron jobs in docker's supervisord config ([65d74f14](65d74f14)) * typo in EpisodeController remap function to get episode ([f288a750](f288a750)) * update select and multi-select options to value/label arrays ([63f93f58](63f93f58)) ### Internal * **plugins:** create Field objects per field type in settings forms + handle rendering in class ([34be5bcc](34be5bcc)) * remove fields from podcast and episode entities to be replaced with plugins ([b869acb3](b869acb3)) * rename controller methods for views and actions to be more consistent ([85704bfb](85704bfb)) * update CodeIgniter to v4.5.6 ([f295e9aa](f295e9aa)) * update codigniter-icons to v1.0.1 ([fa6967e6](fa6967e6)) * update js dependencies to latest ([70c97971](70c97971))