semantic-release-bot
14d3d1d727
chore(release): 1.0.0-alpha.45 [skip ci]
...
# [1.0.0-alpha.45](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.44...v1.0.0-alpha.45 ) (2021-04-08)
### Bug Fixes
* add head request to analytics_hit route ([f0a2f0b ](f0a2f0bea4 ))
2021-04-08 14:03:52 +00:00
semantic-release-bot
b5eb4c68a5
chore(release): 1.0.0-alpha.44 [skip ci]
...
# [1.0.0-alpha.44](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.43...v1.0.0-alpha.44 ) (2021-04-08)
### Bug Fixes
* **rss:** set ❬itunes:author❭ tag to owner_name if publisher not specified ([2271c14 ](2271c1445b )), closes [#96 ](https://code.podlibre.org/podlibre/castopod/issues/96 )
2021-04-08 11:20:49 +00:00
semantic-release-bot
0cd6b80847
chore(release): 1.0.0-alpha.43 [skip ci]
...
# [1.0.0-alpha.43](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.42...v1.0.0-alpha.43 ) (2021-04-08)
### Bug Fixes
* **episode-form:** show warning to set `memory_limit`, `upload_max_filesize` & `post_max_size` ([3b3c218 ](3b3c218b9c )), closes [#5 ](https://code.podlibre.org/podlibre/castopod/issues/5 ) [#86 ](https://code.podlibre.org/podlibre/castopod/issues/86 )
2021-04-08 10:50:31 +00:00
semantic-release-bot
c37a4af2d8
chore(release): 1.0.0-alpha.42 [skip ci]
...
# [1.0.0-alpha.42](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.41...v1.0.0-alpha.42 ) (2021-04-02)
### Features
* **fediverse:** implement activitypub protocols + update user interface ([2f525c0 ](2f525c0f6e )), closes [#69 ](https://code.podlibre.org/podlibre/castopod/issues/69 ) [#65 ](https://code.podlibre.org/podlibre/castopod/issues/65 ) [#85 ](https://code.podlibre.org/podlibre/castopod/issues/85 ) [#51 ](https://code.podlibre.org/podlibre/castopod/issues/51 ) [#91 ](https://code.podlibre.org/podlibre/castopod/issues/91 ) [#92 ](https://code.podlibre.org/podlibre/castopod/issues/92 ) [#88 ](https://code.podlibre.org/podlibre/castopod/issues/88 )
2021-04-02 17:24:40 +00:00
Yassine Doghri
2f525c0f6e
feat(fediverse): implement activitypub protocols + update user interface
...
- add "ActivityPub" library to handle server to server federation and basic
client to server protocols using activitypub:
- add webfinger endpoint to look for actor
- add actor definition with inbox / outbox / followers
- remote follow an actor
- create notes with possible preview cards
- interract with favourites, reblogs and replies
- block incoming actors and/or domains
- broadcast/schedule activities to fediverse followers using a cron task
- For castopod, the podcast is the actor:
- overwrite the activitypub library for castopod's specific needs
- perform basic interactions administrating a podcast to interact with fediverse users:
- create notes with episode attachment
- favourite and share a note + reply
- add specific castopod_namespaces for podcasts and episodes definitions
- overwrite CodeIgniter's Route service to include alternate-content option for
activitystream requests
- update episode publication logic:
- remove publication inputs in create / edit episode form
- publish / schedule or unpublish an episode after creation
- the podcaster publishes a note when publishing an episode
- Javascript / Typescript modules:
- fix Dropdown.ts to keep dropdown menu in foreground
- add Modal.ts for funding links modal
- add Toggler.ts to toggle various css states in ui
- User Interface:
- update tailwindcss to v2
- use castopod's pine and rose colors
- update public layout to a 3 column layout
- add pages in public for podcast activity, episode list and notes
- update episode page to include linked notes
- remove previous and next episodes from episode pages
- show different public views depending on whether user is authenticated or not
- use Kumbh Sans and Montserrat fonts
- update CodeIgniter's config files
- with CodeIgniter's new requirements, update docker environments are now based on
php v7.3 image
- move Image entity to Libraries
- update composer and npm packages to latest versions
closes #69 #65 #85 , fixes #51 #91 #92 #88
2021-04-02 17:20:02 +00:00
semantic-release-bot
dd3ac9b4ab
chore(release): 1.0.0-alpha.41 [skip ci]
...
# [1.0.0-alpha.41](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.40...v1.0.0-alpha.41 ) (2021-03-30)
### Features
* **partner:** add link and image in episode description ([ad07bb9 ](ad07bb9330 ))
2021-03-30 16:25:05 +00:00
semantic-release-bot
62bae1eb70
chore(release): 1.0.0-alpha.40 [skip ci]
...
# [1.0.0-alpha.40](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.39...v1.0.0-alpha.40 ) (2021-03-19)
### Features
* **custom-rss:** add custom xml tag injection in rss feed for ❬channel❭ and ❬item❭ ([6ecdaad ](6ecdaad911 ))
2021-03-19 16:17:09 +00:00
semantic-release-bot
ea5383643c
chore(release): 1.0.0-alpha.39 [skip ci]
...
# [1.0.0-alpha.39](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.38...v1.0.0-alpha.39 ) (2021-03-01)
### Bug Fixes
* **embeddable-player:** enable any ancestor when X-Frame-Options is set on server ([44a4962 ](44a4962e0b ))
2021-03-01 15:08:05 +00:00
semantic-release-bot
4e5b11ba5f
chore(release): 1.0.0-alpha.38 [skip ci]
...
# [1.0.0-alpha.38](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.37...v1.0.0-alpha.38 ) (2021-02-27)
### Features
* **embeddable-player:** add embeddable player widget ([141788f ](141788fa08 ))
2021-02-27 21:25:23 +00:00
semantic-release-bot
526809ef28
chore(release): 1.0.0-alpha.37 [skip ci]
...
# [1.0.0-alpha.37](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.36...v1.0.0-alpha.37 ) (2021-02-17)
### Bug Fixes
* **import:** remove query string from files url ([109c4aa ](109c4aa1af ))
2021-02-17 10:55:08 +00:00
semantic-release-bot
6a7d7c3021
chore(release): 1.0.0-alpha.36 [skip ci]
...
# [1.0.0-alpha.36](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.35...v1.0.0-alpha.36 ) (2021-02-16)
### Features
* **platforms:** add pod.link ([3d7a232 ](3d7a2320dd ))
2021-02-16 13:34:15 +00:00
semantic-release-bot
3ad98c6a6a
chore(release): 1.0.0-alpha.35 [skip ci]
...
# [1.0.0-alpha.35](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.34...v1.0.0-alpha.35 ) (2021-02-12)
### Bug Fixes
* **admin:** save block and lock switches ([b66c0af ](b66c0afc8f ))
2021-02-12 09:53:36 +00:00
semantic-release-bot
b3a34983fb
chore(release): 1.0.0-alpha.34 [skip ci]
...
# [1.0.0-alpha.34](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.33...v1.0.0-alpha.34 ) (2021-02-11)
### Bug Fixes
* **rss-import:** add Castopod user-agent, handle redirects for downloaded files, add Content namespace ([214243b ](214243b3fe ))
2021-02-11 17:45:16 +00:00
semantic-release-bot
3eecb82de8
chore(release): 1.0.0-alpha.33 [skip ci]
...
# [1.0.0-alpha.33](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.32...v1.0.0-alpha.33 ) (2021-02-10)
### Features
* **platforms:** add helloasso ([16cb993 ](16cb993ee6 ))
2021-02-10 17:13:50 +00:00
semantic-release-bot
64d9100f7c
chore(release): 1.0.0-alpha.32 [skip ci]
...
# [1.0.0-alpha.32](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.31...v1.0.0-alpha.32 ) (2021-02-10)
### Features
* **person:** add podcastindex.org namespace person tag ([8acd011 ](8acd011f13 ))
2021-02-10 16:24:03 +00:00
semantic-release-bot
17e1e94a50
chore(release): 1.0.0-alpha.31 [skip ci]
...
# [1.0.0-alpha.31](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.30...v1.0.0-alpha.31 ) (2020-12-23)
### Features
* **rss:** add podcast:location tag ([c0a2282 ](c0a22829bd ))
2020-12-23 14:15:38 +00:00
semantic-release-bot
ba088649d2
chore(release): 1.0.0-alpha.30 [skip ci]
...
# [1.0.0-alpha.30](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.29...v1.0.0-alpha.30 ) (2020-12-21)
### Features
* **rss:** update monetization tag so that it meets PodcastIndex requirements ([4c7ecbe ](4c7ecbee83 ))
2020-12-21 16:12:26 +00:00
semantic-release-bot
81c1c038c4
chore(release): 1.0.0-alpha.29 [skip ci]
...
# [1.0.0-alpha.29](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.28...v1.0.0-alpha.29 ) (2020-12-10)
### Bug Fixes
* **episodes:** add publication status + set publication date to null when none has been set ([d882981 ](d882981b3a )), closes [#70 ](https://code.podlibre.org/podlibre/castopod/issues/70 )
### Reverts
* **soundbites:** remove soundbite table from episode's public page ([5dc0f19 ](5dc0f19656 ))
2020-12-10 10:47:59 +00:00
semantic-release-bot
6d6747afa3
chore(release): 1.0.0-alpha.28 [skip ci]
...
# [1.0.0-alpha.28](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.27...v1.0.0-alpha.28 ) (2020-12-07)
### Features
* **rss:** add soundbites according to the podcastindex specs ([6b34617 ](6b34617d07 )), closes [#83 ](https://code.podlibre.org/podlibre/castopod/issues/83 )
2020-12-07 20:17:41 +00:00
semantic-release-bot
0571a075da
chore(release): 1.0.0-alpha.27 [skip ci]
...
# [1.0.0-alpha.27](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.26...v1.0.0-alpha.27 ) (2020-12-07)
### Features
* **platforms:** add AntennaPod ([53e9cfd ](53e9cfd61c ))
2020-12-07 20:00:29 +00:00
semantic-release-bot
6d39beef91
chore(release): 1.0.0-alpha.26 [skip ci]
...
# [1.0.0-alpha.26](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.25...v1.0.0-alpha.26 ) (2020-11-30)
### Bug Fixes
* **analytics:** update service management so that it works with new OPAWG slug values ([7fe9d42 ](7fe9d42500 ))
2020-11-30 11:49:45 +00:00
semantic-release-bot
8b3c689f86
chore(release): 1.0.0-alpha.25 [skip ci]
...
# [1.0.0-alpha.25](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.24...v1.0.0-alpha.25 ) (2020-11-30)
### Features
* **platforms:** add podfriend ([9fdc8d3 ](9fdc8d3293 ))
2020-11-30 11:16:55 +00:00
semantic-release-bot
74759dae14
chore(release): 1.0.0-alpha.24 [skip ci]
...
# [1.0.0-alpha.24](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.23...v1.0.0-alpha.24 ) (2020-11-26)
### Features
* **monetization:** add Web Monetization support ([96a6026 ](96a6026f1d ))
2020-11-26 18:58:02 +00:00
semantic-release-bot
e8771755b7
chore(release): 1.0.0-alpha.23 [skip ci]
...
# [1.0.0-alpha.23](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.22...v1.0.0-alpha.23 ) (2020-11-24)
### Bug Fixes
* define podcastNamespaceLink value ([0d744d2 ](0d744d212d ))
2020-11-24 21:10:20 +00:00
semantic-release-bot
674ffd1cfb
chore(release): 1.0.0-alpha.22 [skip ci]
...
# [1.0.0-alpha.22](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.21...v1.0.0-alpha.22 ) (2020-11-24)
### Features
* **rss:** add transcript and chapters support ([e769d83 ](e769d83a93 )), closes [#72 ](https://code.podlibre.org/podlibre/castopod/issues/72 ) [#82 ](https://code.podlibre.org/podlibre/castopod/issues/82 )
2020-11-24 20:21:59 +00:00
semantic-release-bot
b9c8008062
chore(release): 1.0.0-alpha.21 [skip ci]
...
# [1.0.0-alpha.21](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.20...v1.0.0-alpha.21 ) (2020-11-24)
### Features
* **platforms:** add Fediverse and some funding platforms, add link on logo ([afc3d50 ](afc3d50289 ))
2020-11-24 18:25:10 +00:00
semantic-release-bot
e6e21ddc3f
chore(release): 1.0.0-alpha.20 [skip ci]
...
# [1.0.0-alpha.20](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.19...v1.0.0-alpha.20 ) (2020-11-24)
### Bug Fixes
* **import:** use <image><url> tag when no <itunes:image> is present ([20e607a ](20e607afb7 ))
### Features
* **rss:** add podcast-namespace tags for platforms + previousUrl tag ([dbba8dc ](dbba8dc581 )), closes [#73 ](https://code.podlibre.org/podlibre/castopod/issues/73 ) [#75 ](https://code.podlibre.org/podlibre/castopod/issues/75 ) [#76 ](https://code.podlibre.org/podlibre/castopod/issues/76 ) [#80 ](https://code.podlibre.org/podlibre/castopod/issues/80 )
2020-11-24 16:50:21 +00:00
semantic-release-bot
7ee579d054
chore(release): 1.0.0-alpha.19 [skip ci]
...
# [1.0.0-alpha.19](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.18...v1.0.0-alpha.19 ) (2020-11-13)
### Bug Fixes
* handle HEAD requests on podcast_feed route ([74b2640 ](74b2640f2a )), closes [#79 ](https://code.podlibre.org/podlibre/castopod/issues/79 )
2020-11-13 16:10:23 +00:00
semantic-release-bot
b619e6d88f
chore(release): 1.0.0-alpha.18 [skip ci]
...
# [1.0.0-alpha.18](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.17...v1.0.0-alpha.18 ) (2020-11-09)
### Features
* **platforms:** add Podcast Index ([ad52b1c ](ad52b1cc2b ))
2020-11-09 17:17:51 +00:00
semantic-release-bot
d65f26e80a
chore(release): 1.0.0-alpha.17 [skip ci]
...
# [1.0.0-alpha.17](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.16...v1.0.0-alpha.17 ) (2020-11-05)
### Bug Fixes
* **open-graph:** replace non existant episode description to podcast description in podcast page ([b02584e ](b02584ee60 ))
2020-11-05 19:04:14 +00:00
semantic-release-bot
50b52f904e
chore(release): 1.0.0-alpha.16 [skip ci]
...
# [1.0.0-alpha.16](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.15...v1.0.0-alpha.16 ) (2020-11-04)
### Features
* add Open Graph and Twitter meta tags ([af970b8 ](af970b8bac )), closes [#41 ](https://code.podlibre.org/podlibre/castopod/issues/41 )
2020-11-04 17:07:18 +00:00
semantic-release-bot
0e38dcca4a
chore(release): 1.0.0-alpha.15 [skip ci]
...
# [1.0.0-alpha.15](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.14...v1.0.0-alpha.15 ) (2020-11-03)
### Features
* **analytics:** add 'other' group to pie charts in order to display more accurate data ([73acef9 ](73acef933f ))
2020-11-03 14:18:26 +00:00
semantic-release-bot
ba89fd590d
chore(release): 1.0.0-alpha.14 [skip ci]
...
# [1.0.0-alpha.14](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.13...v1.0.0-alpha.14 ) (2020-11-02)
### Features
* **analytics:** add weekday and hour bar charts ([8ab3132 ](8ab313296b ))
2020-11-02 18:19:13 +00:00
semantic-release-bot
79a20a3bc8
chore(release): 1.0.0-alpha.13 [skip ci]
...
# [1.0.0-alpha.13](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.12...v1.0.0-alpha.13 ) (2020-10-29)
### Bug Fixes
* **episodes-table:** set descriptions to be not null ([6774ec1 ](6774ec10fa ))
### Features
* add episode_numbering() component helper to display episode and season numbers ([3f4a6bd ](3f4a6bd0b9 ))
* **episodes:** replace all audio file URL parameters with base64 encoded data ([e1f65cd ](e1f65cd3b5 ))
2020-10-29 17:56:08 +00:00
semantic-release-bot
21da91eb9d
chore(release): 1.0.0-alpha.12 [skip ci]
...
# [1.0.0-alpha.12](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.11...v1.0.0-alpha.12 ) (2020-10-26)
### Bug Fixes
* replace getWebEnclosureUrl with getEnclosureWebUrl ([8122cea ](8122ceaf8a ))
2020-10-26 17:30:40 +00:00
semantic-release-bot
0683ea94d8
chore(release): 1.0.0-alpha.11 [skip ci]
...
# [1.0.0-alpha.11](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.10...v1.0.0-alpha.11 ) (2020-10-26)
### Features
* add CDN url ([972bcbf ](972bcbf65e )), closes [#37 ](https://code.podlibre.org/podlibre/castopod/issues/37 )
2020-10-26 16:17:35 +00:00
semantic-release-bot
384b6b27a3
chore(release): 1.0.0-alpha.10 [skip ci]
...
# [1.0.0-alpha.10](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.9...v1.0.0-alpha.10 ) (2020-10-26)
### Bug Fixes
* **install:** redirect to host_url install route on instanceConfig validation error ([99250b1 ](99250b1868 ))
2020-10-26 15:29:29 +00:00
semantic-release-bot
414b23a3b7
chore(release): 1.0.0-alpha.9 [skip ci]
...
# [1.0.0-alpha.9](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.8...v1.0.0-alpha.9 ) (2020-10-26)
### Features
* display castopod version in admin footer ([9f2574e ](9f2574e6fb )), closes [#68 ](https://code.podlibre.org/podlibre/castopod/issues/68 )
2020-10-26 14:20:19 +00:00
semantic-release-bot
6b36a80102
chore(release): 1.0.0-alpha.8 [skip ci]
...
# [1.0.0-alpha.8](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.7...v1.0.0-alpha.8 ) (2020-10-22)
### Features
* **episodes:** schedule episode with future publication_date by using cache expiration time ([4f1e773 ](4f1e773c0f )), closes [#47 ](https://code.podlibre.org/podlibre/castopod/issues/47 )
2020-10-22 17:49:16 +00:00
Yassine Doghri
4f1e773c0f
feat(episodes): schedule episode with future publication_date by using cache expiration time
...
- merge publication date fields into one field instanciated with flatpickr datetime picker
- get user timezone to convert user publication_date input to UTC
- remove setPublishedAt() method from episode entity
- add publication pill component to display the episode publication date info
- clear cache after episode insert
- use CI is_really_writable() helper in install instead of is_writable()
- fix latest episodes layout
- update tsconfig to only include ts folders
- update DEPENDENCIES.md to include flatpickr
- add format_duration helper to format episode enclosure duration instead of translating it (causes
translation bug)
- add Time.ts module to convert UTC time to user localized time for episode publication dates
- fix some layout issues
- update php and js dependencies to latest versions
closes #47
2020-10-22 17:41:59 +00:00
semantic-release-bot
0ab17d1075
chore(release): 1.0.0-alpha.7 [skip ci]
...
# [1.0.0-alpha.7](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.6...v1.0.0-alpha.7 ) (2020-10-21)
### Features
* **analytics:** add service name from rss user-agent ([7202b98 ](7202b9867b ))
### BREAKING CHANGES
* **analytics:** analytics_podcasts_by_player table and analytics_podcasts procedure were updated
2020-10-21 16:08:07 +00:00
semantic-release-bot
8ca5b33b60
chore(release): 1.0.0-alpha.6 [skip ci]
...
# [1.0.0-alpha.6](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.5...v1.0.0-alpha.6 ) (2020-10-20)
### Bug Fixes
* **cache:** add locale for podcast and episode pages + clear some persisting cache in models ([9cec8a8 ](9cec8a81cc )), closes [#42 ](https://code.podlibre.org/podlibre/castopod/issues/42 ) [#61 ](https://code.podlibre.org/podlibre/castopod/issues/61 )
2020-10-20 15:50:31 +00:00
semantic-release-bot
a354940e5e
chore(release): 1.0.0-alpha.5 [skip ci]
...
# [1.0.0-alpha.5](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.4...v1.0.0-alpha.5 ) (2020-10-20)
### Features
* add lock podcast according to the Podcastindex podcast-namespace to prevent unauthozized import ([72b3012 ](72b301272e ))
2020-10-20 13:50:01 +00:00
semantic-release-bot
e49b223926
chore(release): 1.0.0-alpha.4 [skip ci]
...
# [1.0.0-alpha.4](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.3...v1.0.0-alpha.4 ) (2020-10-20)
### Features
* **analytics:** add charts and data export ([78625c4 ](78625c471b ))
2020-10-20 09:42:47 +00:00
semantic-release-bot
112a71d867
chore(release): 1.0.0-alpha.3 [skip ci]
...
# [1.0.0-alpha.3](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.2...v1.0.0-alpha.3 ) (2020-10-19)
### Bug Fixes
* **analytics:** remove charts empty values + remove useless language cache ([1678794 ](1678794153 ))
2020-10-19 16:50:56 +00:00
semantic-release-bot
bc8b88f6f6
chore(release): 1.0.0-alpha.2 [skip ci]
...
# [1.0.0-alpha.2](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.1...v1.0.0-alpha.2 ) (2020-10-19)
### Features
* add cumulative listening time charts ([588b4d2 ](588b4d28da ))
2020-10-19 10:46:00 +00:00
semantic-release-bot
14733105e6
chore(release): 1.0.0-alpha.1 [skip ci]
...
# 1.0.0-alpha.1 (2020-10-16)
### Bug Fixes
* add public/media folder to castopod bundle ([8053d35 ](8053d3521b )), closes [#52 ](https://code.podlibre.org/podlibre/castopod/issues/52 )
* add where condition to get episode count without deleted episodes ([7661734 ](7661734ed2 )), closes [#67 ](https://code.podlibre.org/podlibre/castopod/issues/67 )
* comment all cache clean after page update to prevent analytics cache deletion ([e6197a4 ](e6197a4972 ))
* correct chart data ([4d3e9c8 ](4d3e9c8c02 ))
* correct percona compatibility issue ([e53f819 ](e53f819264 ))
* correct php-fpm issues ([1ef55d7 ](1ef55d7315 ))
* correct referrer bug ([ed69b2f ](ed69b2f500 ))
* correction for servers with low int precision ([31b7828 ](31b7828e77 ))
* declare typed properties in PHPDoc for php<7.4 ([14dd44d ](14dd44d03d )), closes [#23 ](https://code.podlibre.org/podlibre/castopod/issues/23 )
* escape generated feed tag values and remove new lines from public pages meta description ([6238a43 ](6238a43863 )), closes [#57 ](https://code.podlibre.org/podlibre/castopod/issues/57 ) [#46 ](https://code.podlibre.org/podlibre/castopod/issues/46 )
* fix layout bugs in admin and update translation files ([a834171 ](a83417180c )), closes [#40 ](https://code.podlibre.org/podlibre/castopod/issues/40 )
* minor corrections ([13be386 ](13be386842 ))
* move analytics to helper ([d311917 ](d31191732e ))
* re-order graph values ([35f633b ](35f633b4c7 ))
* remove required for other_categories field and add podcast_id to latest podcasts query ([5417be0 ](5417be0049 ))
* rename issue_templates labels ([9f00305 ](9f00305844 ))
* rename MyAccount controller file ([e109df3 ](e109df3004 )), closes [#60 ](https://code.podlibre.org/podlibre/castopod/issues/60 )
* reorder fields as composite primary keys for analytics tables ([9660aa9 ](9660aa97c8 ))
* replace website key for webpages in breadcrumb translate file ([50e32ff ](50e32ff756 ))
* set episode duration translation to hardcoded english ([c39efc9 ](c39efc9489 )), closes [#64 ](https://code.podlibre.org/podlibre/castopod/issues/64 )
* set episode guid upon episode creation ([ad8b153 ](ad8b153f2a )), closes [#48 ](https://code.podlibre.org/podlibre/castopod/issues/48 )
* update purgecss content path for php helper files ([eb70bb4 ](eb70bb4f70 )), closes [#59 ](https://code.podlibre.org/podlibre/castopod/issues/59 )
* **install:** redirect to input baseUrl after instance config ([2426af7 ](2426af7de8 )), closes [#53 ](https://code.podlibre.org/podlibre/castopod/issues/53 )
* **platforms:** display platform link only when visible is toggled on ([6e503c8 ](6e503c8d61 )), closes [#39 ](https://code.podlibre.org/podlibre/castopod/issues/39 )
* sort episodic podcasts by season ([d7b6794 ](d7b6794f68 ))
* update .htaccess for shared hosting config ([2379826 ](2379826352 ))
* update iso-369 language table seeder ([0c90db4 ](0c90db44c4 ))
* **package.json:** update destination of postcss generation scripts ([21413f8 ](21413f8af3 ))
* use slash instead of backslash to call layout ([a80adb2 ](a80adb2295 ))
### Features
* add alternate rss feed link tag to podcast page head ([a973c09 ](a973c097d5 )), closes [#35 ](https://code.podlibre.org/podlibre/castopod/issues/35 )
* add analytics and unknown useragents ([ec92e65 ](ec92e65aa4 ))
* add breadcrumb in admin area ([7fb1de2 ](7fb1de2cf3 )), closes [#17 ](https://code.podlibre.org/podlibre/castopod/issues/17 )
* add french translation ([196920d ](196920d62f ))
* add install wizard form to bootstrap database and create the first superadmin user ([cba871c ](cba871c5df )), closes [#2 ](https://code.podlibre.org/podlibre/castopod/issues/2 )
* add ISO 3166 country codes ([97cd94b ](97cd94b474 ))
* add map analytics, add episodes analytics, clean analytics page layout, translate countries ([07eae83 ](07eae83a00 ))
* add npm for js dependencies + move src/ files to root folder ([cbb83a6 ](cbb83a6f30 ))
* add pages table to store custom instance pages (eg. legal-notice, cookie policy, etc.) ([9c224a8 ](9c224a8ac6 )), closes [#24 ](https://code.podlibre.org/podlibre/castopod/issues/24 )
* add platform models ([a333d29 ](a333d29196 ))
* add platforms form in podcast settings ([043f49c ](043f49c784 ))
* add platforms tables ([ce59344 ](ce5934419a ))
* add unique listeners analytics ([3a49258 ](3a4925816f ))
* add user permissions and basic groups to handle authorizations ([d58e518 ](d58e51874a )), closes [#3 ](https://code.podlibre.org/podlibre/castopod/issues/3 ) [#18 ](https://code.podlibre.org/podlibre/castopod/issues/18 )
* create optimized & resized images upon upload ([02e4441 ](02e4441f98 )), closes [#6 ](https://code.podlibre.org/podlibre/castopod/issues/6 )
* display legal disclaimer and warning on podcast import page ([2f07992 ](2f07992e55 )), closes [#34 ](https://code.podlibre.org/podlibre/castopod/issues/34 )
* edit + delete podcast and episode ([ac5f0c7 ](ac5f0c7328 ))
* enhance admin ui with responsive design and ux improvements ([2d44b45 ](2d44b457a0 )), closes [#31 ](https://code.podlibre.org/podlibre/castopod/issues/31 ) [#9 ](https://code.podlibre.org/podlibre/castopod/issues/9 )
* enhance ui using javascript in admin area ([c0e66d5 ](c0e66d5f70 ))
* import podcast from an rss feed url ([9a5d5a1 ](9a5d5a15b4 )), closes [#21 ](https://code.podlibre.org/podlibre/castopod/issues/21 )
* set podcast / episode description in the pages description meta tag ([1c4a504 ](1c4a50442b )), closes [#44 ](https://code.podlibre.org/podlibre/castopod/issues/44 )
* update analytics so to meet IABv2 requirements ([03e23a2 ](03e23a28bf )), closes [#10 ](https://code.podlibre.org/podlibre/castopod/issues/10 )
* **cache:** add podcast and episode pages to cache + clear them after insert or update ([da0f047 ](da0f047281 ))
* **categories:** create model, entity, migrations and seeds ([f73b042 ](f73b042cc0 ))
* **devcontainer:** add devcontainer settings for dev environment ([69e7266 ](69e7266736 ))
* **episodes:** add create form and view pages for episode ([f3b2c8b ](f3b2c8b84f )), closes [#1 ](https://code.podlibre.org/podlibre/castopod/issues/1 )
* **episodes:** add migrations, model and entity for episodes table ([0444821 ](044482174e ))
* **podcast:** create a podcast using form ([1202ba3 ](1202ba3545 ))
* **podcast-form:** update routes and redirect to podcast page ([12ce905 ](12ce905799 ))
* **public-ui:** adapt public podcast and episode pages to wireframes ([40a0535 ](40a0535fc1 )), closes [#30 ](https://code.podlibre.org/podlibre/castopod/issues/30 ) [#13 ](https://code.podlibre.org/podlibre/castopod/issues/13 )
* **rss:** generate rss feed from podcast entity ([c815ecd ](c815ecd664 ))
* **users:** add myth-auth to handle users crud + add admin gateway only accessible by login ([c63a077 ](c63a077618 )), closes [#11 ](https://code.podlibre.org/podlibre/castopod/issues/11 )
* minor corrections to some tables ([3bf9420 ](3bf9420b59 ))
* write id3v2 tags to episode's audio file ([4651d01 ](4651d01a84 ))
### Reverts
* use basic input file for episodes audio files instead of button for better UX ([d5f22fb ](d5f22fbb38 ))
2020-10-16 15:26:13 +00:00
Yassine Doghri
6c36888a21
ci(release): automate castopod versioned releases using semantic-release
...
closes #38
2020-10-16 15:17:08 +00:00
Yassine Doghri
eb70bb4f70
fix: update purgecss content path for php helper files
...
- fix overshooting podcast name when too long in podcast sidebar
- update npm packages to latest versions
fixes #59
2020-10-15 14:42:30 +00:00
Benjamin Bellamy
03e23a28bf
feat: update analytics so to meet IABv2 requirements
...
- https://iabtechlab.com/wp-content/uploads/2017/12/Podcast_Measurement_v2-Dec-20-2017.pdf
- no IP address is ever stored on the server. Only aggregate data is stored in the dababase.
- rolling 24-hour window
- castopod does not do pre-load
- IP Blacklisting https://github.com/client9/ipcat
- user-agent Filtering https://github.com/opawg/user-agents
- ignores 2 bytes range "Range: 0-1" (performed by official Apple iOS Podcast app)
- in case of partial content, adds up all requests to check >1mn was downloaded
- identifying Uniques is done with a combination of IP Address and User Agent
- add AMcharts
- add some graphs
- add regions to analytics
- add ipcat blacklist
- enhance useragents performances
- add filesize and header size in order to calculate 1mn downloads
- update publisher ID3 field
- update castopod icon
- add disclaimer and warning import form translation
- update docs/setup-development.md
closes #10
2020-10-15 14:42:02 +00:00