Yassine Doghri
ed57e13b40
feat: set min PHP version to 8.5 + upgrade CI4 to 4.7
...
update all dependencies to latest
2026-02-19 16:23:20 +00:00
Yassine Doghri
6b302ad8bf
fix(player): load icons locally instead of relying on vimejs picking them from third party scripts
...
closes #551
2026-02-19 13:16:55 +00:00
Yassine Doghri
a585362827
chore: update CI files after update from 4.6.3 to 4.6.5
2026-02-17 21:09:55 +00:00
Yassine Doghri
e5fb676cb6
feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images
...
- use serversideup/php as a base image
- remove nginx unit base
- remove app / webserver images
- add bundle stage to remove pipeline dependency
- update docker setup docs
- edit gitlabci rules and release logic
2026-02-17 19:31:24 +00:00
Yassine Doghri
49a43d08cc
fix(fediverse): match episode posts replies fields with comments in union query
...
fixes #577
2025-12-20 18:54:19 +00:00
kloo kloo
950d42c838
fix: edit Podcast.php to clarify the followers are Fediverse followers
2025-10-13 12:37:17 +00:00
kloo kloo
6be7a1f4d7
fix: edit Platforms.php to alphabetize all broadcast platforms + minor UI labels edits
2025-10-13 12:36:51 +00:00
Yassine Doghri
3d0db5c64a
feat(plugins): add spark commands to install, add, update and remove plugins using adaures' cpm
...
update js & php dependencies to latest and fix rector, phpstan and ecs issues
2025-09-22 17:34:36 +00:00
Yassine Doghri
9dffc8d5f1
ci(php-icons): fix local icon sets path
2025-08-26 08:10:36 +00:00
Yassine Doghri
8ec42c33ff
fix(fediverse): add is_private field to posts to flag private posts and hide them from public views
2025-08-25 18:32:09 +00:00
Yassine Doghri
346c00e7b5
chore: update CI to v4.6.3 + all php and js dependencies
2025-08-25 18:09:41 +00:00
Yassine Doghri
94cea0ce91
feat: set min PHP version to 8.4
...
update CI4 to 4.6.0 + use codeigniter-vite and vite-plugin-codeigniter to load assets
2025-03-14 12:54:51 +00:00
semantic-release-bot
c9fabe8888
chore(release): 2.0.0-next.3 [skip ci]
...
## [2.0.0-next.3](https://code.castopod.org/adaures/castopod/compare/v2.0.0-next.2...v2.0.0-next.3 ) (2024-12-30)
### Features
* **api:** add Episode create and publish endpoints ([a90cdfd ](a90cdfdcdb ))
* **image:** add image size's width and height ([f50098e ](f50098ec89 ))
* **plugins:** add defaultValue for all field types ([d3a98db ](d3a98db6d0 ))
* **plugins:** add group field type + multiple option to render field arrays ([11ccd0e ](11ccd0ebe7 ))
* **plugins:** add html field type + CodeEditor component + rework html head generation ([8cf9c6d ](8cf9c6dc83 ))
* **rss:** add option for 301 redirect to new feed url ([8402cc2 ](8402cc29d2 ))
### Bug Fixes
* add downloads_count to episodes table, computed every hour ([f981937 ](f981937645 ))
* allow passing json to app.proxyIPs config to set it ([cbf739e ](cbf739e95c ))
* **api:** cast integers when creating episode ([775b302 ](775b302f7c ))
* **docker-image:** clear cache to account for new assets and data structure changes ([63c763f ](63c763f941 )), closes [#510 ](https://code.castopod.org/adaures/castopod/issues/510 )
* edit remap functions to get episode in episode admin controllers ([9f74cca ](9f74cca342 ))
* **episode:** do not change slug when editing episode title ([a83afb0 ](a83afb0004 )), closes [#513 ](https://code.castopod.org/adaures/castopod/issues/513 )
* **fediverse:** add "processing" and "failed" statuses to better manage broadcast load ([1d7583d ](1d7583d738 )), closes [#511 ](https://code.castopod.org/adaures/castopod/issues/511 )
* **icons:** set correct names for lock and lock-unlock icons in premium banner ([37ee6d3 ](37ee6d35b4 ))
* **plugins:** clear cache after activating or deactivating plugin ([08c7df2 ](08c7df2a5d ))
* **plugins:** delete relevant cache when submitting settings ([00bd4c0 ](00bd4c02ee ))
* **podcast-model:** always query podcast from database when clearing cache ([d30c49c ](d30c49cdff ))
* **premium-podcasts:** update query to validate subscription ([2b1bbf3 ](2b1bbf3430 ))
* **preview:** delete episode preview cache after editing episode ([732d429 ](732d42923d )), closes [#514 ](https://code.castopod.org/adaures/castopod/issues/514 )
* **release:** add conventional-changelog-conventionalcommits for CHANGELOG generation ([6934c8a ](6934c8aa8f ))
* **rss:** add subscription id to cache name to prevent premium feeds from overlapping ([74f9325 ](74f9325946 ))
* set user as www-data when running cron jobs in docker's supervisord config ([65d74f1 ](65d74f14e6 ))
* typo in EpisodeController remap function to get episode ([f288a75 ](f288a750f5 ))
* update select and multi-select options to value/label arrays ([63f93f5 ](63f93f585b ))
### Internal
* **plugins:** create Field objects per field type in settings forms + handle rendering in class ([34be5bc ](34be5bccab ))
* remove fields from podcast and episode entities to be replaced with plugins ([b869acb ](b869acb3a9 ))
* rename controller methods for views and actions to be more consistent ([85704bf ](85704bfbe0 ))
* update CodeIgniter to v4.5.6 ([f295e9a ](f295e9aa4c ))
* update codigniter-icons to v1.0.1 ([fa6967e ](fa6967e65c ))
* update js dependencies to latest ([70c9797 ](70c97971fc ))
2024-12-30 12:31:21 +00:00
Yassine Doghri
f295e9aa4c
chore: update CodeIgniter to v4.5.6
...
+ update php dependencies to latest
2024-12-29 16:02:08 +00:00
Yassine Doghri
f981937645
fix: add downloads_count to episodes table, computed every hour
...
This removes computing latency when retrieving episodes list with download count in admin.
The more
analytics records, the more it took to calculate the sum of hits to get the downloads count for each
episode.
2024-12-29 13:24:42 +00:00
Yassine Doghri
f288a750f5
fix: typo in EpisodeController remap function to get episode
...
- fix defaultValue being empty string when cast as array
- fix initial styles for select to reduce
content layout shift
2024-12-29 13:21:50 +00:00
Nate Ritter
a90cdfdcdb
feat(api): add Episode create and publish endpoints
2024-12-25 11:22:29 +00:00
Yassine Doghri
8402cc29d2
feat(rss): add option for 301 redirect to new feed url
2024-12-25 11:22:13 +00:00
Yassine Doghri
34be5bccab
refactor(plugins): create Field objects per field type in settings forms + handle rendering in class
...
update manifest.schema.json to have defaultValue type differ based on field type
2024-12-23 15:35:47 +00:00
Yassine Doghri
d3a98db6d0
feat(plugins): add defaultValue for all field types
2024-12-19 12:33:57 +00:00
Yassine Doghri
85704bfbe0
refactor: rename controller methods for views and actions to be more consistent
...
add PermalinkEditor component
2024-12-18 16:05:25 +00:00
Yassine Doghri
8cf9c6dc83
feat(plugins): add html field type + CodeEditor component + rework html head generation
...
update php and js packages to latest
2024-12-17 15:11:45 +00:00
Yassine Doghri
b869acb3a9
refactor: remove fields from podcast and episode entities to be replaced with plugins
2024-12-15 17:34:36 +00:00
Yassine Doghri
11ccd0ebe7
feat(plugins): add group field type + multiple option to render field arrays
...
- update docs
- render hint and helper options for all fields
- replace option's hint with
description
2024-12-10 15:57:06 +00:00
Yassine Doghri
f50098ec89
feat(image): add image size's width and height
...
escape plugin description + replace codeigniter-icons with php-icons v1.2
2024-11-07 12:56:46 +00:00
Yassine Doghri
fa6967e65c
refactor: update codigniter-icons to v1.0.1
2024-11-06 13:19:59 +00:00
Yassine Doghri
cbf739e95c
fix: allow passing json to app.proxyIPs config to set it
2024-11-06 13:19:59 +00:00
Yassine Doghri
63f93f585b
fix: update select and multi-select options to value/label arrays
...
add hint to select options + update dependencies to latest
2024-11-06 13:19:59 +00:00
Yassine Doghri
1667f5b202
build: update CI4 to v4.5.5 + php and js packages to latest
2024-11-06 13:19:59 +00:00
Yassine Doghri
d30c49cdff
fix(podcast-model): always query podcast from database when clearing cache
...
this prevents from having any unexpected caching side effects
2024-11-06 13:19:59 +00:00
Yassine Doghri
732d42923d
fix(preview): delete episode preview cache after editing episode
...
fixes #514
2024-11-06 13:19:59 +00:00
Yassine Doghri
74f9325946
fix(rss): add subscription id to cache name to prevent premium feeds from overlapping
2024-11-06 13:19:58 +00:00
semantic-release-bot
3cd30205d9
chore(release): 2.0.0-next.2 [skip ci]
...
# [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 ](0ba0a25b11 ))
* broken icon call in frontend default pages template ([3228362 ](322836254e ))
* **manifest:** set repository url as required in docstring typings ([a8c81b3 ](a8c81b3fa1 ))
* set correct icons parameters in map and funding links views ([5d35524 ](5d35524875 )), closes [#500 ](https://code.castopod.org/adaures/castopod/issues/500 )
### Features
* **plugins:** add `minCastopodVersion` to denote incompatibility with previous Castopod versions ([fc9ea75 ](fc9ea7597e ))
* **plugins:** load and display LICENSE.md file if found in plugin's directory ([fee7905 ](fee7905935 ))
2024-07-08 16:12:36 +00:00
Yassine Doghri
fee7905935
feat(plugins): load and display LICENSE.md file if found in plugin's directory
2024-07-05 16:44:35 +00:00
Yassine Doghri
1a439083a2
docs: fix typo in comments in auth file
2024-07-04 15:54:17 +00:00
Yassine Doghri
0ba0a25b11
fix(audio-player): set player icons to default instead of missing Castopod's
2024-07-04 14:44:17 +00:00
crowdin
1c5fe1fea6
chore(i18n): new Crowdin updates
2024-07-04 13:54:43 +00:00
Yassine Doghri
e9c04548de
build: update CI to 4.5.3 + php and js dependencies to latest
2024-07-04 13:27:10 +00:00
semantic-release-bot
0eeedb9dc6
chore(release): 2.0.0-next.1 [skip ci]
...
# [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 ](56612f0c76 ))
* **docs:** add base to og image using env variable ([fe67659 ](fe676590f2 ))
* **import:** rewrite download_file helper to output curl response directly to file ([eb7ad2f ](eb7ad2f7e1 ))
* include app/Resources/icons folder to bundle ([3fd5efc ](3fd5efc795 ))
* **platforms:** add platforms service + reduce memory consumption when rendering platform cards ([fe73e9f ](fe73e9fae9 ))
* set owner email visibility when editing podcast ([fc4f982 ](fc4f982556 )), closes [#473 ](https://code.castopod.org/adaures/castopod/issues/473 )
### Build System
* release next major version as prerelease ([8275226 ](827522643e ))
### Features
* add Plugins module with base files for plugins architecture ([7253e13 ](7253e13ac2 ))
* **plugins:** abstract settings form for general, podcast and episode types ([b62b483 ](b62b483ad9 ))
* **plugins:** activate / deactivate plugin using settings table ([27d2a1b ](27d2a1b0ff ))
* **plugins:** add aside with plugin metadata next to plugin's readme ([dfb7888 ](dfb7888aeb ))
* **plugins:** add before channel/item hooks to allow podcast/episode data edit when generating rss ([80d2c48 ](80d2c48ee2 ))
* **plugins:** add json schema definition for plugin manifest ([b5eddf3 ](b5eddf351f ))
* **plugins:** add methods to easily retrieve general, podcast and episode settings in hooks methods ([3a900bb ](3a900bbab6 ))
* **plugins:** add new field types + validate & cast user data before storing settings ([6f833fc ](6f833fc76a ))
* **plugins:** add options to manifest for building forms and storing plugin settings ([3d8aedf ](3d8aedf9c3 ))
* **plugins:** add settings page for podcast and episode if defined in the plugin's manifest ([89ac92f ](89ac92fb41 ))
* **plugins:** add siteHead hook to add custom meta tags to public pages ([e80a33b ](e80a33bf2a ))
* **plugins:** display errors when plugin is invalid instead of crashing ([8ec7909 ](8ec79097bb ))
* **plugins:** handle empty states and long strings in UI ([45ac2a4 ](45ac2a4be9 ))
* **plugins:** load and validate plugin manifest.json ([1510e36 ](1510e36c0a ))
* **plugins:** load plugins using file locator service ([587938d ](587938d2bf ))
* **plugins:** load README.md file to view plugin's instructions in UI ([e6bfdfc ](e6bfdfc390 ))
* **plugins:** register plugins using Plugin.php file instead of namespace + simplify i18n structure ([2035c39 ](2035c39fd1 ))
* **plugins:** uninstall plugins via CLI and admin UI ([9a80de4 ](9a80de4068 ))
* set owner email to hidden by default in podcast create form ([7a6d9df ](7a6d9df6db ))
* support podcast:txt tag with verify use case ([57e459e ](57e459e187 )), closes [#468 ](https://code.castopod.org/adaures/castopod/issues/468 )
### BREAKING CHANGES
* next major release including plugins architecture
2024-06-19 10:12:35 +00:00
Yassine Doghri
2035c39fd1
feat(plugins): register plugins using Plugin.php file instead of namespace + simplify i18n structure
2024-06-14 15:53:33 +00:00
Yassine Doghri
b5bd2db28f
build(php): upgrade min php version to 8.3
2024-06-14 15:53:33 +00:00
Yassine Doghri
e2a90def88
test(plugins): add test cases for loading manifest data
2024-06-14 15:53:33 +00:00
Yassine Doghri
80d2c48ee2
feat(plugins): add before channel/item hooks to allow podcast/episode data edit when generating rss
2024-06-14 15:53:33 +00:00
Yassine Doghri
b62b483ad9
feat(plugins): abstract settings form for general, podcast and episode types
...
update filter permission logic for replacing router param
2024-06-14 15:53:33 +00:00
Yassine Doghri
6f833fc76a
feat(plugins): add new field types + validate & cast user data before storing settings
...
+ refactor form fields components
2024-06-14 15:53:33 +00:00
Yassine Doghri
82714e7155
style(buttons): add tint to variants
2024-06-14 15:53:33 +00:00
Yassine Doghri
dfb7888aeb
feat(plugins): add aside with plugin metadata next to plugin's readme
...
- enhance plugin card ui
- refactor components to be more consistent
- invert toggler label for better UX
- edit view components regex
2024-06-14 15:53:33 +00:00
Yassine Doghri
1510e36c0a
feat(plugins): load and validate plugin manifest.json
2024-06-14 15:53:32 +00:00
Yassine Doghri
896f00661f
refactor(plugins): redefine plugins folder structure to vendor/package
2024-06-14 15:53:32 +00:00
Yassine Doghri
9a80de4068
feat(plugins): uninstall plugins via CLI and admin UI
2024-06-14 15:53:32 +00:00