Skip to content
Snippets Groups Projects
CHANGELOG.md 232 KiB
Newer Older
  • Learn to ignore specific revisions
  • # [2.0.0-next.2](https://code.castopod.org/adaures/castopod/compare/v2.0.0-next.1...v2.0.0-next.2) (2024-07-08)
    
    ### Bug Fixes
    
    - **audio-player:** set player icons to default instead of missing Castopod's
      ([0ba0a25](https://code.castopod.org/adaures/castopod/commit/0ba0a25b11bd67aeeb47a8179b72152dfd4a36da))
    - broken icon call in frontend default pages template
      ([3228362](https://code.castopod.org/adaures/castopod/commit/322836254e86be7878e21438177ee8f73f03a2fa))
    - **manifest:** set repository url as required in docstring typings
      ([a8c81b3](https://code.castopod.org/adaures/castopod/commit/a8c81b3fa19a28dbd608027c231dcac31eafb38f))
    - set correct icons parameters in map and funding links views
      ([5d35524](https://code.castopod.org/adaures/castopod/commit/5d355248753be24e3cf324144ff076f2fc23be88)),
      closes [#500](https://code.castopod.org/adaures/castopod/issues/500)
    
    ### Features
    
    - **plugins:** add `minCastopodVersion` to denote incompatibility with previous
      Castopod versions
      ([fc9ea75](https://code.castopod.org/adaures/castopod/commit/fc9ea7597e454e5c7c7af043d29af7bbe119e342))
    - **plugins:** load and display LICENSE.md file if found in plugin's directory
      ([fee7905](https://code.castopod.org/adaures/castopod/commit/fee7905935a9adf963b4485b437fe4d972c14b5f))
    
    
    # [2.0.0-next.1](https://code.castopod.org/adaures/castopod/compare/v1.11.0...v2.0.0-next.1) (6/19/2024)
    
    ### Bug Fixes
    
    - add missing php-icons config file to bundle
      ([56612f0](https://code.castopod.org/adaures/castopod/commit/56612f0c762aa2d98e3c8c77fba88ffdf6f46a44))
    - **docs:** add base to og image using env variable
      ([fe67659](https://code.castopod.org/adaures/castopod/commit/fe676590f23a33bdbe8905d234760923c029e350))
    - **import:** rewrite download_file helper to output curl response directly to
      file
      ([eb7ad2f](https://code.castopod.org/adaures/castopod/commit/eb7ad2f7e1c0137f222f47e47062887de42c4824))
    - include app/Resources/icons folder to bundle
      ([3fd5efc](https://code.castopod.org/adaures/castopod/commit/3fd5efc7956977acc19e53182f25b12813964a7d))
    - **platforms:** add platforms service + reduce memory consumption when
      rendering platform cards
      ([fe73e9f](https://code.castopod.org/adaures/castopod/commit/fe73e9fae9ea5d5ce946680aec194308bb2e620c))
    - set owner email visibility when editing podcast
      ([fc4f982](https://code.castopod.org/adaures/castopod/commit/fc4f9825568cd4384c5b3cfe972accd146548807)),
      closes [#473](https://code.castopod.org/adaures/castopod/issues/473)
    
    ### Build System
    
    - release next major version as prerelease
      ([8275226](https://code.castopod.org/adaures/castopod/commit/827522643e9f8a5ea9be05b4847dc637f0f43a13))
    
    ### Features
    
    - add Plugins module with base files for plugins architecture
      ([7253e13](https://code.castopod.org/adaures/castopod/commit/7253e13ac2118f6f165f54ea0cbcd63d51ab9205))
    - **plugins:** abstract settings form for general, podcast and episode types
      ([b62b483](https://code.castopod.org/adaures/castopod/commit/b62b483ad9ff114a22a9ee52e1a1a2c9fa444d42))
    - **plugins:** activate / deactivate plugin using settings table
      ([27d2a1b](https://code.castopod.org/adaures/castopod/commit/27d2a1b0ffba9454dd54cbb4251a2d179b09762a))
    - **plugins:** add aside with plugin metadata next to plugin's readme
      ([dfb7888](https://code.castopod.org/adaures/castopod/commit/dfb7888aeb689b4066abc37084e08cd7f1d0f15d))
    - **plugins:** add before channel/item hooks to allow podcast/episode data edit
      when generating rss
      ([80d2c48](https://code.castopod.org/adaures/castopod/commit/80d2c48ee265cb32ed0d710c488292fcbc120044))
    - **plugins:** add json schema definition for plugin manifest
      ([b5eddf3](https://code.castopod.org/adaures/castopod/commit/b5eddf351f6f6fa1c299fbac31cbd056ef232330))
    - **plugins:** add methods to easily retrieve general, podcast and episode
      settings in hooks methods
      ([3a900bb](https://code.castopod.org/adaures/castopod/commit/3a900bbab68b819cedf8943540d2ee0aeb6e8539))
    - **plugins:** add new field types + validate & cast user data before storing
      settings
      ([6f833fc](https://code.castopod.org/adaures/castopod/commit/6f833fc76a3aa6c6b87c27ad18a2fb90e537e21e))
    - **plugins:** add options to manifest for building forms and storing plugin
      settings
      ([3d8aedf](https://code.castopod.org/adaures/castopod/commit/3d8aedf9c34e6927b6d3b11445d5f0e669b347d7))
    - **plugins:** add settings page for podcast and episode if defined in the
      plugin's manifest
      ([89ac92f](https://code.castopod.org/adaures/castopod/commit/89ac92fb412a04231ce52fd6480c9ab893b19ef5))
    - **plugins:** add siteHead hook to add custom meta tags to public pages
      ([e80a33b](https://code.castopod.org/adaures/castopod/commit/e80a33bf2ad4fe1b47037add7470a6c2770f4036))
    - **plugins:** display errors when plugin is invalid instead of crashing
      ([8ec7909](https://code.castopod.org/adaures/castopod/commit/8ec79097bbdbcbce622518ef61c068f20e0ef74e))
    - **plugins:** handle empty states and long strings in UI
      ([45ac2a4](https://code.castopod.org/adaures/castopod/commit/45ac2a4be96532b9456e6af1d26ba4ada3649303))
    - **plugins:** load and validate plugin manifest.json
      ([1510e36](https://code.castopod.org/adaures/castopod/commit/1510e36c0acd2b254622ec230acd1d2461ee9bf3))
    - **plugins:** load plugins using file locator service
      ([587938d](https://code.castopod.org/adaures/castopod/commit/587938d2bf307b823af143586b9ec9e9b44e8dc1))
    - **plugins:** load README.md file to view plugin's instructions in UI
      ([e6bfdfc](https://code.castopod.org/adaures/castopod/commit/e6bfdfc3902705285701c13c8067fe0f538425c6))
    - **plugins:** register plugins using Plugin.php file instead of namespace +
      simplify i18n structure
      ([2035c39](https://code.castopod.org/adaures/castopod/commit/2035c39fd138a1fd408516bd1972ab6a02544c10))
    - **plugins:** uninstall plugins via CLI and admin UI
      ([9a80de4](https://code.castopod.org/adaures/castopod/commit/9a80de40686bbf4288da21cc2a6dde8036580e47))
    - set owner email to hidden by default in podcast create form
      ([7a6d9df](https://code.castopod.org/adaures/castopod/commit/7a6d9df6db8a6184b8250ced0475f3e741dde7f4))
    - support podcast:txt tag with verify use case
      ([57e459e](https://code.castopod.org/adaures/castopod/commit/57e459e187ed048430f4137172e22396cd02bf81)),
      closes [#468](https://code.castopod.org/adaures/castopod/issues/468)
    
    ### BREAKING CHANGES
    
    - next major release including plugins architecture
    
    
    # [1.11.0](https://code.castopod.org/adaures/castopod/compare/v1.10.5...v1.11.0) (4/17/2024)
    
    ### Bug Fixes
    
    - **premium:** set itunes:block on premium feeds to prevent indexing
      ([88851b0](https://code.castopod.org/adaures/castopod/commit/88851b022663d575a816f0e2f33f0353767dd52d))
    - **rss:** generate podcast guid if empty
      ([a5aef2a](https://code.castopod.org/adaures/castopod/commit/a5aef2a63e464632f3941649d455672835989e6c)),
      closes [#450](https://code.castopod.org/adaures/castopod/issues/450)
    
    ### Features
    
    - add trailer tags to rss if trailer episodes are present
      ([80fdd9c](https://code.castopod.org/adaures/castopod/commit/80fdd9cfb4a95feac6ed0000435a013fc83e6892))
    - add transcript display to episode page
      ([4d141fc](https://code.castopod.org/adaures/castopod/commit/4d141fceae56fa9e666b42c32a830ff9c68989db)),
      closes [#411](https://code.castopod.org/adaures/castopod/issues/411)
    - **platforms:** add telegram to socials
      ([004f804](https://code.castopod.org/adaures/castopod/commit/004f804045cd8e884361bb4318109fbdd7afc9a8))
    - **platforms:** add truefans.fm and episodes.fm
      ([d046ecc](https://code.castopod.org/adaures/castopod/commit/d046ecc52f6ccd41d09f6de48e00d2c61d25d7f0)),
      closes [#458](https://code.castopod.org/adaures/castopod/issues/458)
      [#459](https://code.castopod.org/adaures/castopod/issues/459)
    
    
    ## [1.10.5](https://code.castopod.org/adaures/castopod/compare/v1.10.4...v1.10.5) (3/12/2024)
    
    ### Bug Fixes
    
    - **file-uploads:** validate chapters json content + remove permit_empty rule to
      uploaded files
      ([6289c42](https://code.castopod.org/adaures/castopod/commit/6289c42b1189f074c7e4e4cd9fbfd73bf26625c9)),
      closes [#445](https://code.castopod.org/adaures/castopod/issues/445)
    
    
    ## [1.10.4](https://code.castopod.org/adaures/castopod/compare/v1.10.3...v1.10.4) (2/26/2024)
    
    ### Bug Fixes
    
    - display chapters in episode preview page
      ([797516a](https://code.castopod.org/adaures/castopod/commit/797516a2ec7d88704412a5cca50421e8eef38eec)),
      closes [#445](https://code.castopod.org/adaures/castopod/issues/445)
    
    
    ## [1.10.3](https://code.castopod.org/adaures/castopod/compare/v1.10.2...v1.10.3) (2/21/2024)
    
    ### Bug Fixes
    
    - **chapters:** use episode cover when chapter img is an empty string
      ([a343de4](https://code.castopod.org/adaures/castopod/commit/a343de4cf6ba38561b8fe675fa9c38d9f0ecfec7)),
      closes [#444](https://code.castopod.org/adaures/castopod/issues/444)
    - **import:** set episodes as premium if podcast is set as premium by default
      ([dfd66be](https://code.castopod.org/adaures/castopod/commit/dfd66beebfcca1670b0a9d389e8e3f8d2d08d2f2))
    
    
    ## [1.10.2](https://code.castopod.org/adaures/castopod/compare/v1.10.1...v1.10.2) (2/20/2024)
    
    ### Bug Fixes
    
    - **podcast-import:** move closing parenthasis when checking for owner name and
      email existence
      ([cec7815](https://code.castopod.org/adaures/castopod/commit/cec78155f94a222edcf7964c0a2f3a3e0f46a98d))
    
    
    ## [1.10.1](https://code.castopod.org/adaures/castopod/compare/v1.10.0...v1.10.1) (2/20/2024)
    
    ### Bug Fixes
    
    - **fediverse:** use config name to get Fediverse config properties instead of
      hardcoded class string
      ([5fd0980](https://code.castopod.org/adaures/castopod/commit/5fd0980ff7101d45051a2daa3f635694f85609d7))
    
    
    # [1.10.0](https://code.castopod.org/adaures/castopod/compare/v1.9.0...v1.10.0) (2/19/2024)
    
    ### Bug Fixes
    
    - **op3:** move op3 prefix to enclosure url instead of audio proxy
      ([d580369](https://code.castopod.org/adaures/castopod/commit/d5803692357952d82d54efd8d3aa71de3a1c9571))
    - **podcast-import:** rollback transaction before exception is thrown
      ([419bb04](https://code.castopod.org/adaures/castopod/commit/419bb04716088586b87b2c8f24a954ca8cfd6c76)),
      closes [#429](https://code.castopod.org/adaures/castopod/issues/429)
      [#319](https://code.castopod.org/adaures/castopod/issues/319)
      [#443](https://code.castopod.org/adaures/castopod/issues/443)
      [#438](https://code.castopod.org/adaures/castopod/issues/438)
    
    ### Features
    
    - add podcast:season and podcast:episode tags to rss feed
      ([98c6658](https://code.castopod.org/adaures/castopod/commit/98c6658840eedd55bd6d8042f8a69c342b87cd71))
    - add support for podcasting 2.0 "medium" tag with podcast, music and audiobook
      ([630e788](https://code.castopod.org/adaures/castopod/commit/630e788f0e1ddfe5de229bd415a8e15361efa746)),
      closes [#439](https://code.castopod.org/adaures/castopod/issues/439)
    - display chapters in episode's public page
      ([87cc437](https://code.castopod.org/adaures/castopod/commit/87cc437e1ead5486ed46ca37e2055aaf5c9445c1)),
      closes [#423](https://code.castopod.org/adaures/castopod/issues/423)
    - support VTT transcript file format in addition to SRT
      ([7071b4b](https://code.castopod.org/adaures/castopod/commit/7071b4b6f48cb9a2f766064f3a5c23f92b293718)),
      closes [#433](https://code.castopod.org/adaures/castopod/issues/433)
    
    
    # [1.9.0](https://code.castopod.org/adaures/castopod/compare/v1.8.2...v1.9.0) (1/31/2024)
    
    ### Bug Fixes
    
    - **i18n:** escape language strings in form fields to prevent them from
      disappearing
      ([3cb5ffd](https://code.castopod.org/adaures/castopod/commit/3cb5ffd25b9604a83cd12935e641dab7c88fba47)),
      closes [#412](https://code.castopod.org/adaures/castopod/issues/412)
    - **podcast-about:** update stats query to discard scheduled episodes from
      episodes number
      ([67c037c](https://code.castopod.org/adaures/castopod/commit/67c037c9eb1e15c6945eaf74ec0ff30b33f4b704))
    - **premium-subs:** clear subscription list cache after insert
      ([2accb0f](https://code.castopod.org/adaures/castopod/commit/2accb0f7652330b29c3adb85a2e1b0d5d83f1389)),
      closes [#430](https://code.castopod.org/adaures/castopod/issues/430)
    - **s3:** remove proxy, set objects acl to public-read, and serve files using
      their public urls
      ([6a77a9d](https://code.castopod.org/adaures/castopod/commit/6a77a9d2f29c849775a3d1bcbd819f73f21d9aa6))
    
    ### Features
    
    - add actor domain to handle in follow page
      ([de099ac](https://code.castopod.org/adaures/castopod/commit/de099ac64300b8edb86e387fde89c0a3e9472f46))
    - **admin:** add podcast's OP3 analytics dashboard link
      ([5f3752b](https://code.castopod.org/adaures/castopod/commit/5f3752b4430f6f2d5f9e5f6a7a003bc4d2f9d487))
    
    
    ## [1.8.2](https://code.castopod.org/adaures/castopod/compare/v1.8.1...v1.8.2) (1/17/2024)
    
    ### Bug Fixes
    
    - **transcript:** add condition when concatenating sub text to prevent second
      line duplication
      ([6cbfec0](https://code.castopod.org/adaures/castopod/commit/6cbfec0d7d9bf85c8014d379026648857ea13373))
    
    
    ## [1.8.1](https://code.castopod.org/adaures/castopod/compare/v1.8.0...v1.8.1) (1/16/2024)
    
    ### Bug Fixes
    
    - **models:** set updatedField as empty string when not used
      ([164f4d3](https://code.castopod.org/adaures/castopod/commit/164f4d3be74ec8d371fb40d7fe730f7b2940ca05))
    
    
    # [1.8.0](https://code.castopod.org/adaures/castopod/compare/v1.7.4...v1.8.0) (1/15/2024)
    
    ### Bug Fixes
    
    - **episode-form:** add required validation rules for title and slug
      ([30a3473](https://code.castopod.org/adaures/castopod/commit/30a34738635bf4f4a4c6b2a7174f7e439f0dfc6e)),
      closes [#420](https://code.castopod.org/adaures/castopod/issues/420)
    - **import:** check for empty string when generating podcast guid for feeds not
      including one
      ([ac5336f](https://code.castopod.org/adaures/castopod/commit/ac5336fbc5fb8038de541dd06938a8beb2e8d733))
    - **install:** add created superadmin to most powerful group in instance, ie.
      superadmin
      ([2ed511f](https://code.castopod.org/adaures/castopod/commit/2ed511f8a0005dc06eda5afd6b1d13beee1eb9dd))
    - **persons:** delete person avatar when deleting a person
      ([c1ec98c](https://code.castopod.org/adaures/castopod/commit/c1ec98c95656844712011ff30b84c397b78da311)),
      closes [#419](https://code.castopod.org/adaures/castopod/issues/419)
    - **platforms:** add matrix.org as a social platform
      ([9178c3f](https://code.castopod.org/adaures/castopod/commit/9178c3f3afa16e104d25ae159728e90a3bbd57c3)),
      closes [#421](https://code.castopod.org/adaures/castopod/issues/421)
    
    ### Features
    
    - **admin:** add tooltip for not authorized routes
      ([f7f9baf](https://code.castopod.org/adaures/castopod/commit/f7f9bafc3e56621fab2569d9d76baafe0a2e940d))
    - **admin:** emphasize unprivileged items in sidebar with "prohibited" icon
      ([0bd7dde](https://code.castopod.org/adaures/castopod/commit/0bd7ddea58adf502121b83e5c09317e20912fb4e))
    - allow hiding owner's email in public RSS feed
      ([222e02a](https://code.castopod.org/adaures/castopod/commit/222e02a2af9ecb8b8768a63d3054f4c3ef54e991))
    - **persons:** order persons by full_name ASC for easier list scanning
      ([68a599f](https://code.castopod.org/adaures/castopod/commit/68a599fee08c71763b9336e14b1c0d9e28c4449b)),
      closes [#418](https://code.castopod.org/adaures/castopod/issues/418)
    
    
    ## [1.7.4](https://code.castopod.org/adaures/castopod/compare/v1.7.3...v1.7.4) (1/3/2024)
    
    ### Bug Fixes
    
    - **media:** add missing HEAD route for static assets served with S3
      ([b61a32c](https://code.castopod.org/adaures/castopod/commit/b61a32c8a9b10e129666804d533487430ce7432c))
    
    
    ## [1.7.3](https://code.castopod.org/adaures/castopod/compare/v1.7.2...v1.7.3) (12/21/2023)
    
    ### Bug Fixes
    
    - **analytics:** upgrade opawg's user-agents-php to user-agents-v2-php
      ([8cd7886](https://code.castopod.org/adaures/castopod/commit/8cd78866762e26aa63c224dace6c247e0e9dc068))
    - **platforms:** add Threads and YouTube Music
      ([9264a2d](https://code.castopod.org/adaures/castopod/commit/9264a2d74cc95278c9d84c99ef914fdbcaf8a97f))
    
    
    ## [1.7.2](https://code.castopod.org/adaures/castopod/compare/v1.7.1...v1.7.2) (12/12/2023)
    
    ### Bug Fixes
    
    - **episode-form:** render episode number optional when episode type is trailer
      or bonus
      ([694328f](https://code.castopod.org/adaures/castopod/commit/694328f10865b2fcd6436122de46866dae81f945))
    
    
    ## [1.7.1](https://code.castopod.org/adaures/castopod/compare/v1.7.0...v1.7.1) (12/1/2023)
    
    ### Bug Fixes
    
    - **housekeeping:** add where clause to check episode_id is not null on reset
      comments count
      ([119742c](https://code.castopod.org/adaures/castopod/commit/119742cdbb2c2f7f847692fb76f6ff1dbb2e25b6))
    
    
    # [1.7.0](https://code.castopod.org/adaures/castopod/compare/v1.6.5...v1.7.0) (11/29/2023)
    
    ### Bug Fixes
    
    - **admin-ux:** hide navigation submenus in details panel for easier scanning
      ([b047a3c](https://code.castopod.org/adaures/castopod/commit/b047a3c6707114d04c276758f2e543eef90d72f5))
    - **admin:** remove episode title truncation + display description in two lines
      in episode list
      ([f4ffa30](https://code.castopod.org/adaures/castopod/commit/f4ffa30ec4341f43e22b1f983781ad04c956aa25)),
      closes [#386](https://code.castopod.org/adaures/castopod/issues/386)
    - **auth:** display error messages from validator
      ([5a834c0](https://code.castopod.org/adaures/castopod/commit/5a834c0f8957fc016e73325a3c3ff05e524d0755))
    - **housekeeping:** remove unnecessary $tablePrefix variable when resetting post
      count
      ([97d793f](https://code.castopod.org/adaures/castopod/commit/97d793f55e7eb3b049980e5081950baa2bb1b881)),
      closes [#383](https://code.castopod.org/adaures/castopod/issues/383)
    - **import:** handle bad values for location attributes
      ([642981f](https://code.castopod.org/adaures/castopod/commit/642981fd358ccf118d3d7a957fb6be7933c016ac))
    - **import:** use cocur/slugify library to handle non latin text
      ([4ca7f9c](https://code.castopod.org/adaures/castopod/commit/4ca7f9ccae1e352bf26a3b6db4de73bac7b84382))
    - move monetization outside of podcast form + add broadcast section to podcast
      menu
      ([dff8516](https://code.castopod.org/adaures/castopod/commit/dff85168b32a6df77425ef51865588ebcd8b8ba9))
    - **nodeinfo2:** import database config + use dynamic table prefix for active
      local actors query
      ([6a7ef01](https://code.castopod.org/adaures/castopod/commit/6a7ef0109a6e52144ca687b979ffe56fba66165b))
    - **persons:** set roles field as optional + set `Cast > Host` as default value
      ([02132dc](https://code.castopod.org/adaures/castopod/commit/02132dc46640807e2bc4cfc406c911fa097f36fe)),
      closes [#347](https://code.castopod.org/adaures/castopod/issues/347)
    - **platforms:** make platforms' websites and submit urls more prominent
      ([61cf8fa](https://code.castopod.org/adaures/castopod/commit/61cf8fa3e2435ee2a9bdd8e711b8d69d4ca4ec4c))
    - **podcast-form:** move fediverse section below author section
      ([1861d67](https://code.castopod.org/adaures/castopod/commit/1861d67971e2cc0c20ace091f037f6436437a50d))
    - reorder podcast form fields + extract sync feeds to its own form
      ([2d52fa1](https://code.castopod.org/adaures/castopod/commit/2d52fa1046faf1b8d81304e35fc24a7874315e6e))
    
    ### Features
    
    - **admin:** add rss feed link to podcast side navigation
      ([18e2633](https://code.castopod.org/adaures/castopod/commit/18e2633a49dbbeb57a685f129a2ab158397de61e))
    - **icons:** update new Deezer logo
      ([f2d5b27](https://code.castopod.org/adaures/castopod/commit/f2d5b272ac385a978d7e173121faafe03d7a7200))
    - **install:** init database and create superadmin using CLI
      ([02d4ba6](https://code.castopod.org/adaures/castopod/commit/02d4ba69ac007ebd1eccab428a98b54051aaf70c)),
      closes [#380](https://code.castopod.org/adaures/castopod/issues/380)
    - **ux:** add episode description to episode cards
      ([5f8d413](https://code.castopod.org/adaures/castopod/commit/5f8d413b84b236077a75934da9409f37d34cb4a5))
    
    
    ## [1.6.5](https://code.castopod.org/adaures/castopod/compare/v1.6.4...v1.6.5) (2023-09-26)
    
    ### Bug Fixes
    
    - **fediverse:** use NoteObject including episode link in content (hotfix)
      ([ffa530e](https://code.castopod.org/adaures/castopod/commit/ffa530e187ff6488648a7cf749ca0173765a5d87))
    
    
    ## [1.6.4](https://code.castopod.org/adaures/castopod/compare/v1.6.3...v1.6.4) (2023-09-17)
    
    ### Bug Fixes
    
    - **fediverse:** do not cache remote action form + fix typo on post routes for
      passing post uuid
      ([4ecb42f](https://code.castopod.org/adaures/castopod/commit/4ecb42f7c82eb8d41d27c7b9705b3278ea04ab79))
    - **fediverse:** update post controller namespace in routes
      ([3189f12](https://code.castopod.org/adaures/castopod/commit/3189f122067dc47d6de93c3185aca66d7df95e1a))
    
    
    ## [1.6.3](https://code.castopod.org/adaures/castopod/compare/v1.6.2...v1.6.3) (2023-09-14)
    
    ### Bug Fixes
    
    - **fediverse:** add `index` to post controller-method to access post's jsonld
      contents
      ([35142d8](https://code.castopod.org/adaures/castopod/commit/35142d8e565e828a977ba2b4de77c1b47a633beb))
    
    
    ## [1.6.2](https://code.castopod.org/adaures/castopod/compare/v1.6.1...v1.6.2) (2023-09-11)
    
    ### Bug Fixes
    
    - **migrations:** remove if exists modifier for drop index
      ([82013c9](https://code.castopod.org/adaures/castopod/commit/82013c9cde901c54fdb3a833890aa693e8542627)),
      closes [#382](https://code.castopod.org/adaures/castopod/issues/382)
    
    
    ## [1.6.1](https://code.castopod.org/adaures/castopod/compare/v1.6.0...v1.6.1) (2023-09-09)
    
    ### Bug Fixes
    
    - **admin:** redirect root fediverse route to fediverse-blocked-actors
      ([ba5324e](https://code.castopod.org/adaures/castopod/commit/ba5324ea1942a3939f186e974d29fb393c54b253))
    - **analytics:** show full referrer domain in web pages visits reports
      ([6be38e9](https://code.castopod.org/adaures/castopod/commit/6be38e9fda3d1436d81686e1a3a5e5b173e390a0)),
      closes [#367](https://code.castopod.org/adaures/castopod/issues/367)
    - **auth:** overwrite Shield's PermissionFilter
      ([c6e8000](https://code.castopod.org/adaures/castopod/commit/c6e8000bab54f4a32068578f750f4cf9d91bad89))
    - **auth:** update shield from v1.0.0-beta.3 to v1.0.0-beta.6
      ([23842df](https://code.castopod.org/adaures/castopod/commit/23842df03ae28e416390e2436442b8e7c8340333))
    - **platforms:** add missing tiktok to social platforms seed
      ([8dfdaf3](https://code.castopod.org/adaures/castopod/commit/8dfdaf321566050e9c53683e70864871eb55d618))
    - remove fediverse prefix to prevent migration error + load routes during
      podcast import
      ([7ff1dbe](https://code.castopod.org/adaures/castopod/commit/7ff1dbe9030768074b2fe7c7f570bfb9e7336f62))
    - **routes:** overwrite RouteCollection to include all routes + update js and
      php dependencies
      ([b4f1b91](https://code.castopod.org/adaures/castopod/commit/b4f1b916bfec53f071e8d0d900081c6d74486e53))
    - update Router to include latest CI changes with alternate-content logic
      ([ae57601](https://code.castopod.org/adaures/castopod/commit/ae57601c838a7aa9469bae8038ac1c30d8c9a51e))
    - use podcast-activity named route instead of not existing actor route
      ([3c35718](https://code.castopod.org/adaures/castopod/commit/3c357183ca51545787fcfc801b4a5829d9cd8ad6))
    
    
    # [1.6.0](https://code.castopod.org/adaures/castopod/compare/v1.5.2...v1.6.0) (2023-08-28)
    
    ### Bug Fixes
    
    - **home:** update where clause when getting all podcasts to prevent draft
      podcasts from showing up
      ([7a1eea5](https://code.castopod.org/adaures/castopod/commit/7a1eea58d3cbc1982baaec21d87a36e218e1910a))
    - **media:** copy and delete temp file when saving instead of moving it for FS
      FileManager
      ([9346e78](https://code.castopod.org/adaures/castopod/commit/9346e787bd2a2c815533092279f96ae1fe0d9aae)),
      closes [#338](https://code.castopod.org/adaures/castopod/issues/338)
    - **media:** get path using media_path_absolute when saving media file
      ([754e7a6](https://code.castopod.org/adaures/castopod/commit/754e7a6b4b2c12cf50c1c8b166732dc3255f36fb))
    - **media:** init file properties in setAttributes' Model method + set defaults
      to pathinfo data
      ([0775add](https://code.castopod.org/adaures/castopod/commit/0775add67860b94a35b68c01b133ec8ec969f539))
    - **premium-podcasts:** show premium flag only when podcast has published
      premium episodes
      ([d10c4fd](https://code.castopod.org/adaures/castopod/commit/d10c4fd7538e6af8a5b0eb232a06522fe8c4bf8e))
    - **s3:** add a flag to serve media files by redirecting to a presigned url
      instead of default proxy
      ([11aa358](https://code.castopod.org/adaures/castopod/commit/11aa3586a04c166404954600235634cee77219df))
    
    ### Features
    
    - **episode:** add preview link in admin to view and share episode before
      publication
      ([7d21b35](https://code.castopod.org/adaures/castopod/commit/7d21b3509ec5d1aa65420efa038f44bcd235e64f))
    
    
    ## [1.5.2](https://code.castopod.org/adaures/castopod/compare/v1.5.1...v1.5.2) (2023-07-31)
    
    ### Bug Fixes
    
    - **credits:** remove undefined $podcast variable from page layout
      ([73a5b68](https://code.castopod.org/adaures/castopod/commit/73a5b680875cc520fd15c529c01d44df728f9be2)),
      closes [#359](https://code.castopod.org/adaures/castopod/issues/359)
    - **platforms:** change twitter to X + add buymeacoffee and kofi as funding
      ([d69b4e4](https://code.castopod.org/adaures/castopod/commit/d69b4e4857fcb1ac1c05ac59c78d130788f00400)),
      closes [#353](https://code.castopod.org/adaures/castopod/issues/353)
      [#361](https://code.castopod.org/adaures/castopod/issues/361)
    
    
    ## [1.5.1](https://code.castopod.org/adaures/castopod/compare/v1.5.0...v1.5.1) (2023-07-29)
    
    ### Bug Fixes
    
    - **admin-ui:** remove button labels on smaller screens in podcast view
      ([9cc5ffd](https://code.castopod.org/adaures/castopod/commit/9cc5ffd1439fdc86f46a03f4319cae32db95f84e))
    - **rss:** set srt transcripts' mimetype to application/x-subrip with
      rel="captions" attribute
      ([16a3fdb](https://code.castopod.org/adaures/castopod/commit/16a3fdb56e3f07185e75d106216f29519ccb25f7)),
      closes [#360](https://code.castopod.org/adaures/castopod/issues/360)
    - **rss:** update podcast extension namespace
      ([6833dd0](https://code.castopod.org/adaures/castopod/commit/6833dd05ab51bc530d34fd4174ad732f623226c0)),
      closes [#360](https://code.castopod.org/adaures/castopod/issues/360)
    
    
    # [1.5.0](https://code.castopod.org/adaures/castopod/compare/v1.4.7...v1.5.0) (2023-07-27)
    
    ### Bug Fixes
    
    - **admin-ui:** truncate header title + remove sticky podcast banner card on
      mobile
      ([63c20da](https://code.castopod.org/adaures/castopod/commit/63c20da5ffd500265f06fa38f2b2c963e14602af))
    
    ### Features
    
    - add podcast links page including social, podcasting and funding links
      ([8ae2929](https://code.castopod.org/adaures/castopod/commit/8ae292933af15fa99856582ac24e985bfef37d5b))
    
    
    ## [1.4.7](https://code.castopod.org/adaures/castopod/compare/v1.4.6...v1.4.7) (2023-07-19)
    
    ### Bug Fixes
    
    - **s3:** allow CORS for served static files
      ([9b955c9](https://code.castopod.org/adaures/castopod/commit/9b955c9ce25a06a9102b67ebe77375dc45d28f0f))
    
    
    ## [1.4.6](https://code.castopod.org/adaures/castopod/compare/v1.4.5...v1.4.6) (2023-07-11)
    
    ### Bug Fixes
    
    - **fediverse:** expand object before sending accept follow request
      ([082cdc9](https://code.castopod.org/adaures/castopod/commit/082cdc9ee79d004c2ed748e3b8046e9141bf0242)),
      closes [#350](https://code.castopod.org/adaures/castopod/issues/350)
    - **podcast-import:** remove error log when no import in queue, exit with
      success instead
      ([5e719f3](https://code.castopod.org/adaures/castopod/commit/5e719f3e9eb6cf48c3fd8ac97181638b24d03fc9))
    
    
    ## [1.4.5](https://code.castopod.org/adaures/castopod/compare/v1.4.4...v1.4.5) (2023-07-04)
    
    ### Bug Fixes
    
    - **s3:** handle range requests to serve media files
      ([41a5932](https://code.castopod.org/adaures/castopod/commit/41a59322332c835808a32987aaf8ec6cafbf5fca))
    
    
    ## [1.4.4](https://code.castopod.org/adaures/castopod/compare/v1.4.3...v1.4.4) (2023-07-02)
    
    ### Bug Fixes
    
    - **audio-clipper:** init segment position on firstUpdate + improve UX by adding
      ghost handle
      ([aa68386](https://code.castopod.org/adaures/castopod/commit/aa683866671d14c0b9a11b09c74eb132673e5547)),
      closes [#351](https://code.castopod.org/adaures/castopod/issues/351)
    - set resized images to 72dpi for compatibility with Apple Podcasts
      ([0b327cb](https://code.castopod.org/adaures/castopod/commit/0b327cb4d9c92d0ae227a0f08ede3b29390df172)),
      closes [#282](https://code.castopod.org/adaures/castopod/issues/282)
    
    
    ## [1.4.3](https://code.castopod.org/adaures/castopod/compare/v1.4.2...v1.4.3) (2023-06-29)
    
    ### Bug Fixes
    
    - **video-clipper:** add -t option to ffmpeg command to stop generation after
      duration
      ([60814b8](https://code.castopod.org/adaures/castopod/commit/60814b8d202419c2bdbf6abb7c2bde447537b7e9)),
      closes [#341](https://code.castopod.org/adaures/castopod/issues/341)
    
    
    ## [1.4.2](https://code.castopod.org/adaures/castopod/compare/v1.4.1...v1.4.2) (2023-06-27)
    
    ### Bug Fixes
    
    - **fediverse:** check that actor's images mimetype is present or guess it
      otherwise
      ([06c4f15](https://code.castopod.org/adaures/castopod/commit/06c4f15477a568407a3d3c1e5e489bc0241bc1e9)),
      closes [#348](https://code.castopod.org/adaures/castopod/issues/348)
    - **podcast-import:** show cancel or retry action depending on task status
      ([e42258d](https://code.castopod.org/adaures/castopod/commit/e42258de1f331aac0cbb380b80cd8fc7f9d7dc18))
    
    
    ## [1.4.1](https://code.castopod.org/adaures/castopod/compare/v1.4.0...v1.4.1) (2023-06-22)
    
    ### Bug Fixes
    
    - **podcast-import:** set default values for person group and role if not found
      in taxonomy
      ([aa46dca](https://code.castopod.org/adaures/castopod/commit/aa46dca4e399bf2e544d62dcb4a9a0328e4e6c41))
    
    
    # [1.4.0](https://code.castopod.org/adaures/castopod/compare/v1.3.5...v1.4.0) (2023-06-21)
    
    ### Bug Fixes
    
    - **charts:** set duration charts label to HHhMM for listening time analytics
      ([3fc1d8e](https://code.castopod.org/adaures/castopod/commit/3fc1d8e18dc8119251c72dcaa7e5121246c2b194))
    - **embed:** set height of player iframe from config
      ([4665741](https://code.castopod.org/adaures/castopod/commit/4665741425532f253a46a42ba05602047798dba2))
    - **s3:** serve files without cache if dummy cache handler + add http referer
      header to redirect
      ([30db9f0](https://code.castopod.org/adaures/castopod/commit/30db9f0667bf7f7a5f186ea667a524d1e3b502db))
    - **s3:** use presigned request uri to serve static files
      ([cb92dc7](https://code.castopod.org/adaures/castopod/commit/cb92dc73f17543d32d1cdc24db72403a5c561a74))
    - **webmanifest:** import misc helper to get site_icon_url
      ([548a11d](https://code.castopod.org/adaures/castopod/commit/548a11d501749fa61ef894fd8818abae5668554f))
    
    ### Features
    
    - **import:** run podcast imports' processes asynchronously using tasks
      ([d8e1d40](https://code.castopod.org/adaures/castopod/commit/d8e1d4031d86de9a3889b74ae2a6d9c90af8a1da))
    - **rest-api:** add endpoints for episodes and full text search for podcasts and
      episodes
      ([85505d4](https://code.castopod.org/adaures/castopod/commit/85505d4b3181c96bc91619e3ab9b0601f8e1c120)),
      closes [#296](https://code.castopod.org/adaures/castopod/issues/296)
    
    
    ## [1.3.5](https://code.castopod.org/adaures/castopod/compare/v1.3.4...v1.3.5) (2023-05-09)
    
    ### Bug Fixes
    
    - replace essence with embera to create preview cards
      ([c682f03](https://code.castopod.org/adaures/castopod/commit/c682f03a67c6c0ebbcc6ff45d9a037f6f9823bde))
    
    
    ## [1.3.4](https://code.castopod.org/adaures/castopod/compare/v1.3.3...v1.3.4) (2023-05-05)
    
    ### Bug Fixes
    
    - **import-update:** insert episodes incrementally into database
      ([108fdf8](https://code.castopod.org/adaures/castopod/commit/108fdf84b8dd458fc71a06a77d14069287ab8e42))
    
    
    ## [1.3.3](https://code.castopod.org/adaures/castopod/compare/v1.3.2...v1.3.3) (2023-04-17)
    
    ### Bug Fixes
    
    - unnescape podcast title special characters in "find us on" section
      ([f727276](https://code.castopod.org/adaures/castopod/commit/f727276f820a8ef2c47947f40a37a4a157b509ef)),
      closes [#323](https://code.castopod.org/adaures/castopod/issues/323)
    - **websub:** add missing misc helper import
      ([855aacc](https://code.castopod.org/adaures/castopod/commit/855aacce0bf3841a876cd593e668e116149080aa))
    
    
    ## [1.3.2](https://code.castopod.org/adaures/castopod/compare/v1.3.1...v1.3.2) (2023-04-14)
    
    ### Bug Fixes
    
    - remove path key when getting default avatar path
      ([c5a1359](https://code.castopod.org/adaures/castopod/commit/c5a1359218d61c0f78006f2bd5785e317f32bade))
    - **s3:** serve files using media base url to allow for CDN setup
      ([502f53c](https://code.castopod.org/adaures/castopod/commit/502f53c9701da3b8da2caef1eb54df25b7d2d86a))
    
    
    ## [1.3.1](https://code.castopod.org/adaures/castopod/compare/v1.3.0...v1.3.1) (2023-04-13)
    
    ### Bug Fixes
    
    - **s3:** add proxy to serve images from s3 to client
      ([a76724a](https://code.castopod.org/adaures/castopod/commit/a76724a8cfee700f6874f86b35616d61facc664e)),
      closes [#321](https://code.castopod.org/adaures/castopod/issues/321)
    
    
    # [1.3.0](https://code.castopod.org/adaures/castopod/compare/v1.2.4...v1.3.0) (2023-04-03)
    
    ### Bug Fixes
    
    - delete files using file_manager when deleting episode and podcast
      ([41d8efe](https://code.castopod.org/adaures/castopod/commit/41d8efe6e71566eba44bfdfd00d1708ac4338366))
    
    ### Features
    
    - **media:** set media storage directory as configurable
      ([7e1a470](https://code.castopod.org/adaures/castopod/commit/7e1a470ba42172eb4c3864ab3652e9f8b55d1ba8))
    
    
    ## [1.2.4](https://code.castopod.org/adaures/castopod/compare/v1.2.3...v1.2.4) (2023-03-23)
    
    ### Bug Fixes
    
    - allow images to have .jpeg extension consistently
      ([ae5e12b](https://code.castopod.org/adaures/castopod/commit/ae5e12be3b15fe50cb2311abcbbc19ac23b592f6))
    - **s3:** delete persons image sizes from bucket + add keyPrefix to config
      ([208c271](https://code.castopod.org/adaures/castopod/commit/208c2715f900371987c3b75a749fe937a3db1991))
    - **s3:** do not create bucket if not exists, check if healthy instead
      ([da7076f](https://code.castopod.org/adaures/castopod/commit/da7076fc2d49d07708d5adaa99733487b7f52e20))
    
    ### Reverts
    
    - **homepage:** remove redirect to install if database is not setup
      ([d4954e0](https://code.castopod.org/adaures/castopod/commit/d4954e026d5e0d48c5f15ed69d1ce71abb34d1a1))
    
    
    ## [1.2.3](https://code.castopod.org/adaures/castopod/compare/v1.2.2...v1.2.3) (2023-03-18)
    
    ### Bug Fixes
    
    - **notifications:** set mark-all-as-read parameter to be podcast_id instead of
      actor_id
      ([2748f23](https://code.castopod.org/adaures/castopod/commit/2748f2313797e50d8a2a7b87df09c0bc6e64360a))
    
    
    ## [1.2.2](https://code.castopod.org/adaures/castopod/compare/v1.2.1...v1.2.2) (2023-03-18)
    
    ### Bug Fixes
    
    - **migration:** change old media file_key to file_path
      ([a414142](https://code.castopod.org/adaures/castopod/commit/a4141421aa1d6e89742b390b042382f729f965a9)),
      closes [#314](https://code.castopod.org/adaures/castopod/issues/314)
    
    
    ## [1.2.1](https://code.castopod.org/adaures/castopod/compare/v1.2.0...v1.2.1) (2023-03-17)
    
    ### Bug Fixes
    
    - change app.mediaBaseURL to media.baseURL in install, docker entrypoints and
      docs
      ([b3c6e05](https://code.castopod.org/adaures/castopod/commit/b3c6e05e6fcd8a518eeedeefde28b61f879ba71d))
    
    
    # [1.2.0](https://code.castopod.org/adaures/castopod/compare/v1.1.2...v1.2.0) (2023-03-17)
    
    ### Bug Fixes
    
    - **analytics:** check the x_forwarded_for client header
      ([1111177](https://code.castopod.org/adaures/castopod/commit/1111177eb7fea4eba6d119b17acdf3bf416492ef))
    - **auth:** update podcast editors' permissions
      ([a9b6308](https://code.castopod.org/adaures/castopod/commit/a9b630884bc318499ea7f03862d5752dd5f178e1))
    - **contributors:** add dash to prevent deleting permissions from other podcast
      ([5d2a2d4](https://code.castopod.org/adaures/castopod/commit/5d2a2d49c489cd98f9c9ecbca35fd5d21a9cadfb)),
      closes [#310](https://code.castopod.org/adaures/castopod/issues/310)
    - display bandwidth limit on dashboard when set in .env
      ([a2a87ab](https://code.castopod.org/adaures/castopod/commit/a2a87abf7caea3c87bcf2d0988610cc07782de9e))
    - **docker:** update nginx configuration
      ([8884598](https://code.castopod.org/adaures/castopod/commit/8884598a56d0e2550776ef4cee5e53558c20e009))
    - **platforms:** update 'submit_url' for Antennapod
      ([9fc49a7](https://code.castopod.org/adaures/castopod/commit/9fc49a7430406f50e68318c5fd7c577ae1ebd9df))
    
    ### Features
    
    - add downloads count to episode list
      ([b63c1dc](https://code.castopod.org/adaures/castopod/commit/b63c1dc9b1ed41626b99ba852a9a00ed417059ba))
    - add health route to check if db, cache and file manager are ok
      ([1dde11f](https://code.castopod.org/adaures/castopod/commit/1dde11f8e42b66684a956068f5347e9289f4918b))
    - **media:** add s3 to manage media files
      ([d93fc98](https://code.castopod.org/adaures/castopod/commit/d93fc98469ffe93913b65e539dec396891708c70))
    
    ### Reverts
    
    - **install:** reset condition to look for instance owner before continuing
      install
      ([fc009f3](https://code.castopod.org/adaures/castopod/commit/fc009f3d0058028bbbb6418603cf820c0f7cea80))
    
    
    ## [1.1.2](https://code.castopod.org/adaures/castopod/compare/v1.1.1...v1.1.2) (2022-12-14)
    
    ### Bug Fixes
    
    - **analytics:** set EpisodeAudioController to init user session data
      ([77ccb30](https://code.castopod.org/adaures/castopod/commit/77ccb306009eb093147c56789535e754f3d85570))
    
    
    ## [1.1.1](https://code.castopod.org/adaures/castopod/compare/v1.1.0...v1.1.1) (2022-12-13)
    
    ### Bug Fixes
    
    - **op3:** remove scheme when wraping audio URI
      ([0ad22e4](https://code.castopod.org/adaures/castopod/commit/0ad22e49bc488e96df5a41495f5b242559b64a45))
    - **rss:** add file extension to enclosure url
      ([964cbba](https://code.castopod.org/adaures/castopod/commit/964cbba54f16556408bf8280c544a52e6be5c9fc))
    
    
    # [1.1.0](https://code.castopod.org/adaures/castopod/compare/v1.0.5...v1.1.0) (2022-12-09)
    
    ### Bug Fixes
    
    - **notifications:** remove cache inconsistencies when marking notification as
      read
      ([46d7054](https://code.castopod.org/adaures/castopod/commit/46d70541d313c836ab0c078ba6121fe5fe956e62))
    - **notifications:** retrieve activity from database instead of getting cache
      ([7fbbd08](https://code.castopod.org/adaures/castopod/commit/7fbbd08da6a37d08608900ad318e72815fe4b0c4))
    - **podcast:soundbite:** rename start time attribute to follow spec
      ([689831c](https://code.castopod.org/adaures/castopod/commit/689831c26c756d454de432900d23bc09a37f890b))
    
    ### Features
    
    - **analytics:** add OP3 analytics service option + update episode audio url
      ([16527ed](https://code.castopod.org/adaures/castopod/commit/16527ed529265f2925e205856c684e34175a8933))
    
    
    ## [1.0.5](https://code.castopod.org/adaures/castopod/compare/v1.0.4...v1.0.5) (2022-11-25)
    
    ### Bug Fixes
    
    - **router:** revert to CI4 v4.2.7 to include all routes
      ([c13cfa0](https://code.castopod.org/adaures/castopod/commit/c13cfa0ea0679751521ca4157b953043ecc7974a))
    
    
    ## [1.0.4](https://code.castopod.org/adaures/castopod/compare/v1.0.3...v1.0.4) (2022-11-21)
    
    ### Bug Fixes
    
    - update actorUsername regex to get url_to actor
      ([1d6b177](https://code.castopod.org/adaures/castopod/commit/1d6b177a55111ede01fba1c08499036d474533bc))
    
    
    ## [1.0.3](https://code.castopod.org/adaures/castopod/compare/v1.0.2...v1.0.3) (2022-11-17)
    
    ### Bug Fixes
    
    - **dashboard-ui:** fill the blank gaps between cards on smaller screen sizes
      ([00836cc](https://code.castopod.org/adaures/castopod/commit/00836cc368c75ae2e23fa5dc4a53a5bb6eb2ce24))
    
    
    ## [1.0.2](https://code.castopod.org/adaures/castopod/compare/v1.0.1...v1.0.2) (2022-11-04)
    
    ### Bug Fixes
    
    - **auth:** disallow registration by default
      ([379b9be](https://code.castopod.org/adaures/castopod/commit/379b9be2b99574fe4af4009b01128dba2c75f037))
    - **contributors:** add prefix to podcast group to delete contributor
      ([9f785db](https://code.castopod.org/adaures/castopod/commit/9f785db7ba674638a6f456aa3626f3f8100911f1))
    - extract podcast ids from user groups using a regex
      ([e26215a](https://code.castopod.org/adaures/castopod/commit/e26215a11fc23aa0ad5ccff8ee97d6c6e8a09c1a))
    - **notifications:** add manage-notifications permission to podcast
      ([ed7c247](https://code.castopod.org/adaures/castopod/commit/ed7c247bcbbb450e5ff96418930d3b37ce912cc4))
    - **platforms:** convert special characters to htmlentities to validate url
      ([82310a2](https://code.castopod.org/adaures/castopod/commit/82310a2e0b426e84501090bdd9c0cf592d1c0d53))
    
    
    ## [1.0.1](https://code.castopod.org/adaures/castopod/compare/v1.0.0...v1.0.1) (2022-11-01)
    
    ### Bug Fixes
    
    - **platforms:** trim platform url before validation and storage
      ([259fe5f](https://code.castopod.org/adaures/castopod/commit/259fe5f697a833e268cde88e959bc19bd662edf6))
    
    
    # 1.0.0 (2022-10-20)
    
    ### Bug Fixes
    
    - **a11y:** replace active tab color to contrast with background on podcast and
      episode pages
      ([f3785e1](https://code.castopod.org/adaures/castopod/commit/f3785e140147d085a2fb6a62ded87cdfe360f442))
    - **activity-pub:** cache issues when navigating to activity stream urls
      ([7bcbfb3](https://code.castopod.org/adaures/castopod/commit/7bcbfb32f7cca08d111be46c7f1640e372d4a4b0))
    - **activity-pub:** get database records using new model instances
      ([92536dd](https://code.castopod.org/adaures/castopod/commit/92536ddb3812214a9c5682b92e547e5c1998a5d7))
    - **activitypub:** add conditions for possibly missing actor properties + add
      user-agent to requests
      ([8fbf948](https://code.castopod.org/adaures/castopod/commit/8fbf948fbba22ffd33966a1b2ccd42e8f7c1f8a2))
    - **activitypub:** add target actor id to like / announce activities to send
      directly to note's actor
      ([962dd30](https://code.castopod.org/adaures/castopod/commit/962dd305f5d3f6eadc68f400e0e8f953827fe20d))
    - **activitypub:** add target_actor_id for create activity to broadcast post
      reply
      ([0128a21](https://code.castopod.org/adaures/castopod/commit/0128a21ec55dcc0a2fbf4081dadb4c4737735ba1))
    - **activitypub:** allow cors on get requests for routes exposing acitivitypub
      objects
      ([2f24809](https://code.castopod.org/adaures/castopod/commit/2f2480998f9abb34f02ab186c65d462a74b4e640))
    - **activitypub:** set created_by to null for reblog if no user + update episode
      oembed data
      ([209dfbd](https://code.castopod.org/adaures/castopod/commit/209dfbd134e1a2cc02e7c24c158d786fa4dda61d))
    - add admin-audio-player to vite config to have admin player show up
      ([93cb9b2](https://code.castopod.org/adaures/castopod/commit/93cb9b24701c09b92820204a67c1fc1b3c044708))
    - add application/octet-stream mimetype to mp3 and m4a extensions to prevent
      ext_in error
      ([339bef8](https://code.castopod.org/adaures/castopod/commit/339bef878e54983d86e91e6ff7a931a843d321b3)),
      closes [#145](https://code.castopod.org/adaures/castopod/issues/145)
    - add category_label component to include parent category in about podcast page
      ([74e7d68](https://code.castopod.org/adaures/castopod/commit/74e7d68ac834885c4b89ee6e7d60db2157165799))
    - add explicit int conversion when formatting episode duration
      ([1253096](https://code.castopod.org/adaures/castopod/commit/1253096197a0d30692bdafa7152f250cd9a71acf))
    - add head request to analytics_hit route
      ([f0a2f0b](https://code.castopod.org/adaures/castopod/commit/f0a2f0bea491ca91976b351bb79837e95c9d094b))
    - add href to castopod website on login page
      ([cc54257](https://code.castopod.org/adaures/castopod/commit/cc5425735184ad738aa0f38540f18e8971f8f56e))
    - add missing explicit badge for podcasts and episodes
      ([cdf9f9d](https://code.castopod.org/adaures/castopod/commit/cdf9f9d53f2597f19455cb65c51da4677bb99327))
    - add open graph size for podcast images to replace the inadequate large format
      ([33aae1f](https://code.castopod.org/adaures/castopod/commit/33aae1f7934e4962116e94e477dbf48e24971f5f))
    - add public/media folder to castopod bundle
      ([8053d35](https://code.castopod.org/adaures/castopod/commit/8053d3521b481872711dabaaf265d08b9bfbaa87)),
      closes [#52](https://code.castopod.org/adaures/castopod/issues/52)
    - add translation key for audio-clipper trim labels
      ([db191ac](https://code.castopod.org/adaures/castopod/commit/db191ac31bd16bad2a72afdb8b25c685adf86a6e))
    - add underline and semibold font weight for prose links to have them stand out
      ([d4d8671](https://code.castopod.org/adaures/castopod/commit/d4d867121c50bded4176a53d7154cf1bb347e306))
    - add where condition to get episode count without deleted episodes
      ([7661734](https://code.castopod.org/adaures/castopod/commit/7661734ed296654630f3668132671117519145dd)),
      closes [#67](https://code.castopod.org/adaures/castopod/issues/67)
    - **admin:** save block and lock switches
      ([b66c0af](https://code.castopod.org/adaures/castopod/commit/b66c0afc8fab2e338402a9a4f8105e5f5459e208))
    - **analytics:** redirect to mp3 file even when referer was not set
      ([9fc388d](https://code.castopod.org/adaures/castopod/commit/9fc388d154f29c335dedcd624abe8c1751762c07))
    - **analytics:** remove charts empty values + remove useless language cache
      ([1678794](https://code.castopod.org/adaures/castopod/commit/16787941539ba4014281a366789ea896a9cd2afc))
    - **analytics:** set duration field to precise decimal as episode's audio file
      duration
      ([d772685](https://code.castopod.org/adaures/castopod/commit/d77268540569b2be9d91d5e09aefb3ff5ac2b071))
    - **analytics:** set initial value for duration and bandwidth
      ([ee50539](https://code.castopod.org/adaures/castopod/commit/ee5053959154b1a2e5fbe4b43162968425206a26))
    - **analytics:** update migrations to set decimal precision for latitude and
      longitude
      ([714d6b5](https://code.castopod.org/adaures/castopod/commit/714d6b5d4950e52cf1c3170bb59954f98ffd48bd))
    - **analytics:** update service management so that it works with new OPAWG slug
      values
      ([7fe9d42](https://code.castopod.org/adaures/castopod/commit/7fe9d42500ade2c6fa3ff4365b4affc475af0e51))
    - **audio-clipper:** add mouse position offset when stretching clip to prevent
      content from jumping
      ([602654b](https://code.castopod.org/adaures/castopod/commit/602654b99b33ee8c29da080058a0aaea976cd484))
    - **audio-clipper:** show audio playing progress + put waveform behind audio
      clipper
      ([01a09dc](https://code.castopod.org/adaures/castopod/commit/01a09dc447b81c5412ceb45d6706a867939fd4dd))
    - **avatar:** use default avatar when no avatar url has been set
      ([9d23c7e](https://code.castopod.org/adaures/castopod/commit/9d23c7e7e142c6cf1a1418e37e41d711064593c4)),
      closes [#111](https://code.castopod.org/adaures/castopod/issues/111)
    - **bundle:** include modules and themes when copying files with rsync
      ([cd5bb88](https://code.castopod.org/adaures/castopod/commit/cd5bb8835c6e259408a8c13a2196a347e161da83))
    - **bundle:** update vite input files path + add `set -e` in bash scripts to
      fail if command fails
      ([0ee53c7](https://code.castopod.org/adaures/castopod/commit/0ee53c71ffadb8a6ddb1febd9f912bc99f5f7a0b))
    - **cache:** add locale for podcast and episode pages + clear some persisting
      cache in models
      ([9cec8a8](https://code.castopod.org/adaures/castopod/commit/9cec8a81ccbb7239402fe6633dbc31979272302a)),
      closes [#42](https://code.castopod.org/adaures/castopod/issues/42)
      [#61](https://code.castopod.org/adaures/castopod/issues/61)
    - **cache:** delete posts and comments pages cache when updating platform links
      ([f7c3e5b](https://code.castopod.org/adaures/castopod/commit/f7c3e5bf4ad43389bf8d58d2c4aaf16b81cbce00)),
      closes [#169](https://code.castopod.org/adaures/castopod/issues/169)
    - **cache:** return a non cached view when connected
      ([e2e7358](https://code.castopod.org/adaures/castopod/commit/e2e735815d805a48eed2ea3288d060d0ddb253a3))
    - **cache:** suffix cache names with authenticated for credits, map and pages
      ([418a70b](https://code.castopod.org/adaures/castopod/commit/418a70b2a670d8ba0ab6c15fa5faa41f6be55e53))
    - cast actor_id to pass as int to set_interact_as_actor() function
      ([56a8e5d](https://code.castopod.org/adaures/castopod/commit/56a8e5d7dd615322aeb007e730801c65d0b02e5c))
    - **category:** remove uncategorized option to enforce users in choosing a
      category
      ([8c64f25](https://code.castopod.org/adaures/castopod/commit/8c64f25a0e72fec03d25544797d32623b2276fce))
    - change image size requirement hints
      ([ea20206](https://code.castopod.org/adaures/castopod/commit/ea20206ee674eb54dd3ea188d2a2e2d41425df65))
    - change message upon cancellation of episode publication
      ([9859c74](https://code.castopod.org/adaures/castopod/commit/9859c7434c2a3478ce035f7a4de20f594d63f5b0))
    - check for database connection and podcasts table existence before redirecting
      to install
      ([eb74e81](https://code.castopod.org/adaures/castopod/commit/eb74e81c3d93581e310b391cd029e62a0d690a8a))
    - check that additional files are valid when creating episode
      ([eac5bc8](https://code.castopod.org/adaures/castopod/commit/eac5bc876de125e1fe08d1b89f767a04fc0fbfb6))
    - check that note has a preview_card_id before displaying it
      ([acb8b3a](https://code.castopod.org/adaures/castopod/commit/acb8b3a40172ccb184ffe544760601d756692e6c)),
      closes [#114](https://code.castopod.org/adaures/castopod/issues/114)
    - clear cache when deleting podcast banner
      ([99bb40b](https://code.castopod.org/adaures/castopod/commit/99bb40b8bc17b8ee2cd8468a82e46ea280c92cb6))
    - comment all cache clean after page update to prevent analytics cache deletion
      ([e6197a4](https://code.castopod.org/adaures/castopod/commit/e6197a4972a3cce3d67dd7972bb54f8720b8e5b7))
    - **comments:** add comment view partials for public pages
      ([fcecbe1](https://code.castopod.org/adaures/castopod/commit/fcecbe1c68b0d28d19454fba65caf3ab769fbc75))
    - correct chart data
      ([4d3e9c8](https://code.castopod.org/adaures/castopod/commit/4d3e9c8c02cdc882e9fe1c29625695b6f83c820a))
    - correct percona compatibility issue
      ([e53f819](https://code.castopod.org/adaures/castopod/commit/e53f819264b2d6902996f11ffcbb7c99295a90ef))
    - correct php-fpm issues
      ([1ef55d7](https://code.castopod.org/adaures/castopod/commit/1ef55d7315bb44abe05f02ec8a84b6b6a557a9a0))
    - correct referrer bug
      ([ed69b2f](https://code.castopod.org/adaures/castopod/commit/ed69b2f5004ed1cd18bac824c08a0df01f5d2637))
    - correction for servers with low int precision
      ([31b7828](https://code.castopod.org/adaures/castopod/commit/31b7828e77519ef43e9bcfcbdf6c21712f97a571))
    - **cors:** add preflight option routes for episode, podcast and status objects
      ([a281abf](https://code.castopod.org/adaures/castopod/commit/a281abfda475388a07943c169dab460cc2d4f944))
    - declare typed properties in PHPDoc for php<7.4
      ([14dd44d](https://code.castopod.org/adaures/castopod/commit/14dd44d03d6db0d9ae4198db8e65c92a0e45cb31)),
      closes [#23](https://code.castopod.org/adaures/castopod/issues/23)
    - define podcast_id and platform_slug as foreign keys in podcasts_plaforms table
      ([6e9451a](https://code.castopod.org/adaures/castopod/commit/6e9451a1103b43750fa70ad576de36af25ca29cb))
    - define podcastNamespaceLink value
      ([0d744d2](https://code.castopod.org/adaures/castopod/commit/0d744d212df0d070ceea185068eaf2746e1ccd48))
    - **email:** set the correct url in the activation and forgot emails
      ([10fc6f1](https://code.castopod.org/adaures/castopod/commit/10fc6f17c6838a58348f32ccfd0cf05f9d3e172c)),
      closes [#204](https://code.castopod.org/adaures/castopod/issues/204)
    - **embeddable-player:** enable any ancestor when X-Frame-Options is set on
      server
      ([44a4962](https://code.castopod.org/adaures/castopod/commit/44a4962e0b7e3ed87e9914b4e7792a0d52330ff8))
    - **embed:** open embedded player's links in new tab
      ([4aa73d7](https://code.castopod.org/adaures/castopod/commit/4aa73d71e3b8c0a6c3f75f4d1d45c4d693aba64c))
    - **episode-form:** show warning to set `memory_limit`, `upload_max_filesize` &
      `post_max_size`
      ([3b3c218](https://code.castopod.org/adaures/castopod/commit/3b3c218b9c868e9f12c54d7670e69d84c9ee79c0)),
      closes [#5](https://code.castopod.org/adaures/castopod/issues/5)
      [#86](https://code.castopod.org/adaures/castopod/issues/86)
    - **episode-unpublish:** set consistent posts_counts' increments/decrements for
      actors and episodes
      ([8acdafd](https://code.castopod.org/adaures/castopod/commit/8acdafd26044e50a4d6ee451bf24ad66003c5bb3)),
      closes [#233](https://code.castopod.org/adaures/castopod/issues/233)
    - **episodeCount:** add missing brackets to French language file
      ([c1b4112](https://code.castopod.org/adaures/castopod/commit/c1b411265ad9b06e95a8b097ecf73445b88dcb45))
    - **episode:** replace guid's empty string value to null
      ([441052a](https://code.castopod.org/adaures/castopod/commit/441052af8d99e6e317edefd1e58ad71799357088))
    - **episodes-page:** handle defaultQuery being null when no podcast episodes
      ([15183b7](https://code.castopod.org/adaures/castopod/commit/15183b7eab57dac007bcdfa8c3651239de1ae05a)),
      closes [#100](https://code.castopod.org/adaures/castopod/issues/100)
    - **episodes-table:** set descriptions to be not null
      ([6774ec1](https://code.castopod.org/adaures/castopod/commit/6774ec10fa78527be6b7548ca1dc34ad0ada090c))
    - **episodes:** add publication status + set publication date to null when none
      has been set
      ([d882981](https://code.castopod.org/adaures/castopod/commit/d882981b3a86c81921ce6b07d4cf61fc13983689)),
      closes [#70](https://code.castopod.org/adaures/castopod/issues/70)
    - escape characters for `min` in format_duration_symbol
      ([3b6722a](https://code.castopod.org/adaures/castopod/commit/3b6722a42b9e4330e5235d4ceed41c777159f4dc))
    - escape generated feed tag values and remove new lines from public pages meta
      description
      ([6238a43](https://code.castopod.org/adaures/castopod/commit/6238a43863210afe8988ad7cf251e6bfc6c8557c)),
      closes [#57](https://code.castopod.org/adaures/castopod/issues/57)
      [#46](https://code.castopod.org/adaures/castopod/issues/46)
    - expire default query cache upon scheduled episode publication
      ([b72e7c8](https://code.castopod.org/adaures/castopod/commit/b72e7c8691c887e41107baea0a4d50a39eaf8c8b)),
      closes [#81](https://code.castopod.org/adaures/castopod/issues/81)
    - explicitly cast seconds to int in iso8601_duration helper function
      ([779653f](https://code.castopod.org/adaures/castopod/commit/779653f75b140942f731cbb238bc0667cc461307))
    - **fediverse:** set default castopod avatar url when actor avatar is not
      present
      ([460f52f](https://code.castopod.org/adaures/castopod/commit/460f52f70e493d619c28632db6c698e88f0ebb5f))
    - **fediverse:** set model instances as non shared to prevent overlapping
      ([91128fa](https://code.castopod.org/adaures/castopod/commit/91128fad7a68e1f4e5acacba90b6899288699e61))
    - fix layout bugs in admin and update translation files
      ([a834171](https://code.castopod.org/adaures/castopod/commit/a83417180cf61cdfadc5509b0aaa2fdb66592be3)),
      closes [#40](https://code.castopod.org/adaures/castopod/issues/40)
    - **follow:** add missing helpers to Actor controller
      ([ee53a73](https://code.castopod.org/adaures/castopod/commit/ee53a732dc12ebbf5706e14969749a12cfd9d559))
    - **get_browser_language:** return defaultLocale if browser doesn't send user
      preferred language
      ([9cc2996](https://code.castopod.org/adaures/castopod/commit/9cc299626181048b85b629bbe7f5806a1f5d21ff))
    - handle HEAD requests on podcast_feed route
      ([74b2640](https://code.castopod.org/adaures/castopod/commit/74b2640f2a25c4cd6fd8835fc492c2a6893d4950)),
      closes [#79](https://code.castopod.org/adaures/castopod/issues/79)
    - **home:** remove hardcoded prefix in getAllPodcasts query
      ([92d5cc5](https://code.castopod.org/adaures/castopod/commit/92d5cc50a3e533875cd894dccc417918102d4b7f))
    - **housekeeping:** replace the use of GLOB_BRACE with looping over file
      extensions
      ([42d92d0](https://code.castopod.org/adaures/castopod/commit/42d92d0c8dfe0c567c28f5bfdda129890fa4c2ec)),
      closes [#154](https://code.castopod.org/adaures/castopod/issues/154)
    - **housekeeping:** set default sizes value + ignore illegal IFD size error to
      proceed with script
      ([f21ca57](https://code.castopod.org/adaures/castopod/commit/f21ca57603cfa503699b7e09a155e18d876d65fe))
    - **housekeeping:** use EpisodeModel's builder to reset comments count
      ([65e9c0b](https://code.castopod.org/adaures/castopod/commit/65e9c0b05ea4992884149cb4a4b071bf31a20a1a))
    - **htaccess:** add ? after index.php in RewriteRule
      ([d9d139e](https://code.castopod.org/adaures/castopod/commit/d9d139eefa03c28d1a064b3b32c9036193497e57)),
      closes [#152](https://code.castopod.org/adaures/castopod/issues/152)
    - **http-signature:** update SIGNATURE_PATTERN allowing signature keys to be
      sent in any order
      ([b7f285e](https://code.castopod.org/adaures/castopod/commit/b7f285e4e24247fedb94f030356fa6f291f525cc))
    - **images:** set default mimetype if none is specified when getting size info
      ([6e4acc6](https://code.castopod.org/adaures/castopod/commit/6e4acc64ad256178cee7905402b48bafcd49f84c))
    - **import-with-escaped-characters:** remove \CodeIgniter\HTTP\URI in
      download_file, closes
      [#103](https://code.castopod.org/adaures/castopod/issues/103)
      ([35b5be0](https://code.castopod.org/adaures/castopod/commit/35b5be095ff54d27acec1610a846ec0cdbdf1d65))
    - **import:** add extension when downloading file without + truncate slug if too
      long
      ([c5f18bb](https://code.castopod.org/adaures/castopod/commit/c5f18bb6dc08a758ff735454bbe9cfa45a68c09b))
    - **import:** add validation for handle field to prevent
      Router.invalidParameterType error
      ([5bf7200](https://code.castopod.org/adaures/castopod/commit/5bf7200fb390f2447b29f24b495f24483cf7b205)),
      closes [#119](https://code.castopod.org/adaures/castopod/issues/119)
    - **import:** cast description's SimpleXMLElement to string
      ([02d17be](https://code.castopod.org/adaures/castopod/commit/02d17be4ffe229fc6657207d31eba0543b5f1a4c))
    - **import:** remove query string from files url
      ([109c4aa](https://code.castopod.org/adaures/castopod/commit/109c4aa1afb72dd8b99c0302d74a7fef5a38638e))
    - **import:** save media files during podcast import + set missing media fields
      ([a9989d8](https://code.castopod.org/adaures/castopod/commit/a9989d841a634f8cf6c04df25f40bb1e7d4fcdcc))
    - **import:** set default episode type if not set