Skip to content

Latest commit

 

History

History
2371 lines (2141 loc) · 245 KB

CHANGELOG.md

File metadata and controls

2371 lines (2141 loc) · 245 KB

Changelog

All notable changes to this project will be documented in this file.

2024.8.0

Features

  • backend: Use virtualthread for Tomcat (6f72ccd - #231)
  • backend: SSE management keep data in memory for 20s (f4e94d5 - #231)
  • backend: Video uses mp4 format by default for container (7113522)
  • backend: Support title/description update for items (057221e - #234)
  • distribution: Add env variable to prepare switch to jdbc (d499401 - #231)

Bug Fixes

  • backend: Support upload of big files (10f87c3 - #231)
  • backend: SSE management doesn't create an infinite stream per call (cae0ab9 - #231)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.13 (f70168b)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.14 (df130ba)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.15 (abae947)
  • deps: Update dependency net.javacrumbs.json-unit:json-unit-assertj to v3.4.0 (f3253ec)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.16 (2cebeae)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.17 (d0b8771)
  • deps: Update dependency org.mockito.kotlin:mockito-kotlin to v5.4.0 (a8b6ad0)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.18 (c89d4a2)
  • deps: Update dependency org.jsoup:jsoup to v1.18.1 (effe603)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.19 (a17c518)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.20 (c7c5444)
  • deps: Update dependency net.javacrumbs.json-unit:json-unit-assertj to v3.4.1 (86d5e3b)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.21 (a1d0ea7)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.22 (41a5299)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.23 (daded54)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.24 (05e1ffb)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.25 (2c4063f)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.26 (15c6b5f)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.27 (3fea74f)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.28 (52cc5da)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.29 (a435536)

Refactor

  • backend: Move UpdateHandler to non-reactive API (41bfb03 - #231)
  • backend: Move CoverHandler to non-reactive API (0bda894 - #231)
  • backend: Move DownloadHandler to non-reactive API (ba2d3f4 - #231)
  • backend: Move ItemHandler to non-reactive API (4b68db8 - #231)
  • backend: Move PodcastHandlers to non-reactive API (b2f0d4c - #231)
  • backend: Move TagHandler to non-reactive API (ae1f366 - #231)
  • backend: Move MessageHandler to non-reactive API (de367df - #231)
  • backend: Move PlaylistHandler to non-reactive API (3c59fb5 - #231)
  • backend: Move TagService to non-reactive API (c322f1c)
  • backend: Move TagRepository to non-reactive API (bcaef86)
  • backend: Move CoverService to non-reactive API (52675b3)
  • backend: Move CoverRepository to non-reactive API (495194a)
  • backend: Move FindService to non-reactive API (eed9b67 - #231)
  • backend: Move Finder to dual mode during migration (06bfb63 - #231)
  • backend: Move RssFinder to non Reactive API (ae86c02 - #231)
  • backend: Move NoopFinder to non Reactive API (6e73493 - #231)
  • backend: Move YoutuberFinder to non Reactive API (fb4aa13 - #231)
  • backend: Move MyTF1Finder to non Reactive API (4ed0a3c - #231)
  • backend: Move DailymotionFinder to non Reactive API (6836571 - #231)
  • backend: Move FranceTvFinder to non Reactive API (05f3569 - #231)
  • backend: Move GulliFinder to non Reactive API (b0dac09 - #231)
  • backend: Move ItunesFinder to non Reactive API (10e2a9b - #231)
  • backend: Remove backward compatibility with reactive api for Finders (b68d0c2 - #231)
  • backend: Move ItemService to non Reactive API (1406985 - #231)
  • backend: Move ItemRepository to non Reactive API (6954fd8 - #231)
  • backend: Move UpdateService to non Reactive API (4e96e08 - #231)
  • backend: Move Updater to non Reactive API (8d5d51a - #231)
  • backend: Move DailymotionUpdater to non Reactive API (1353981 - #231)
  • backend: Move FranceTvUpdater to non Reactive API (bcceeee - #231)
  • backend: Move GulliUpdater to non Reactive API (ac0cafe - #231)
  • backend: Move MyTF1Updated to non Reactive API (246d0a0 - #231)
  • backend: Move RSSUpdater to non Reactive API (d1003cc - #231)
  • backend: Use multiple threads for update process (0e1e2dd - #231)
  • backend: Move UploadUpdater to non Reactive API (dd039ea - #231)
  • backend: Move YoutubeUpdater to non Reactive API (bddb4c4 - #231)
  • backend: Change interface after removal of non-blocking APIs (93464a0 - #231)
  • backend: Add coverage for UpdaterService (713f09f - #231)
  • backend: Move PlaylistService to non Reactive API (3708d02 - #231)
  • backend: Move PlaylistRepository to non Reactive API (cc55e7e - #231)
  • backend: Move PodcastService to non Reactive API (c172f34 - #231)
  • backend: Move PodcastRepository to non Reactive API (3a95ca1 - #231)
  • backend: Move FileStorageService to non Reactive API (8ccafda - #231)
  • backend: Move ItemDownloadManager to non Reactive API (8bbeff5 - #231)
  • backend: Move DownloadRepository to non Reactive API (089c39b - #231)
  • backend: Move ImageService to non Reactive API (beaa4f1 - #231)
  • backend: Remove WebClientConfig (a45da30 - #231)
  • backend: Move FileUpload to non-reactive API (047be03 - #231)
  • backend: Move message to @EventListener logic instead of Flux emitters (b303cda - #231)
  • backend: Move CoverRepository to non Reactive API (cc902a5 - #231)
  • backend: Move repositories to non Reactive API (2ae63fe - #231)
  • backend: Remove leftovers and small improvements (a71a54e - #231)
  • deps: Introduce tomcat server as backend (61639b4)
  • finders: Migrate Finders Handler to non-reactive API (f621229 - #231)
  • types: Migrate Types Handler to non-reactive API (9bf93fa)

2024.7.0

Bug Fixes

  • deps: Update dependency software.amazon.awssdk:bom to v2.25.64 (0b8023b)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.65 (3178a33)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.66 (477d670)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.67 (4cb4dc2)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.68 (4554a4f)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.69 (5a45964)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.70 (78f32cb)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.6 (4ec3b19)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.7 (3c82230)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.8 (7ded3f4)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.9 (5ee4f9e)
  • deps: Update dependency net.javacrumbs.json-unit:json-unit-assertj to v3.3.0 (7ae57e9)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.10 (4c8c01d)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.11 (c84e932)
  • deps: Update dependency software.amazon.awssdk:bom to v2.26.12 (f51848a)

Testing

  • backend: Re-enable ItunesFinder test (a7339dd)

2024.6.0

Features

  • dev: Add multiple profiles for local development (9095c57 - #233)

Bug Fixes

  • deps: Update dependency software.amazon.awssdk:bom to v2.25.47 (d5e0fc5)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.48 (3d4171d)

2024.5.0

Features

  • develocity: Migrate to develocity plugin (58167fc)

Bug Fixes

  • backend: Varchar length is increased to 65535 (b8c6a5e - #232)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.22 (b4e8a65)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.23 (173ee14)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.24 (081ee1c)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.25 (b162d36)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.26 (c605754)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.27 (633b2d7)
  • deps: Update dependency org.mockito.kotlin:mockito-kotlin to v5.3.1 (12fe4d1)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.28 (1cf8751)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.29 (79ebbea)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.30 (a05900e)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.31 (b369c44)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.32 (37fc524)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.33 (32bf37c)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.34 (71f0863)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.35 (a00bda5)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.36 (d67007b)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.37 (1aff32c)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.38 (26cc3c9)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.39 (3724c74)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.40 (8831449)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.41 (c285e09)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.42 (4466cc9)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.43 (bf43b10)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.44 (f58a4d6)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.45 (6b1eb33)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.46 (bfffabc)

2024.4.0

Features

  • backend: Install yt-dlp using pip to get all required deps (921d947 - #230)

Bug Fixes

  • backend: Reset download after unexpected restart (25bb5df - #229)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.2 (ea0c23c)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.3 (1913c9a)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.4 (8b45510)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.5 (c8702af)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.6 (9039213)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.7 (f22afdb)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.8 (ca2577e)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.9 (47ad686)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.10 (070763c)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.11 (e2c428d)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.12 (e32dbb7)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.13 (c0ed85d)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.14 (782907b)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.15 (1689d27)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.16 (5ca5cf3)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.17 (c9d1952)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.18 (cd61779)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.19 (2664186)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.21 (1f4f15b)
  • france.tv: Adjust support of france.tv platform (09a084c - #230)

2024.3.0

Bug Fixes

  • deps: Update dependency software.amazon.awssdk:bom to v2.24.1 (315a8b3)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.2 (c7ec4ac)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.3 (77bff76)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.4 (5c2483d)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.5 (7290c91)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.6 (146308e)
  • deps: Update dependency net.javacrumbs.json-unit:json-unit-assertj to v3.2.5 (5e55c89)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.7 (d0b04ab)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.8 (5bd33a0)
  • deps: Update dependency net.javacrumbs.json-unit:json-unit-assertj to v3.2.7 (b976518)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.9 (fc50426)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.10 (1c13183)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.11 (707cdf8)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.12 (6c12e55)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.13 (d3c5844)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.0 (eff20ca)
  • deps: Update dependency software.amazon.awssdk:bom to v2.25.1 (1800a0a)

2024.2.0

Bug Fixes

  • backend: Support specific characters in slug (3def455 - #227)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.10 (7a8bb4c)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.11 (0ec0718)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.12 (2555793)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.13 (4da8778)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.0 (0079233)
  • deps: Update dependency org.flywaydb:flyway-database-postgresql to v10.5.0 (209105d)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.1 (a7aa0cb)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.2 (af0743a)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.3 (0d4e8eb)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.4 (1e1bbd9)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.5 (9f418a5)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.6 (60a27a2)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.7 (e43e7dd)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.8 (0a66471)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.12 (3329aba)
  • deps: Update dependency org.flywaydb:flyway-database-postgresql to v10.6.0 (0f38d09)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.13 (9122aae)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.14 (22ddfc2)
  • deps: Update dependency org.flywaydb:flyway-database-postgresql to v10.7.0 (c516931)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.15 (29d6c73)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.16 (3602fed)
  • deps: Update dependency net.javacrumbs.json-unit:json-unit-assertj to v3.2.4 (017d6f0)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.17 (1f117fb)
  • deps: Update dependency software.amazon.awssdk:bom to v2.23.21 (fb30c0e)
  • deps: Update dependency software.amazon.awssdk:bom to v2.24.0 (1c0346f)

Refactor

  • rss: Rss item generation is collocated (d37ac23)
  • rss: Extraction of all remaining rss structure for better separation & construction (4cc4c1b)
  • slug: Collocate the notion of sluggable items (fad7706)
  • url: Collocate root url in rss entities (2870535)

2024.1.0

Features

  • backend: Build with Java 21 as target for Kotlin code (7ba671e)
  • backend: Migrate to flyway v10 for docker image and build scripts (87c8cf6 - #224)
  • backend: Add support for virtualThread for backend (4d0818a - #225)
  • gateway: Add support for GatewayAPI in official manifests (7da367a - #214)

Bug Fixes

  • deps: Update dependency org.mockito.kotlin:mockito-kotlin to v5.2.1 (35cbef9)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.38 (3b416c3)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.39 (080fdcc)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.41 (0c8898a)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.42 (85884c2)
  • deps: Update dependency org.flywaydb:flyway-database-postgresql to v10.2.0 (35c6f8a)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.43 (e0150a3)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.44 (4fbbccf)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.45 (6b833ff)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.46 (6e9372b)
  • deps: Update dependency org.flywaydb:flyway-database-postgresql to v10.3.0 (ca1c6df)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.0 (ffaa340)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.1 (456de14)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.2 (c75f102)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.3 (f7b4426)
  • deps: Update dependency org.flywaydb:flyway-database-postgresql to v10.4.0 (55ddf7f)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.4 (95743ce)
  • deps: Update dependency org.flywaydb:flyway-database-postgresql to v10.4.1 (30ebd47)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.5 (b9595f1)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.6 (4cd4a3a)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.7 (b781023)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.8 (aae9818)
  • deps: Update dependency org.jsoup:jsoup to v1.17.2 (7eeb5f6)
  • deps: Update dependency software.amazon.awssdk:bom to v2.22.9 (fa08aa0)

2023.12.0

Bug Fixes

  • backend: Support url with /c/ notation for youtube updater (4c6755e)
  • database: Downgrade to flyway 9.22.3 following incompatibility with gradle plugin system (c2bb8c2 - #222)
  • deps: Update dependency com.github.tomakehurst:wiremock-jre8-standalone to v2.35.1 (d5c0ba1)
  • deps: Update dependency com.fasterxml.jackson.core:jackson-databind to v2.15.3 (062dd19)
  • deps: Update dependency org.jsoup:jsoup to v1.16.2 (5e7b21f)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.15 (9d3c69b)
  • deps: Update junit5 monorepo to v5.10.0 (99c8bee)
  • deps: Update dependency net.javacrumbs.json-unit:json-unit-assertj to v2.38.0 (a1a2cf1)
  • deps: Update dependency net.bramp.ffmpeg:ffmpeg to v0.8.0 (4969847)
  • deps: Update dependency org.mockito.kotlin:mockito-kotlin to v5 (afb7911)
  • deps: Update dependency net.javacrumbs.json-unit:json-unit-assertj to v3 (7d65cf8)
  • deps: Update dependency com.github.tomakehurst:wiremock-jre8-standalone to v3 (dfdb905)
  • deps: Update junit5 monorepo to v5.10.1 (f5a6ae9)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.16 (9c7d49a)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.17 (46df0f2)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.18 (9b28c15)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.19 (4c524b7)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.20 (812ed19)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.21 (c42489b)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.22 (b6b0284)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.23 (7eb4a7b)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.24 (e198216)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.25 (1d45750)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.26 (8507b67)
  • deps: Update dependency org.postgresql:postgresql to v42.7.0 (fcde25d)
  • deps: Update dependency com.fasterxml.jackson.core:jackson-databind to v2.16.0 (74b4863)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.27 (512c8b1)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.28 (d58668d)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.29 (fd64322)
  • deps: Update dependency org.jsoup:jsoup to v1.17.1 (e7000f0)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.30 (9a8dd4b)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.31 (8f55d3d)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.32 (decfa74)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.33 (eeb4d5e)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.34 (89a735e)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.35 (875fd8c)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.36 (b08acb5)
  • deps: Update dependency org.mockito.kotlin:mockito-kotlin to v5.2.0 (82b169f)
  • deps: Update dependency software.amazon.awssdk:bom to v2.21.37 (717d441)
  • flyway: Adjust image build following upgrade to v10.0.0 (69f7301)

2023.11.0

Bug Fixes

  • youtube: Add support of url with /channel/<channel_id> for compatibility (3fa30a3 - #220)

2023.10.0

Features

  • backend: Upgrade to liberica-debian based on java 17 (8bf79ca)
  • backend: Upgrade to spring v3.1.4 (7eec6f4)
  • backend: Upgrade to minio RELEASE.2023-09-27T15-22-50Z (f762610)
  • coverage: Remove codecov because based on irelevant jacoco results (c12602b - #217)
  • init-db: Upgrade to debian12 java images (b2a210a)
  • java: Upgrade backend to JVM 21 (79dc4a1 - #215)
  • test: Move to kover for better kotlin coverage management (613684a - #217)
  • ui: Move to SWS v2.22.0 (c060fd7)
  • youtube: Use google api to extract playlist id instead of html parsing (fd32132)

Bug Fixes

  • backend: Remove download from virtual thread executor (e13d1f6)
  • playlist: Fix test about item removal from playlist (550fa01)
  • youtube: Support new channel format based on @handle (405085c - #218)

Refactor

  • youtube: Simplification of the call to the reactor API for youtube updated (98e689a)

Testing

  • playlist: Expand testing for handler (bb3a5ce)

2023.9.0

Features

  • backend: Upgrade minio to version RELEASE.2023-07-21T21-12-44Z (b3e84e0 - #208)
  • backend: Upgrade SWS to version 2.20.2 (ec9d166 - #208)
  • backend: Upgrade to spring v3.1.3 (32607e8)
  • backend: Upgrade to minio RELEASE.2023-08-23T10-07-06Z (46f081e)
  • backend: Upgrade spring dependency management to v1.1.3 (b20cc38)
  • backend: Upgrade minio to version RELEASE.2023-08-31T15-31-16Z (abb5908)
  • database: Upgrade libraries related to database (5d70058 - #200)
  • database: Add generated classes instead of generating them on every build (8ed6dee - #200)
  • database: Add a check to verify if (a47075d - #200)
  • frontend: Upgrade SWS to v2.21.0 (ecacdc2)
  • frontend: Upgrade SWS to 2.21.1 (f6474ac)
  • frontend: Unify configuration for SWS between v1 and v2 (1bf320c)

Bug Fixes

  • backend: Revert heredoc syntaxt not supported by kaniko (21ac959)
  • database: Keep jackson libs for flyway lib in init-db (e234406 - #210)
  • skaffold: Watch ui folder for frontend components (636b465)

Refactor

  • backend: Use simpler syntaxt for RUN in backend base-image (810b687)
  • database: Use new = syntax in gradle file for database lib (1400a97)

Documentation

  • readme: Add detail about local development (6dfd995)

2023.8.0

Features

  • backend: Upgrade spring boot to v3.1.2 and related libraries (54dcf2e - #207)
  • storage: Upgrade minio to RELEASE.2023-07-21T21-12-44Z (85267d3)
  • ui: Upgrade server to 2.20.1 (8778f48)

Bug Fixes

  • backend: Downgrade ffmpeg to version 5.1.1 (8cc2cda)

2023.7.0

Features

  • backend: Remove youtube-dl installation from base-image (c27d863)
  • backend: Upgrade spring boot to version v3.1.1 (d2516bc)
  • dev: Upgrade gradle-enterprise plugin to v3.13.3 and ccud 1.11 (e05f3e5)
  • front: Move to SWS 2.19 (0249f13)
  • frontend: Upgrade static-web-server to v2.17.0 (16a2502)
  • release: Change variable for gradle-enterprise tag usage (0f98e96)
  • storage: Upgrade minio to RELEASE.2023-06-02T23-17-26Z (47a4630)
  • storage: Upgrade minio to RELEASE.2023-06-29T05-12-28Z (6bbed74)

2023.6.1

Bug Fixes

  • pipeline: Cover case when tag and not a branch (fe494d2)

2023.6.0

Features

  • backend: Upgrade to spring boot 3.1.0 (8010f9d - #199)
  • database: Migrate CI and components to PG 15.3 (a78e688)
  • dev: Add gradle enterprise for better dev analysis (0aff1f4 - #196)
  • dev: Use different user for connection to GE (abe5eb6)
  • dev: Provide taskfile to automate execution of reccuring tasks (2f21114 - #202)
  • dev: Upgrade skaffold configuration (313e3e7)
  • frontend: Move to Static Web Server instead of nginx for frontend hosting (23d6f2d - #194)

Bug Fixes

  • dev: Update local kustomization for skaffold env (b122d5c)
  • youtube: Use identifier instead of channelId (107c011 - #197)

2023.5.0

Features

  • backend: Upgrade Spring to v3.0.6 (b5fb350)

2023.4.0

Features

  • backend: Upgrade to spring boot 3.0.5 (53330e9)
  • storage: Upgrade minio component to version minio/minio:RELEASE.2022-12-02T19-19-22Z (cef7c87)

Bug Fixes

  • distribution: Support custom bucket entry for ingress (474a4b7)

2023.3.0

Features

  • backend: Upgrade to spring boot 3.0.3 (588a8c7 - #191)
  • backend: Upgrade to spring boot 3.0.4 (b48e333 - #192)
  • build: Upgrade to gradle 8.0 (61d2ace - #189)
  • build: Provide a compatible implementation for coverage plugin (3642f68 - #189)

Bug Fixes

  • mytf1: Supports evolutions made in mytf1 graphql API (578c9bd - #190)

Refactor

  • backend: Remove useless variables from youtube updater (1af279f)

2023.2.0

Features

  • backend: Upgrade multiple libraries in backend (b2ea5c5 - #188)

2023.1.0

Features

  • backend: Add native gradle plugin to enable processAOT by default (1a857b3)
  • backend: Use guid for deduplication of items for RSS (c089094 - #185)
  • backend: Remove the banner.txt causing problem during compile or run (2cc38a2)
  • backend: Upgrade backend to Spring Boot 3.0.1 (744efc5)
  • backend: Internalise the youtube-dl library (833aac4)
  • backend: Externalize all logic into external plugin (1f7e78b - #179)
  • database: Upgrade flyway to version 9.8.3 (2d680c8)
  • distribution: Ingress is available as a component (af7a0ca - #184)
  • storage: Upgrade minio version to RELEASE.2022-12-02T19-19-22Z (09a9e40 - #183)

Bug Fixes

  • ci: Edit command for auto cleanup in docker-hub (79a22f7)

2022.12.0

Features

  • backend: Add warn log if podcast has no item found (cb72b41)
  • backend: Migration to spring boot 3.0.0 (d9649f4 - #178)
  • storage: Migrate to minio:RELEASE.2022-11-17T23-20-09Z version (8f25a2d)

Bug Fixes

  • backend: Fallback to podcast cover if item cover information is not available (6f88e61)
  • backend: Use podcast cover as fallback instead of random one 🤷 (8164cc8)
  • franceTv: Update algorithm to find items in FranceTV following site modification (db50c9e - #182)

2022.11.0

Features

  • backend: Upgrade multiple framework & libraries (cd82908)

2022.9.0

Features

  • backend: Upgrade to Spring Boot 2.7.3 and other dependencies upgrades (40058ca)

2022.8.0

Features

  • backend: Upgrade to Spring Boot 2.7.2 and other dependencies upgrades (7142b27)

Bug Fixes

  • backend: Keep standard name if url is not from a video platform (bacfebc - #173)
  • backend: Remove suffix from specific url (6e800a3)

2022.7.0

Features

  • backend: Update compatibility to ffmpeg v5 (bc4c92a - #160)
  • backend: Finer definition of liveness probes and readiness probes (b155b3b)
  • backend: Feat(backend): upgrade to spring boot 2.7.1 (589fa2a)
  • backend: Add support for integer as limit parameter for RSS (5605087 - #172)
  • backend: Increase timeout & failure threshold for liveness probe (8f4c36b)

Bug Fixes

  • backend: Wrap Files.* operations into Mono to prevent thread starvation (566b975 - #169)
  • frontend: Update UI only once after multiple uploads (815f8b2 - #169)

Refactor

  • backend: Remove useless web configuration (fd90680)
  • backend: Move ffmpeg services to a dedicated package (8dad1ed)
  • backend: Multiple refactor following code analysis (e362e1e)
  • backend: Use standard cover for podcasts (43182c9)
  • backend: Use kotlin.io.path instead of FilenameUtils (c4c5c12)
  • backend: Remove Extractor logic from code base (db73f33)
  • backend: Use attribute instead of function for donwloading item information (7f9882b)
  • backend: Use kotlin.io.path instead of FilenameUtils (02204c3)
  • backend: Remove executor config used only by downloader part (5e24c12)

2022.6.0

Features

  • backend: Upgrade to spring boot 2.7.0 (72e9ce5)
  • backend: Simplify sql query for search (2a76653)
  • backend: Move download state to database instead of memory (fbb41dc - #151)
  • backend: Channel link in rss targets rss url with parameters (9bbb4a4 - #170)

2022.5.0

Features

  • backend: Upgrade jooq to version 3.16+ (c8a4901)
  • backend: Use multiset to improve performance during podcast reading operations (4779a2e)
  • backend: Upgrade to spring boot 2.6.7 (0c9bec8 - #167)

Refactor

  • backend: Simplify download database access to improve perf and maintainability (807de13)

2022.4.0

Features

  • backend: Upgrade to spring boot 2.6.5 (232f665 - #164)
  • backend: Upgrade storage implemntation to minio:RELEASE.2022-04-01T03-41-39Z (e448e45)
  • database: Upgrade flyway to version 8.5.5 (239132b - #165)
  • distribution: Provide a default namespace in kustomize component (ecd86fc)

Bug Fixes

  • database: Prevent usage of null value for COVER object (7058f6d - #165)
  • frontend: Use new cover placeholder for podcast creation (6a8da43 - #165)
  • frontendjs: Change dependency used during jspm build (e913284 - #161)

Refactor

  • backend: Usage of type inside build configuration (0393c18)
  • download: Relocate download manager into download package (aa67021)
  • download-manager: Intermediate modifications before migration to SQL (f048cdb - #151)

2022.3.0

Features

  • backend: Upgrade to spring boot 2.6.4 (56d35e2)
  • frontend: Reduce number of element in navbar for mobile viewer (2e40511)

Bug Fixes

  • security: Set back the security analysis for every components (561a25b - #161)

Testing

  • backend: Test api configuration inside spring context (463cdfe)

2022.2.0

Features

  • backend: Upgrade spring boot to 2.6.3 (a427794)
  • storage: Support external bucket system (12cb036 - #152)

Bug Fixes

  • backend: Use a ffmpeg 4.4 by default (ca9adb8)
  • ci: Publish backend image to latest if on default branch (0a7efbf)

Refactor

  • backend: Use a simpler solution to instantiate the jackson mapper (fa02147)

2022.1.0

Features

  • 6play: New extractor to get best quality possible with sd1-ism format (c140782)
  • 6play: Remove request which ends up in status of error. (1305328)
  • 6play: Download of 6play will now rely on youtube-dl 🎉 (a925f90)
  • MyTf1: Move MyTf1 updater to reactive http client (15257dc - #59)
  • backend: Add build of oci image with Jib (a876d6b)
  • backend: Add step to package the backend from the CI (bdeca49)
  • backend: Optimization on build stage of base image (f9c14e4)
  • backend: Reduce log level during update (65e29de - #124)
  • backend: Update should not fetch the possibility existing item before inserting (0598b9d - #142)
  • backend: Result of update should fetch item by batch and not one by one (5cff96c - #143)
  • backend: Upgrade ci and backend to java 17 (55394c0 - #137)
  • backend: Migrate to yt-dlp instead of youtube-dl for compatibility issue with france tv (c991ca8)
  • backend: Add prometheus and metrics to follow backend consumption (37c4148)
  • backend: Use temp folder to store downloading file (4d85971 - #147)
  • backend: Upgrade to spring boot 2.6.1 (094da82 - #148)
  • backend: Remove all code about pause/restart/toggle download (6debc4f - #144)
  • backend: Upgrade to spring boot 2.6.2 (90922ed - #149)
  • backend: Rely on minio for storage instead of sharing file system between backend and nginx (73f5276 - #146)
  • backend: Use advanced SQL query to save all updated items from a podcast in one query (9d5719e - #141)
  • backend: Use r2dbc connection for database interaction 🚀 (36f31a9 - #154)
  • backend: Use r2dbc connection for database interaction 🚀 (e00e033 - #154)
  • base-image: Add variables about tools installed inside the image (dafce45)
  • base-image: Remove python during download of binary (bae508e)
  • ci: Build base image from the gitlab ci for the backend (710c89b)
  • ci: Add variable DOCKER_IO_USER instead of hardcoded value (ba47d59)
  • ci: Disable build of base image due to error when using gitlab-ci runner (b612f1a)
  • ci: Add steps to build the base image (af8b183 - #7)
  • ci: Include component name in version of app 🤔 (2c1d168)
  • ci: Add construction of file server in the CI (a8b9d04)
  • ci: Build backend base image with Kaniko instead of docker (839a820 - #22)
  • ci: Remove docker image when MR is merged (41c619b - #11)
  • ci: Use cache associated to specific files to improve CI perf 🔥 (9d6df33)
  • ci: Provide security analysis at container level (d7f816c - #52)
  • cluster: Add cluster mode to podcast server (4b9e28b - #67)
  • cover: Follow redirection when trying to download a cover (daa0cfe)
  • cover: Move delete old covers to new model with JOOQ and Reactor (53ff030 - #20)
  • cronjob: Move out of tutum/curl to official curl image (3f3c586)
  • dailymotion: Migrate finder to reactive mode and new type (684e9b0)
  • database: Remove code about database H2 inside the app (8294f7d)
  • database: Remove all element link to inner database backup (e180e2d)
  • database: Move the backend database to postgresql (dd05689 - #72)
  • database: Separate database project from backend.yaml (3813ab8 - #82)
  • database: Build images base on distroless/java-debian10:11 (09abc54)
  • db: Extract db from the app (013d7c7)
  • deploy.k8s: Provide a simpler base (d2177a9)
  • dev: Expose 80 and 443 ports with redirect 80>443 whe working in local env (31c3152)
  • dev: Integrate the ui-v1 inside the skaffold dev env (d57dead)
  • distribution: Provide a config function for KPT packaging (e962fee - #109)
  • distribution: Add default liveness and readiness in k8s deployment (ee2fd6c)
  • distribution: Provide a distribution process with component for database and storage (0696f58 - #153)
  • distribution: Switch to batch/v1 for CronJob objects (de4a7cb)
  • documentation: Provide a quick-install.sh and asciinema record of installation (eff6d17)
  • download: Move the downloads api to reactive way of doing (2201a3f - #26)
  • download: Append uuid of the item to the downloaded file to prevent file name collision. (97b1793 - #131)
  • downloader: Move downloader to new model (3a6961e - #27)
  • find: Rework reactively the find endpoint to allow clean migration (aeb3499)
  • franceTv: Move to youtube-dl implementation to remove extractor and rely only on external implementation (7a79fc3)
  • francetv: Update FranceTv updater (96f1119 - #57)
  • frontend: Split frontend and backend in two micro-services allowing to separate concern (0fd8b7d)
  • fs: Use an nginx server to serve static files (d4833f7)
  • fs: Work on a specific thread pool when dealing with Files API (d6f0704)
  • gulli: Remove the gulli extractor (d06d9cd)
  • http: Use youtube-dl for simple http download (de727df - #68)
  • image: Move the image service to new method which is reactive 🚀 (bc885f0)
  • image: Move to fully reactive dedicated image service (9be0f3f)
  • item: Move to async transaction in the create repository (b184a25)
  • item: Return 404 if item is not found in the database when serving for file (8d6864e)
  • item: Simplify implementation of repository to create item (bb95382)
  • item: Remove useless cases when doing search operation (0bc29ec)
  • item: Move deletion of item to JOOQ/Reactor way of doing (32ca387 - #29)
  • item: Make mimetype not nullable (b6c9cff - #76)
  • items: Move GET /api/v1/podcasts/{id}/items to new model (JOOQ & Reactor) (a6a2215)
  • items: Add cronjob to delete items (840c315)
  • itunes: Move itunes finder to reactive way (b775ecc - #16)
  • java: Upgrade to java 11 (06c1a26 - #21)
  • k8s: Define k8s yaml files allowing an install inside k3s cluster in kserver env (17b7063 - #6)
  • k8s: Add for kserver a simple configuration using latest of backend by default (c2e9f6f)
  • k8s: Add actuator exposition in kserver ingress (145656b)
  • k8s: Add ingress as standard kustomization (9ca4be5)
  • k8s: Use skaffold for env dev (af5059c - #13)
  • k8s: Add HTTPS connection to local ingress during dev (5c9882d)
  • k8s: Relocate base into the project (6324e8b - #83)
  • kub: Add a default timeout for database to 5 seconds (c61905f)
  • lib: Upgrade to spring boot 2.4.5 (bc53322 - #127)
  • local-ingress: Add auto-redirect to https when serving from local-ingress (5d1b6f1)
  • package: Provide a kpt package to simplify the installation (b137a87)
  • package: Provide a way to modify the namespace during installation with kustomize & ktp (b4a59c1)
  • packaging: Use previously generated base image for backend (210924f)
  • packaging: Use podcastserver organization and a repository for each component (fc3d67e)
  • packaging: Add push to latest tag when on master (3e30ddf)
  • packaging: Add conditional execution of push depending of CI env or not (cbe635b)
  • playlist: Move GET /api/v1/podcasts/{pid}/items/{id}/playlists to JOOQ/Reactor (118d6a5 - #30)
  • playlist: Rename wathlist to playlist in the kotlin code (43ca25c - #30)
  • playlist: Move findById of playlist to new model with jooq and reactor (e844f85 - #30)
  • playlist: Move create to new way of doing with jooq and reactor (78e2992 - #30)
  • playlist: Move add and remove from playlist to jooq / reactor way of doing (2ec9d49)
  • playlist: Move delete playlist to jooq/reactor way of doing (46a49f9)
  • playlist: Move playlist rss to jooq/reactor way of doing (2ff397e - #30)
  • podcast: Download reactively the cover when creation is made with the new system (431427a)
  • podcast: Move deletion of podcast to new model with jooq and reactor (bacdbce - #28)
  • podcasts: Move opml to new model with jooq and reactive handler (588dc24)
  • podcasts: Max size of an item inside the podcast list to 200px (6245acf)
  • rss: Move to new model GET /api/v1/podcasts/{id}/rss to JOOQ and Reactor (b8d6814)
  • rss: Move rss as @Configuration/@Bean instead of @Service/@Component (ff211c8 - #16)
  • rss: Move rss updater to reactive way of doing (3f667c5 - #19)
  • rss: Provide fallback cover for item (2827bab - #125)
  • rss: Support frenchspin rss when download with youtubedl (299b426)
  • schedule: Move deletion of covers out of the timing of updage (fc640a5)
  • search: Remove fulltext indexation of Hibernate Search (ad6b06f)
  • sse: Move to sse to send data to front end (522d983)
  • sse: Remove ngx-stomp from yarn.lock file (d3a6f6c)
  • sse: Add heath-beat for sse to prevent timeout from the frontend (8a9eb71)
  • stats: Rewrite to temporary "plain sql" stats layer which wasn't working due to migration to webflux (e8a96f8)
  • tf1replay: Move to youtube-dl extractor instead of relying on custom implementation (5b623e9)
  • ui: Use new url for v2 ui for items (2b3a9a7)
  • ui: Add step to build the ui component directly from the CI (45042e7)
  • ui: Add links between v1 and v2 (f3eed43 - #112)
  • ui-v1: Remove all feature about pause/restart a download (049fa56 - #144)
  • ui-v2: Remove all feature about pause/restart download (acf18d8 - #144)
  • update: Define new endpoints allowing update from ui / scripts (96ab830 - #2)
  • update: Make the create operation "totally" reactive (970963e)
  • update: Rollback to non reactive way of inserting items (1d94a57)
  • updater: Use URI instead of Podcast to proceed to signature operation (daca681)
  • updater: Use PodcastToUpdate object instead of entity (111b625)
  • updater: Use reactive inteface in updater allowing smooth transition to full reactive update (2fa78de - #15)
  • updater: Move dailymotion updater to reactive model (6b7ecba - #60)
  • updater: Move gulli updater to reactive model (be7ae66 - #61)
  • updaters: Move to custom model used inside of the updater. (9d0c05f)
  • watchlists: Move GET /api/v1/watchlists to JOOQ and Reactor model (83b42fb)
  • worker: Remove BeInSports updater|finder which are now useless. (e586c0a)
  • youtube: Support download through youtube-dl instead of vget (b988f51)
  • youtube: Make the youtube finder partially reactive (2895690)
  • youtube: Download full size cover instead of the standard one (4471083)
  • youtube: Move youtube finder to its own configuration (44a6724 - #17)
  • youtube: Move the youtube api updater to reactive model (a4c727f - #18)
  • youtube: Move Youtube XML Updater to reactive model (904f2a9 - #62)

Bug Fixes

  • 6Play: Upgrade extractor due to new content in replay system (video type) (bfb8ca9)
  • 6play: Add low quality extractor (508d2c9)
  • 6play: Support new format of 6play (61dddd3)
  • backend: Remove env variable which can't easily overridden (da33bd1)
  • backend: Add side effect to avoid connection refused (a547d89)
  • backend: Use clone on WebClient.Builder to prevent leak of data and thread concurrency (9aa23ca)
  • backend: Use lighter install during downloader phase of base image (2522c2e - #81)
  • backend: Allow installation of tools through curl in base-image (5f478a3)
  • backend: Remove publish on lastest when on feature branch (cbff10c - #102)
  • backend: Add another "format" to youtube-dl service (18aa010)
  • backend: Remove useless logs (5f5e71d)
  • backend: Update was not fecthing items (48fa2d2)
  • backend: Reduce number of sql queries during update process (1a8b1b5 - #140)
  • backend: FranceTvUpdater should be updated with new API from FranceTV (464bd5b - #138)
  • backend: Clean url with more than 100 chars and specials characters (130f69c - #145)
  • backend: Revert "feat(backend): use r2dbc connection for database interaction 🚀" (360c7b1 - #156)
  • backend: Temporary fix for insert .. select using ${1-n} in string (b3bf730 - #157)
  • backend.francetv: Update updater to found items (a942f36 - #108)
  • backend.search: Provide a default order to search (b2b0b8d - #107)
  • backend.youtube: Update youtube finder and updater (12f13f9 - #105)
  • base-image: Install kill command inside the container (52741a0)
  • ci: Set a specific version for JSPM (5578823)
  • ci: Add DAG with needs keyword in the CI file (bcd4543 - #8)
  • ci: Publish backend as "latest" on master (1630f9a - #12)
  • ci: Remove useless before_script tag (97f4ac9)
  • ci: When building images, the path to the Dockerfile wasn't correct (bf4e848)
  • ci: Delete image after deletion of branch (b870dcf)
  • ci: Use auth token instead of user & password in kaniko config (72fd2b3)
  • ci: Call to function to delete image after MR (30ba830)
  • ci: Add retry to operation with postgresql service (b3d3603)
  • ci: Publish image with correct name (66956b1 - #93)
  • cluster: Error when using clustering mode without ssl (9e6ed67)
  • compile: Remove useless dependencies to Kotlin 1.2.x (bf59d1c)
  • dev: Change name of the server inside the nginx conf for local dev (0e1c4ff)
  • dev: Add a scripts to start dev with skaffold with just ./dev.sh (7d33a29)
  • distribution: Correction of url and add the ingress certificates (60126d0)
  • distribution: Adapt cronjob for database backup (5428361)
  • dns: Provide a test running on any runner for test of dns client (66351d2)
  • download: Add podcast id in item link in download view (b38b04f)
  • download: Fix ui not showing podcast as downloaded in the ui. (36168b7)
  • downloader: Remove duplicate condition on youtube-dl downloader (caa8714)
  • ffmpeg: Change name of file downloaded to reove all specials characters (fdc416f - #17)
  • files: Generate cover with default extension to 'jpg' instead of empty (bc5f971)
  • finder.youtube: Change fields use for find operation (50559aa)
  • franceTv: Support new layout of franceTv website (3b4d194 - #121)
  • francetv: Allow offline testing fof francetv finder (896c747)
  • frontend: Change podcast.id in url of queue items (e0e058f)
  • frontend-ui: Support ico file in redirection (81e8138)
  • fs: Better management of host name capture to handle redirect to fs component (7895657 - #14)
  • gulli: Update gulli finder to new layout of gulli replay website (4ce1568)
  • gulli: Register back the gulli updater (8730034)
  • idm: Print error if extraction ends up in failure (1b096e4)
  • item: Use nullable value for int to let hibernate do this strange things 😅. Will be removed when hibernate removed (e683ff0)
  • item: Sync test against db and defer operation (a576c40)
  • item: Use local url of images when serving GET /api/v1/podcasts/{pid}/items/{id} (563e57d)
  • item: Error when doing a "add try" to an item (c244b81)
  • item: Delete of item which is not downloaded throw exception (a3ee648 - #34)
  • item: Change url used to delete items in CronJob (b904f85)
  • item: Define an invariant on order of item to always have same item in a given page (eb79d8e - #46)
  • items: Delete old items is now more "friendly" and do not remove items from db (37ea9f0)
  • items: Change case of proxyURL which causes never loading video from the client side (d87c60a)
  • items: Remove query parameters of original url from proxyURL (a6e4bf4)
  • items: Modification of posix right for every podcast (65533e8)
  • items: Supports items with url containing space during update (86f5627 - #23)
  • itunes: Fix itunes finder which returns error due to unsupported media type (52daa1a - #85)
  • k8s: Remove name from ingress which is invalid key here (85a5402)
  • lib: Upgrade dependencies with CVEs (59cc82d)
  • local-ingress: Add an extra header to forward to https during local dev (d6a17ae)
  • packaging: Add docker push operation at each end of build scripts 😅 (add5839)
  • packaging: Build of image use better string interpolation (c4914b6)
  • podcast: Remove PUT /api/podcasts endpoint which is now useless (9df4bd7)
  • podcast: Handle case when original cover url doesn't have extension in the url (94dcdb9)
  • podcast: Support creation of podcast with tag already existing but sends with id = null (382af40)
  • podcast: Support creation of podcast with tags already existing but id not provided in call (a182ebd - #33)
  • podcast: Manage error when loading page of podcast without items (88b74fa - #110)
  • podcasts: Support update of podcast without URLs (9be4434 - #92)
  • search: Upgrade hibernate-search-orm dependency to fix search by keyword (4b30e50)
  • search: Prevent always using full test search when standard one could be used (5bb73ee)
  • search: Handle when url of cover contains query params (68606be)
  • security: Move to tika-core 1.22 to remove dependency security breach (5b0b13d)
  • sixplay: Only accept replay from m6 and w9 (2b690af)
  • skaffold: Remove the tag in the base of the kubernetes configuration (df58efe)
  • skaffold: Update skaffold to use the new distribution system (5f62e05)
  • tf1replay: Remove ratio of cover from cover url for tf1replay system (20379aa)
  • tf1replay: Support new layout of tf1 website (fe8b826 - #119)
  • ui: Move link into new tab to access v2 from v1 (521a25d)
  • ui-v1: Fix version of dev dependencies avoiding issue during compilation (285c74d)
  • update: Trigger download process after update (8c2e7cb)
  • update: Avoid duplication of cover if item is not created (e0235ad)
  • update: Use a totally random signature if podcast fail update (800852d)
  • update: Remove useless logs during update (effc52c)
  • update: Change condition for selection on item to download after update (8ebdbf1)
  • update: Provide more information during update phase (f5037f7 - #73)
  • update: Provide information about mimetype in updaters (2be2161 - #73)
  • update: Catch when download of item cover fails during update (6b5048d - #122)
  • updater: Reset Cover.DEFAULT_COVER to null in order to respect detached object from 🔥 hibernate 🔥 (6690838)
  • updater: Handle case when updater throw exception (702d94f)
  • upload: Update the last_update field when uploading an item (9b19195 - #5)
  • uploads: Support uploads of items and creation of upload podcasts (b769a41)
  • webclient: Use clone() on WebClient Builder to prevent thread safety errors (b3c809b)
  • youtube: Use the good updater depending of the value of the api key used (3fc6747)
  • youtube: Follow redirection in youtube finder (711e446)
  • youtube: Finder should follow any kind of redirection. (7e69dbf)
  • youtube: Fetch description instead of hardcoded string 😅 (a8892b0 - #32)
  • youtube: Youtube api key is now optional at k8s level (2135c3c)
  • youtube: Use a different user agent to prevent empty string from Youtube website (1b438a1 - #123)
  • youtube-dl: Define a more precise format seletor to avoid merging files as mkv (43cfb02)
  • youtube-dl: Add value in base image and allow modification of value inside the configuration (84bbcad)

Performance

  • search: Optimization of search query to better uses index (2312e02)

Refactor

  • 6play: Move 6play finder to reactive mode and new type (841cb63)
  • Kotlin: Migration of the YoutubeFinder to Kotlin (89be891)
  • backend: Simplify backend build operation (2f5f008 - #9)
  • backend: Reduce usage of arrow in backend (e7cdb8f - #38)
  • backend: Clean up entity to reduce code usage (308203f)
  • backend: Change organization of extension functions for finders (17017de)
  • backend: Remove useless configuration package (b428976)
  • backend: Add auto conversion between string "status" from database to enum value inside the app (0829f0b)
  • backend: Simplify implementation of the mimetype service and its configuration (7b11b6b)
  • backend: Include function to reduce usage of Arrow with a simple tryOrNull { } (8e40ad3)
  • backend: Remove Podcast Entity 🎉 (afbd0c6)
  • backend: Move to publisher api of jooq (5723e9b - #54)
  • backend: Remove blocking image service (ea32855)
  • backend: Change location of base-image Dockerfile (2209e83)
  • backend: Use inline class for item and rely on extension function to exract ext of file (bd6d0dd)
  • backend: Remove usage of apache commons for file extension extraction (17ca2a0)
  • backend: Move to more official jooq/gradle plugin (56e50b0)
  • backend: Move all blocking operations into a specific scheduler (3df7e73)
  • backend: Expands testing on updater interface (479192c)
  • backend: Remove health indicator (ee1fab9)
  • backend: Expands testing on MimeTypeService.kt (55d729b)
  • backup: Remove classes used by the deprecated internal backup system (bb99b9c)
  • db: Move to external handling of database (595bd35)
  • db: Move to JOOQ and new ItemRepository for stats (9738780)
  • dep: Remove dependencies to arrow library (9120e37 - #37)
  • downloader: Update item with incoherent state at startup (b0c5e28 - #25)
  • ffmpeg: Move to simple configuration for ffmpegService (6cabe0f - #47)
  • file: Use business object as parameter of methods for FileService (482169f)
  • files: Change way to serve files from the app (d86c8c6)
  • finder: Change location of files in test to follow new package organization (1083e78)
  • francetv: Migrate finder to reactive mode and new type system (fe9544e - #41)
  • fs: Rename folder containing the file-system module to be more coherent (1f6e272 - #7)
  • gulli: Migrate finder to reactive mode and new type (a6600e9)
  • item: Refactor delete old items structure to use Reactive pipline and JOOQ SQL (bf04266)
  • item: Move the endpoint POST /api/v1/podcasts/{pid}/items/{id}/reset to new model with JOOQ and reactive handler (86cec39)
  • item: Remove PUT /api/v1/podcasts/{pid}/items/{id} allowing to edit item which is not used by the frontend (cb00526)
  • item: Remove useless injections inside itemService (62e0a07)
  • item: Use native ceil function of Kotlin instead of Math.ceil from JVM (41595f8)
  • item: Use Common Table Expression to simplify search request (580af82)
  • items: Move /api/v1/podcasts/{id}/items from podcast to item domain (447a45e)
  • jooq: Add extensions function allowing idiomatic kotlin when using transaction in JOOQ (635237e)
  • kotlin: Migration of the DownloaderSelector to Kotlin (4f3182a)
  • kotlin: Migration of the ItunesFinder to Kotlin (22783d0)
  • kotlin: Migration of the RssFinder to Kotlin (a48356f)
  • kotlin: Migration of the RSSUpdater to Kotlin (025ffda)
  • kotlin: Migration of the GulliFinder to Kotlin (c49813c)
  • kotlin: Migration of the GulliUpdater to Kotlin (091c209)
  • kotlin: Migration of the GulliExtractor to Kotlin (121a274)
  • kotlin: Migration of the UploadUpdater to Kotlin (3d6da69)
  • kotlin: Migration of the NooExtractor to Kotlin (2b2c13a)
  • kotlin: Migration of the NoOpFinder to Kotlin (3450edc)
  • kotlin: Migration of the NoOpUpdater to Kotlin (c3ccb38)
  • kotlin: Migration of the PassThroughExtractor to Kotlin (29fecbf)
  • kotlin: Migration of the YoutubeUpdater to Kotlin (324567a)
  • kotlin: Migration of the YoutubeUpdater to Kotlin (d8e5e15)
  • kotlin: Migration of the TF1ReplayFinder to Kotlin (53053d1)
  • kotlin: Migration of the TF1ReplayUpdater to Kotlin (611b3a8)
  • kotlin: Migration of the TF1ReplayExtractor to Kotlin (b614b12)
  • kotlin: Migration of the MyCanalFinder to Kotlin (ad2e685)
  • kotlin: Migration of the MyCanalExtractor to Kotlin (f8a2c3c)
  • kotlin: Migration of the MyCanalUpdater to Kotlin (18b1e0b)
  • kotlin: Migration of the MyCanal system utils parts which change the behavior of Finder|Updater|Extractor (ccbf383)
  • kotlin: Migration of the DailymotionFinder to Kotlin (1a221b3)
  • kotlin: Migration of the ApiProperties to Kotlin (ccba591)
  • kotlin: Migration of the ExternalToolsProperties to Kotlin (e17def7)
  • kotlin: Migration of the BackupProperties to Kotlin (3b8c357)
  • kotlin: Migration of the PodcastServerProperties to Kotlin (ff3bec5)
  • kotlin: Migration of the DailymotionExtractor to Kotlin (3bb3006)
  • kotlin: Migration of the DailymotionUpdater to Kotlin (6970de3)
  • kotlin: Migration of the Type to Kotlin (76e2bbb)
  • kotlin: Migration of the Finder to Kotlin (a48fb3e)
  • kotlin: Migration of the Extractor Interface to Kotlin (80a8ae8)
  • kotlin: Migration of the Updater interface to Kotlin (185d13c)
  • kotlin: Change signature of Updater interface (1d7e852)
  • kotlin: Migration of the NoOpDownloader to Kotlin (50dc390)
  • kotlin: Migration of the HTTPDownloader to Kotlin (68c6e2b)
  • kotlin: Migration of the FfmpegDownloader to Kotlin (7bc6b6d)
  • kotlin: Migration of the YoutubeDownloader to Kotlin (b9f3bf7)
  • kotlin: Migration of the RTMPDownloader to Kotlin (a719bb7)
  • kotlin: Migration of the AbstractDownloader|Downloader Interface to Kotlin (56ce4fd)
  • kotlin: Migration of the DownloadingItem to Kotlin (7048945)
  • kotlin: Migration of the ItemDownloadManager to Kotlin (88183e1)
  • kotlin: Migration of the FfmpegConfig to Kotlin (27281e6)
  • kotlin: Migration of the DataSourceConfig to Kotlin (2d6e771)
  • kotlin: Migration of the ExecutorConfig to Kotlin (5a0d15a)
  • kotlin: Migration of the SchedulerConfig to Kotlin (43b8f1d)
  • kotlin: Migration of the JacksonConfig to Kotlin (35bc4bc)
  • kotlin: Migration of the WebSocketConfig to Kotlin (f641098)
  • kotlin: Migration of the WebMvcConfig to Kotlin (f31772c)
  • kotlin: Migration of the BeanConfiguration to Kotlin (c4bfb0c)
  • kotlin: Migration of the Cover Entity to Kotlin (4058b3c)
  • kotlin: Migration of the Status entity to Kotlin (eb44116)
  • kotlin: Migration of the Tag Entity to Kotlin (15f9ac7)
  • kotlin: Migration of the WatchList Entity to Kotlin (2e313d6)
  • kotlin: Migration of the Podcast Entity to Kotlin (8fb66a9)
  • kotlin: Migration of the Item Entity to Kotlin (10cb481)
  • kotlin: Migrate GET /api/v1/podcasts/{pid}/items/{id} to Kotlin|JOOQ (876be0c)
  • kotlin: Migration of the TypeController to Kotlin (0e19b41)
  • kotlin: Migrate the global stats system to JOOQ and reactive pipeline (bba7024)
  • mycanal: Move mycanal finder to reactive mode and new type (d1208bb - #42)
  • noop: Move noop finder to reactive mode and new types (cc0004d)
  • podcast: Rename methods to follow spring data convention (2cd647e)
  • podcast: Move GET /api/v1/podcast/{id} to new reactive model and JOOQ (61307d1)
  • podcast: Move POST /api/v1/podcasts creation of podcast to reactive and JOOQ way of doing (40daa02)
  • podcast: Move GET /api/v1/podcasts to new reactive model and JOOQ (2f4286c)
  • podcast: Move PUT /api/v1/podcasts/{id} to the new model (cc20fff)
  • properties: Move to immutable properties (bb796d3 - #37)
  • rss: Simplification of the rss finder to leverage kotlin syntax instead of Optional/Option (2d39774)
  • search: Move /api/v1/items/search to new model with JOOQ and reactive way of doing (942f04a)
  • sse: Move streaming to reactive system instead of spring listeners (fca5c4e - #66)
  • sse: Simplify code with SSE and heartbeat (2ae68c7 - #117)
  • stats: Rewrite stats part and exposes new /api/v1 API (dcba4d1)
  • stats: Change location of stats class and remove dead code link to it (a6feb0e)
  • tag: Move tag GET /api/v1/tags/{id} to new model with JOOQ and reactive Handlers (9365b13)
  • tag: Move tag GET /api/v1/tags/search?name=foo to new model with JOOQ and reactive Handlers (a361d71)
  • tag: Remove all code from old endpoint and repository about tag (02bcee4)
  • test: Start/stop the wiremock server only one time for cover test class (ea89167)
  • test: Move to kotlin class db setups (fad8797)
  • tf1replay: Move tf1replay finder to reactive mode an new types (c47d779 - #45)
  • updater: Remove noop updater which is not required anymore in kotlin world 🎉 (c048b8e - #65)
  • updater: Move upload updater to new package (a9bbc7c)
  • vavr: Remove vavr from classpath (4ca434e - #36)
  • webclient: Simplify usage of rewrite for mockserver (1b417dc)
  • xml: Move all podcast handler with xml to external component (77e379d)

Documentation

  • readme: Change link to the registry (7a69eb3)
  • run: Add command to run component of the app in dev env (568b24d)
  • setup: Provide the first setup using antora (930a463 - #97)

Testing

  • backend: Improve testing on DownloadRepository#findDownloadingItemById (b057842 - #100)
  • backend: Expand testing on item handler (5d3455b)
  • backend: Expands testing to FileService.kt with download of item cover (e329661)
  • backend: Expands testing to FileService.kt with upload function (daffe76)
  • backend.cover: Provide default extension if url is empty (7597f9c)
  • backend.download: Expand testing of DownloadRepository#FindAllToDownload() (8f2c45c - #95)
  • backend.download: Expand testing of DownloadRepository#stopItem method (a4f61ab - #103)
  • backend.download: Expand testing of DownloadRepository#updateDownloadItem method (f49e896 - #103)
  • backend.download: Expand testing of DownloadRepository#finishDownload method (35ef392 - #103)
  • backend.update: Expand coverage on update handler (9fba307)
  • cover: Improve testing in cover package (4b6bfa2 - #70)
  • downloader: Rely on path provided by junit instead of using root of FS (702d01b)
  • ffmpeg: Rely on path provided by junit instead of using root of FS (8f66498)
  • file: Extends test on fileService (00102ab)
  • file: Improve testing on FileService.kt (e9004dd)
  • file: Improve testing on FileService.kt (ee61d88)
  • find: Expand testing to the endpoint /api/v1/podcasts/find (b4b78e7)
  • find: Expands testing on find service (d94b603)
  • finder: Expand testing in the new RSS Finder (e779f51)
  • finders: Increase testing when redirection happened at http level (403f1ff)
  • fs: Disable tests which should cause error due to lack of right in the FS (eb49b1f)
  • gulli: Expands testing on gulli finder (5ab5c55)
  • idm: Expands test on idm (66d260a)
  • item: Expands testings on item creation at item repository level (11cbca5)
  • items: Refactor test to use dependency injection for db setup (1e25bb4)
  • podcast: Remove DbSetup from PodcastRepositoryTest.kt (1e18a55)
  • rtmp: Change return time of the lambda to remove error from the console during test (16a647a)
  • type: Reactivation of test on TypeController (e228837)
  • youtube: Rely on path provided by junit instead of using root of FS (a8b1571)

2019.1.0

Refactor

  • JeuxVideoCom: Use same function for compatibility between Finder and Updater (df8750c)
  • koltin: Migration of the JeuxvideocomUpdater to Kotlin (b2e58c5)
  • kotlin: Migration of the IOUtils to Kotlin (86e7b99)
  • kotlin: Migration of the FranceTvExtractor to kotlin (7558d7f)
  • kotlin: Migration of the JeuxVideoComFinder to Kotlin (5f5053d)
  • kotlin: Migration of the FinderSelector to Kotlin (4d16a4d)
  • kotlin: Migration of the FinderSelector to Kotlin (a59dc23)
  • kotlin: Migration of the ExtractorSelector to Kotlin (6f2fcc9)

2018.12.0

Bug Fixes

  • 6play: Use not blur cover inside finder (1250ea8)
  • 6play: Align on the new location of title for podcast (14c483c)
  • tags: Use mutable set to allow hibernate mutation on save (4c244e8)
  • update: Increase parallel number for update (9b19b3e)

Refactor

  • koltin: Migration of the FranceTvFinder to Kotlin (ff2d32a)
  • kotlin: Migration of the WatchListBusiness to Kotlin (dfde4be)
  • kotlin: Migration of the TagsBusiness to Kotlin (0cdba92)
  • kotlin: Migration of the PodcastBusiness to Kotlin (8ea77a8)
  • kotlin: Migration of the ItemBusiness to Kotlin (09c19bb)
  • kotlin: Migration of the CoverBusiness to Kotlin (5eb028f)
  • kotlin: Migration of the FindPodcastBusiness to Kotlin (5f93708)
  • kotlin: Migration of the UpdatePodcastBusiness to Kotlin (b17f37e)
  • kotlin: Migration of the SixPlayFinder to Kotlin (3a4ff50)
  • kotlin: Migration of the SixPlayExtractor to Kotlin (52d5a06)
  • kotlin: Migration of the SixPlayUpdater to Kotlin (07fbd6c)
  • kotlin: Migration of the UpdaterSelector to Kotlin (21c087c)
  • kotlin: Migration of the FranceTvUpdater to Kotlin (7591d96)
  • utils: Change implemnetation of utils in order to reduce warnings during compilation (3cb2492)

Testing

  • updater: Correction of test which was in error only on travis 😓 (550c6bf)

2018.11.0

Refactor

  • ffmpeg: Use CompletableFuture so we don't have to use an executor service and while to wait for the value (d0e74e4)
  • kotlin: Migration of the FfmpegService to Kotlin (1f5a9c5)
  • kotlin: Migration of the WgetFactory to Kotlin (6759adb)
  • kotlin: Migration of the DownloadHealthIndicator to Kotlin (0667b90)
  • kotlin: Migration of the UpdaterHealthIndicator to Kotlin (f7fd57d)
  • kotlin: Migration of the NumberOfItemByDateWrapper to Kotlin (56ebd40)
  • kotlin: Migration of the StatsPodcastType to Kotlin (f6a0fd3)
  • kotlin: Migration of the StatsBusiness to Kotlin (91001e8)
  • kotlin: Migration of the DatabaseScheduled to Kotlin (f858319)
  • kotlin: Migration of the ItemDeletionScheduled to Kotlin (59de549)
  • kotlin: Migration of the HibernateSearchIndexation to Kotlin (edb8fc9)
  • kotlin: Migration of the UpdateScheduled to Kotlin (217d253)

2018.10.0

Bug Fixes

  • idm: Support error inside extractor (f5e227d)

Refactor

  • kotlin: Migration of @Data POJO to Kotlin data class for MovingItemInQueueForm (33c3585)
  • kotlin: Migration of the CustomRunProcessFunc to Kotlin (12486dc)
  • kotlin: Migration of the ProcessListener to Kotlin (ab9179b)
  • kotlin: Migration of the MatcherExtractor to Kotlin (331c21d)
  • kotlin: Migration of the SignatureService to Kotlin (82c3727)
  • kotlin: Migration of the UrlService to Kotlin (37650bd)
  • kotlin: Migration of the Process Service to Kotlin (aaa6d02)
  • kotlin: Migration of the M3U8Service to Kotlin (fcb0f81)
  • kotlin: Migration of the ImageService to Kotlin (9b52dff)
  • kotlin: Migration of the MimeTypeService to Kotlin (fb65056)
  • kotlin: Migration of the HtmlService to Kotlin (38c19c4)
  • kotlin: Migration of the ByteRangeResourceHandler to Kotlin (058891c)
  • kotlin: Migration of the JdomService to Kotlin (787910f)
  • kotlin: Migration of the DatabaseService to Kotlin (ac03d29)

2018.9.0

Features

  • rss: Support itunes url format (eacf2a9)

Bug Fixes

  • creation: Reflect url modification from backend in the front creation form (484ea39)
  • item: Exclude items with too long title (aa4d0d3)
  • upload: Adjust the temp folder to the jvm define location in order to avoid bad location when uploading (b1a1bed)

Testing

  • search: Move to speculoos (3f34cc3)

2018.8.0

Features

  • item: Reset item from the GUI (73ddbfa)
  • search: Add second paginator at the end of the page (f697dad)
  • ws: Add web-socket on the v2 of the front (b99eb9f)

Bug Fixes

  • episodes: Use a link to allow "open in" (ea9f377)
  • podcasts: Use predefined size of 200px to avoid strange css behavior (4fdfaf3)
  • podcasts: Use object-fit to prevent stretch images in listing (c88a839)
  • slider-menu: Use a link to allow "open in" (91f90aa)
  • ws: Remove debug log on web-socket (44765c4)

2018.7.0

Features

  • item: Add multiple share and play action on item (b2ec093)
  • item: Add delete operation from within the item route (b520890)
  • item: Add link to the parent podcast inside the item view (6b607e8)
  • podcast: Reload podcast after force refresh (c625af2)
  • podcast: Add paginator in the podcast view (f2cf366)
  • search: Show download and play button on the card (05007c8)

Bug Fixes

  • floating-player: Add shadow and remove black line under video (f26de8f)
  • podcast: Back action in podcast go podcasts view instead of simple back (04e3e48)
  • search: Save pagination when come back on the search page (c745a20)
  • sidenav: Change the sidenav to allways be 100vh of the application (c00eaad)

2018.6.0

Features

  • item: Add the back button on the item page (5ffdc46)
  • item: Show date of creation, publication and download (170c416)
  • item: Add play and download button in the item page (3de5b2d)
  • search: Show download or play button conditionally (7c605c2)

Bug Fixes

  • podcasts: Modify style of image inside podcast list (4db2647)
  • search: Search parameters was not aligned and its size was too small (406f592)

Refactor

  • frontend: Remove action 'payload' and use a better functional name (b166f22)
  • test: Change declaration format of service with jest (b75ac20)

Testing

  • player: Expand testing of the floating player (6511a5d)

2018.5.0

Features

  • 6play: Support multiple type (clip, playlist) in 6play site (21fd6ac)
  • 6play: Support playlist of m6 replay (5fe6388)
  • AngularStompDK: Add the new version of the Web-Socket System (c9f5b79)
  • Digest: Change on process of signature of podcast (c811699)
  • UUID: Set column as native type UUID to improve perf and manual update (6903601 - #64)
  • backend.index: Turn to full html backend page (66e3aa8)
  • backup: Provide a way to backup H2 database from a scheduler (2a5cbc1 - #65)
  • backup: Add the ability to backup from rest endpoint (5513d32)
  • backup: Allow deactivation of backup process (8828cb3)
  • beInSport: Handle potentially video error (f4e2805)
  • boot: Log information about the location of files (4133f76)
  • cache: Add some memory caching to improve performance (46420f8)
  • cache: Use LastModified header to enable cache navigator on cover (82dae08)
  • communication: Replace callback connection to ws in each component with a BehaviorSubject Rx (27921b0)
  • config: Use SystemEnvironnement for finding the properties file (c02bbf0)
  • container: Add support for creation of docker container from maven (af4e064 - #63)
  • copy: Add in item-menu to copy in clipboard url (b50807d - #37)
  • cover: Download cover for each item and serve it (bf96eca)
  • cover: Delete cover during scheduled task (f8fc864)
  • cover: Delete cover when deleting item (72d491b)
  • dailymotion: Add support of dailymotion source (c040474 - #39)
  • dailymotion: Move extractor logic out of the downloader (fc5b84d)
  • design: Update css to align on less (8b53519)
  • design: Responsive in podcast list centered (fc88e5f)
  • di: Use di instead static class (2a70c79)
  • download: Add waiting list number item in downloading page (13f838d)
  • download: Auto-close/open waiting list if there is element inside (90245ad)
  • download.waitingqueue: Ability to re-order the downloading list directly in the GUI (0fe8d79)
  • download.waitingqueue: Hiding the waiting queue if empty and remove the priority button if not necessary (cc89a7f)
  • downloader: Update to AngularStomDK and use the send functionnality instead Web Service (b27c612)
  • downloader: Find best matching Downloader for an item by Type-Safe processing (edcfe6e)
  • downloader: Add restartDownload method to interface (a239200 - #68 - #70)
  • downloader: Add a responsibility to the downloader, it can now change the fileName to improve order on disc. (29fc5e2)
  • downloader.youtube: Support video above 720p (6da3fab - #68)
  • extractor: Move TF1Replay to extractor logic instead of inside Downloader logic (85a8496 - #86)
  • fetch: Define a user-agent for http connection initiated "natively" (2102ee3)
  • fetch: Allow url to be null in fetch (998fd79)
  • finder: Support Dailymotion as finder (f1606e3 - #14)
  • finder: Add canaplusFinder (87b7b90 - #14)
  • finder: Handle cover from banner if not found in meta property (a5414ed)
  • finder.JeuxVideoCom: Add support of finder for Source "JeuxVideoCom" (f6238c9)
  • finder.beInSports: Add finder for BeInSports (d1528c5 - #14)
  • finder.dailymotion: Add finder for dailymotion (ef3d206 - #14)
  • finder.pluzz: Find from Pluzz (0c80c69 - #14)
  • finder.rss: Handle itunesImage and null Image (615a0b3)
  • framework: Upgrade Framework versions (71ab8ef)
  • framework: AngularJS and Angular-Ui-Bootstrap update (f9b8a1d)
  • framework: Update framework version (8389dc5)
  • framework.ionicons: Minified field for better loading (e9204db)
  • framework.springboot: Migration to spring-boot 1.2.4 (d28676b)
  • franceTv: Move from pluzz to france.tv (c57bc3e)
  • francetv: Move extractor logic out of the downloader (384a412)
  • front: Merging search and home (e72d8e5)
  • front: Using resolve for routing (0555837)
  • front: Use specific meta information to color nav-bar of mobile browser (0d63d7d)
  • front: Reactivation of the front angular build (3c75cad)
  • front: Serve both front so we can start playing with the new version right now (3f756e0)
  • front.download: Use web-socket instead of Web-Service to provide the download liste (2c71d34)
  • front.podcasts: Order by lastUpdate (6a7642d)
  • front.title: Add description of current page in <title> for tab in browser (78fd031 - #51)
  • frontend: Serve generated gzip if compatbile for JS | CSS | Fonts (2a40158 - #33)
  • frontend: Change all text to english (86d1cca)
  • frontend.creation: Auto-update a podcast after creation (9d28892)
  • frontend.route: Use html5Mode to remvoe the hashbang (9b5252b)
  • gulli: Support gulli as a finder to create a new podcast (842949b - #75)
  • health: Add heal indicator in SpringBoot Actuator about Updater (b61e65f)
  • health: Add health indicator about downloading / waiting items (c7f198f - #84)
  • http.accept-range: Handle the accept Range in Spring controller (5022733)
  • http.accept-range: Add content disposition parametrized (5c0867e)
  • http.accept-range: Externalisation of all the string to improve performance (1a15800)
  • httpdownloader: Modification to follow redirection when downloading (79272cd)
  • indexation: Reduce the number of message for the MassIndexer (214a0e4)
  • indexation: Boost augmented twice on the title over the description to return better matching title instead title // description (e37b99c)
  • item: Improve hashset calculation (ed65302)
  • item: Removing description if empty (07b6892)
  • item: Improve hashset calculation (bd142ac)
  • item: Hascode comparaison modification (71c1901)
  • item: Add creation date on each item (b4e01ff - #45)
  • item: Add item page with basic design and information (356913c)
  • item-menu: Open external link in a new window instead of current window (473951c)
  • item.details: Add color on menu of dropdown menu (82dc47d)
  • item.details: Use of JsonView to reduce the amount of transfered data (271629f)
  • item.details: Show HTML text from source instead of text without formatting (5ef0843)
  • item.download: Use url with extention in front and backend (206858e)
  • item.player: Share button in item player (dbddcf5)
  • item.search: Fulltext search with pertinence order (2ff30ed)
  • item.search: Search by "Pertinence" asc and desc possible (a97e866)
  • item.search: Add hover on item to change state on selection (d45e9d1)
  • item.search: Resolve item pagination before showing the page (1914af1)
  • item.search: Use session storage for search engine (0ac45cf)
  • item.search: Upgrade library for tags-input and responsive design (81a1135)
  • item.search: Use flex-box instead moving overlay button on box (0fba4a2)
  • item.update: Use the same patern of update than multiple update to factorise the code (260c7aa)
  • items.search: Reset global search field with input-group (19b8218)
  • items.search: Reset tags field with input-group and special reset icon from ionicons (6a805d9)
  • items.search: Allow multiple word search with AND predicate (762b192)
  • jeuvideofr: Enhancement of the jeuxvideofr updater and downloader (b7ebf75)
  • jeuvideofr: Optimisation of treatment and better title handling (705a86b)
  • jeuxvideofr: Remove updater/downloader of JeuxVideoFr because the site have been deleted (fde55b5)
  • m6: Support 6play platform (d51abe4)
  • mimeType: Utils perform all type of detection (Files, Tika and by static) (097e4bd)
  • mimetype: Use tika and fallback to calculate mimetype (9967572)
  • mimetypes: Use Tika instead system detection (b9d9842)
  • mycanal: Remove CanalPlus(Finder|Updater|Downloader) and integrate the new MyCanal(Finder|Updater|Extractor) (059595e - #86)
  • mycanal: Support show without landing page (7ac582b)
  • mycanal: Support show which returns multiple items for a details query (d783d6c)
  • nav-bar: First integration of nav-bar in the new interface (d54ee12)
  • navbar: Modularize the navbar and improvement (fbbb942)
  • navbar: Use transclusion for the navbar (6e61c87)
  • navbar: Change the download Icon (7b56e80)
  • navbar: Always align right on navbar element (on min and max resolution) (780c2ca)
  • navbar.updater: Improve placement and remove of update spinner (723598d)
  • notification: Add a directive to enable notification instead specific in controller (adb3b37)
  • notification: Update angular-notification lib (4ac6f54)
  • package: Reorganize service package (bfa41cb)
  • parleys: Limit to free presentation (2e9e2e3)
  • parleys: Remove parleys updater (8a10a22)
  • parsing: Introduction of parsing exception to follow health of system (8603e14)
  • play: Remove all link to direct item url and always use internal player (21515ea)
  • player: Add inside player (2159f4b)
  • player: Use multiple plugin to improve video player (5062ac0)
  • player: Add player and playlist to the global system (d593005)
  • player: Share button on player (40a2857)
  • player: Autohide disable if selected element is an audio type (0861dd6)
  • player: Controls correction position and fullscreen only on video sources (79beefa)
  • player: Add removeAll and Refresh (54b3210)
  • player: Hiding the controls on player only if device isn't a "Touch Device" (a133735)
  • player: Move to videogular 1.1.0 (aff8143)
  • player: Active auto-play in item player (12c4f3f)
  • player: Better design to controls of player (1ccf079)
  • player: Add Copy-Url button to video player (ea9425a)
  • player: Add a player above the app to allow to navigate during the media playing (a44d5d2)
  • player-inline: Add a link to the item in the inline player (ea77b44)
  • player.inline: Add an inline player (3c9f247 - #28)
  • player.inline: Add 'clear playlist' fucntionnality inside player-inline (23b0d6e)
  • player.inline: Add playlist management in inline player (d012eab - #28)
  • playlist: Remove element from playlist (f8b9b35)
  • playlist: Add entity and repository playlist (16f9c43)
  • playlist: Add method to add item to playlist (1c1a352)
  • playlist: Add method to remove from playlist if item is deleted (92afd0e)
  • playlist: Add business layer (7abdf4a)
  • playlist: Add controller layer (9504dfd)
  • playlist: Active lazy loading on item (7144a71)
  • playlist: Add restriction when item is in playlist, prevent deletion (27773e9)
  • playlist: Add entity and repository playlist (198c208)
  • playlist: Add method to add item to playlist (422dd00)
  • playlist: Add method to remove from playlist if item is deleted (7ee0da7)
  • playlist: Add business layer (ddbf837)
  • playlist: Add controller layer (0d7c503)
  • playlist: Active lazy loading on item (2556dcd)
  • playlist: Add restriction when item is in playlist, prevent deletion (47cea38)
  • podcast: Deletion of podcast remove files from disk if necessary (f708a5a)
  • podcast: Move podcast folder when name change (1c1d067)
  • podcast: Add list of podcasts in new gui (79db4fe)
  • podcast: Show very simple page for podcast (e41be58)
  • podcast: Add interaction button on the new UI to 'go back' and access RSS | Refresh (fffe761)
  • podcast: Show items inside a podcast (f34a140)
  • podcast: Add a back button (1aba468)
  • podcast.cover: Add an endpoint to serve cover (5aa3e89 - #49)
  • podcast.cover: Better background in html (c1346a9 - #49)
  • podcast.creation: Add the auto-save of the cover in the podcast directory (f8d29c6)
  • podcast.creation: Add the auto-discover mode (48b1814 - #14)
  • podcast.creation: Auto-discovering implemented on Youtube Podcast (74be97a - #14)
  • podcast.creation: Re-arrange template for mobile display (1a37ff9)
  • podcast.creation: Get podcast supported type by API rather than hard coded (885315d)
  • podcast.details: Remove update button if the podcast is not updatable (c00b958)
  • podcast.details: Remove url field for send podcast (4e6f570)
  • podcast.details.edition: Remove the possibility to change the type of a podcast (510b0f5)
  • podcast.details.stats: Can navigate through data-viz (609623b)
  • podcast.details.upload: Update item list after uploading file (0ab51fe)
  • podcast.details.upload: Upgrade the library of upload (08c109f)
  • podcast.episodes: Reloading of page when deletion of item (e2edc9d)
  • podcast.home: Define title of webapp (13c2935)
  • podcast.list: Use one-time binding to preserve perf (f85b3c1)
  • podcast.list: Use list of type from server instead hardcoded (42986ea)
  • podcast.list: Reduce space between each Podcast in the grid (a5880fe)
  • podcast.rss: Limit by default the number of result of the rss to improve perf (42013b2)
  • podcast.rss: Use %20 instead ' ' in url (b7166f8)
  • podcast.stat: Add Stats for individual podcast (b09f3c7 - #13)
  • podcast.stats: Update beahviour of stats controller (adc5c3f)
  • podcast.stats: Update stats generation (3addfef)
  • podcasts: Use $sessionStorage to save the last filters used in the screen (89ac6e8)
  • podcasts: Add button to clear the input of filter in podcasts view (0c2cd35)
  • podcasts: Simplify view around podcasts to show more information (93360c3)
  • podcasts: Provide a simple implementation of opml link (15c7458 - #87)
  • podcasts.list: Search engine on podcast list (87a3131)
  • properties: Add application properties example for external use (a25b5e3)
  • properties: Add application.yml example file (348d5f6 - #10)
  • properties: Add default properties for application.yml (2018ce1)
  • properties: Allow param the time to leave of a cover on file disk (0bf0ca3)
  • retry: Support retry for download (c0b5fde)
  • router: Add routing to sub-component (7c6e0fc)
  • rss: Add thumbnail and length to rss generation (08c5eb4)
  • rss: The name of the server is resolved directly by the incoming request (2bc8596)
  • search: Remove the reinitialisation of the search engine (5fe7059)
  • search: Implement first page of the app (03ab4b1)
  • search: Add new front search module (f7c7db1)
  • search: Support page parameters in query params (9357145)
  • search: Show items (38a361f)
  • search: Move to ngrx and implement the search (cac3975)
  • search: Limit size of covers to 263px (5259859)
  • serve: Use internal ByteRangeResourceHandler and allow to have simplified name of item in url instead of "download.ext" (c896b21)
  • side-nav: Close side-nav when navigation is triggered (70faf10)
  • sidebar: Access all routes with side-nav instead of toolbar (e780a1a)
  • signature: Use auto-closeable for Stream (b6caff6)
  • spring.boot: Integration of the branch about Spring Boot (dce5981)
  • stats: Add multiple stats on dedicated part (306eb9b)
  • stats.byType: Generate stats by type (c602c04 - #12)
  • status: Transform string status into static enum (6a5b5aa - #18)
  • tf1replay: Support TF1 Replay (3cda3fb)
  • transaction: Isolation between transaction to prevent phantom / uncommited read (0565365)
  • transaction.isolation: Use CustomDialect for Transaction isolation (377cfcb)
  • update: Show a better message if nothing happend or if error occurs (6ab1aac)
  • updater: Add the updater for the new version of jeuxvideo.com (ebf0a17)
  • updater: Use lambda predicate to add some logic around the deduplication (4b36a01)
  • updater: Use as singleton instead prototype (8d08c3e)
  • updater: Use Type-Safe updater selector to avoid hazardous String manipulation (2c972ce)
  • updater: Associate a type to each updater (636dadc)
  • updater.canal+: Add the tabs updater (0dd6a3e)
  • updater.canal+: Can sync with url containing nbPlusVideos greater than 1 (08d8dec)
  • updater.canalplus: Remove uncessary '?null=' url parameters causing duplicate (1ec9e1e)
  • updater.notification: Add in the navbar a notification to show the updating procedure (5926374)
  • updater.send: Fake implemenation to provide a way to handle this type of podcast in the whole application (3c57ce2)
  • updater.youtube: Move to RSS youtube updater instead old GDATA API V2 depracated (016c3a6)
  • updater.youtube: Add support of API call of Youtube (f8e18d8 - #21)
  • updater.youtube: Fetch all the item not already present instead last 50 (58b2392)
  • url.connection: Increase the connection time to read a stream for http (c2a8a5e)
  • watchList: Add all the front-end part (3c2cb4e - #32)
  • watchlist: Allow to subscribe to a watchlist as rss (3c499ec)
  • websocket: Simplification of the websocket service (f99d61c)
  • ws: Update angularStompDk library (b4abe75)
  • youtube: Update vget framework (b3849eb)
  • youtube.signature: Generate signature from whole response instead part of (a1114e2)
  • youtube.updater: Compatibility with youtube playlist feed (b05ed25)

Bug Fixes

  • 6play: Remove prefix from compatibility method to avoid problem when system will support https (a8a0f98)
  • 6play: Align to new code organisation of 6play (032a938)
  • 6play: Align to the new data organisation (291b9c1)
  • 6play: Support new format of global page and allow to download sd3 videos (c93b606)
  • 6play: Adapt to new layout of data on 6play vod (86ce830)
  • 6play: Don't use video with drm (6f6ef62)
  • 6play: Change due to modification of the images system on 6play (159939e)
  • 6play: Support playlist without any m3u8 with ffmpegDownloader (f6fb75d)
  • 6play: Handle token when working with 6play videos (25c83c9)
  • Gulli: Don't throw exception if no episode are available (ff662fe)
  • ImageUtils: Close a stream after an error (05733db)
  • ItemDownloadManager: Associate item to downloader at launch (8813b7d)
  • ItemDownloadManager: Fix association of item with downloader at launch (e3f562f)
  • TF1Replay: Add only element of type replay or vidéo (ea0fb89)
  • TF1Replay: Change the separator to prevent splitting string in wrong place (6f563d5)
  • WatchList: Rename class due to problem in sensitive case (7b0d561)
  • actuator: Remove security around enpoints (3af8466)
  • backend.config: Remove duplicate annotation about async config (3764280)
  • backend.viewresolver: Resolve to index instead forward to avoid infinite redirection loop (52a0ba4)
  • backup: Add enabled parameter in properties and show log when doing a backup (baeadac)
  • beInSport: Update support of the new architecture of BeInSport source (7282691)
  • beInSport: Modification link to beInSport new website (3be85c8)
  • beInSport: Test modification (52f7808)
  • beInSport: Modification link to beInSport new website (226b9c1)
  • beinsport: Use dailymotion direct url instead of specific stream (8bbc9c9 - #71 - #66)
  • beinsports: Selector by class for signature (3b02df6)
  • breadcrumb: Remove useless space (c1eba4c)
  • build: Correction of the double rename function (221929d)
  • build: Modify the package name due to case problem (fd21e53)
  • build: Investigation on coveralls.io submitting (c356c4f)
  • build: Remove -X from build (a730ce6)
  • build: Remove mangle to preserve controller name (2508fe2)
  • build: Remove wrong import (3a51e0c)
  • build: Add a .keep file to let the folder static in place after git operations (1bc6879)
  • build.frontend: Use cache-bust with location path (606e91a)
  • canalplus: Handle case where there is no podcast behind an url (0d1aac0)
  • common.copy: Remove console.log from component (22e3ad9)
  • common.item-menu: Design modification (2f86e7f)
  • conf: Add mvc attribute as default (79a85d9)
  • config: Modify linting (2534038)
  • config: Remove key which causes error by default (2ca5cde)
  • controller: Change type of return of podcast id (c7811ef)
  • copy: Add ngInject for this controller (2cd5093)
  • cover: Don't load image if 404 (fc66aa2)
  • cover: Use null cover instead of default one (19bf415)
  • cover: Return null instead default cover when error (0d6ef50)
  • cover: Handle case where item doesn't have any cover when deleting old elements (145d857)
  • cover: Use object-fit: cover; to keep the ratio of the cover in episodes component (52aaf47)
  • creation: Use placeholder hosted on https server preventing the mixed content (7031104)
  • dailymotion: Fix change in reading of config (c7a8eb6)
  • dataService: Correction in method affectation (82bf524)
  • date: Remove useless test file (870410f)
  • delete: Don't delete cover if the item doesn't have cover and use the parent cover (e2720ad)
  • dep: Relocate the HttpModule import (2463b54)
  • dep: Exclude old guava version (09b00ee)
  • dependency: Externalize configuration of FullTextSearch (4e0ee70)
  • depracated: Remove deprecated method (e455092)
  • docker: Remove useless parameter in dockerfile (de657be)
  • docker: Fix env variables in docker file (a120d10)
  • docker: Define env variables to easily access file generated by the application (7e4eb54)
  • download: Problem when we try to stop a download from the UI (with WebSocket). (2c03618)
  • downloadManager: Restart all podcast in parallele (5ec29c5)
  • downloadManager: Use Rx.ReplaySubject with 0 buffer (4d70726)
  • downloader: Remove get http parameter of filename downloaded (53dda74)
  • downloader: Correction on naming final Download (ee8bf13)
  • downloader: Out of bound string manipulation in getTargertFile (b52199b)
  • downloader: Ask for a new instance each time (27a8bb3)
  • downloader: Change the method of download behind dailymotion (4c1d867)
  • downloader.http: Correction on temporary file name (10b0a10)
  • downloader.restartAll: Change controller url to restart all download (9314f0a)
  • downloader.youtube: Revert to previous version of axet/vget for incompatibility issues (4ff9f4e)
  • downloader.youtube: Catch exception linked to error of signature in axet.vget (c704012)
  • entity: Modify equality (850b162)
  • entity: Use lombok to generate boilerplate code (814edb1)
  • facade: Expand testing (320653a)
  • facade.SearchItemPageRequestWrapper: Change name of setter (f32bb65)
  • factory.wgethelper: Change case of name (44b2a43)
  • factory.wgethelper: Change case of name (30c885e)
  • ffmpeg: Correction about name with quote in concat ffmpeg action (2b86a7e)
  • ffmpeg: Align syntax of concatenation on the ffmpeg 2 and 3 version (c5f6fca - #68)
  • ffmpeg: Wrap probe operation inside a CompletableFuture in order to limit the duration of this operation (to 60 seconds for now) (55fc5e1 - #85)
  • fields: Change name of column in test database (9ecaf90)
  • finder.rss: Change case of classname (c15e2f6)
  • finder.tf1: Support protocol-less url for cover (726280c)
  • folder: Fix test around parameters (7efb69a)
  • fonts: Fix version of fa (17bde72)
  • front.dataService: Modify a put method into patch to fix a behavior (731e1a2)
  • front.podcasts: Correct tooltips (6a28bfc)
  • frontend: Remove unused module from experimentation in compiled js files (83c143f)
  • frontend: Use decorator to register module to improve minification (6fb1017)
  • frontend: Change name of service (de90bb0)
  • frontend: Import css of videogular (5535f7d)
  • frontend: Change a text to english (660205a)
  • frontend: Change dependency to retrieve the css of Angular-hotkeys (cf7539d)
  • frontend: Fixing the dependency version of highcharts and add override (0e8c5f0)
  • frontend: Fixing the dependency version of highcharts and add override (d3361b4)
  • frontend: Fixing the dependency version of highcharts and add override (3bbffb5)
  • frontend: Add ngInject to execute DI (c42a97d)
  • frontend.creation: Modification of creation podcast IHM (11521d0)
  • frontend.dependency: Optimize import of HightChart (6c7b034 - #33)
  • frontend.icon: Change on the 'more' button, to use a bigger one (78a047f)
  • frontend.item-menu.download: Solve bug when trying to download (b07b54f)
  • frontend.itemService: Add dependency (486196f)
  • frontend.notification: Catch exception if notification can't be raised (cf426bd)
  • frontend.route: Bad redirection following the hashbang removal (ef8b8a6)
  • frontend.route: Correct target on root application (a7de8c0)
  • frontend.stats: Show yAxis title instead of default title (6c839a6)
  • gulli: Better filter on script tag (eea12bc)
  • hotkey: Correction of hotkey in podcast details (146e369 - #11)
  • http.accept-range: Log to debug the multiPartFileSender (d927d9b)
  • icon: Change the "more" icon to reflect modification of ionicons (a4a3714)
  • item: Reset remove the fileName (4892263)
  • item: Remove unicity of url (24f7344)
  • item: Add unicity constraint on url in database and reflect it on the equals / hascode of object (41bd17d)
  • item: Should have a title for each item (6efc0ef)
  • item: Return unknown mimetype if the value is null (3feaecf)
  • item.cover: Use background-size:cover to enlarge the picture inside the div (67a1285)
  • item.details: Layout correction (a06e4a0)
  • item.details: Add a filter to remove incorrect html tag / attribues (354843a)
  • item.details: Add two-way bindings on url of item (02de605)
  • item.player: Show hour in elapseTime and remaining time (eded276)
  • item.predicate: Remove unused specification java file (19d3cc3)
  • item.repository: Fix case on package (47fa17f)
  • item.search: Search by item only fixed (15c7bb4)
  • item.search: Case on search order (5c0d553)
  • item.search: Correction on lucene search (d9007e7)
  • item.search: Correction on lucene search (73d85c3)
  • item.search: Modified pageRequestFacade (77644ae)
  • item.search: Correction on behaviour of ng-tags-input (f006f8f)
  • item.specification: Modification on the specification HasStatus (2bf6090)
  • item.update: Use a spring spring thread executor to prevent shutdown sequence to fail (9f9fcf5)
  • item.upload: Correction of charset use during upload to work with european specials charaters (7b69013)
  • item.upload: Remove the conversion to utf8, the format is already utf8 (90afa51)
  • itemDownloadManager: Stop all remove all download list and queue. Now just the downloading list (266c541)
  • itemDownloadManager: Stop all remove all download list and queue. Now just the downloading list (1f454ee)
  • items.search: Swype-page correction when not on the first page (link to cache value) (c45aef3)
  • jpa: Fix test with database and jadira mapping type (9ada2fc)
  • jshint: Turn on jshint check on js code (8c761f0)
  • jspm: Fix jspm version to prevent build fail (71b79e8)
  • link: Use relative link instead root absolute link (/xxx/yyy --> xxx/yyy) (59f340c)
  • log: Usage of variable in logback failed (03992bc)
  • m6: Support elements without any date. (42bf084)
  • multiPartFile: Relativize reader position in multipart case (56aaa4b - #74)
  • multipart: Change configuration to support large file on multipart (35e19b8)
  • navbar: Revert some css style for media-* in bootstrap 3.3 to allow text-overflow inside media-heading (ab4ae89)
  • navbar: Prevent the rendering of elements in navbar before angular cycle. (741445e)
  • navbar: Correction on resolution of 768 pixel width (764c711)
  • navbar: Correction on padding not available when in small resolution (568c416)
  • navbar: Correction on resolution of 768 pixel width (7ff1dd1)
  • noop: Add some logic to noop downloader (b17223e)
  • noop: NPE when run method was triggered (5afaf50)
  • notification: Correction of multiple notification (293584c)
  • notification: Update to angular-notification 1.0.1 to enable requestPermission (6a35bb1)
  • outputLogger: Remove test of non existent class (32ded93)
  • parleys: Evict some NPE on item without thumbs (f110c4f)
  • pass-through: Element which doesn't require extractor was incorrectly created, so only the NO_OP downloader will be triggered (12ca66c)
  • player: Background color transparency (6dccac0)
  • player: Modification of logic around playlist to fix enlightenment of current video played (1b834d4)
  • player: Allow access to mimetype in any view to prevent reading problem in global player (a6d78d1)
  • player: Show hour in elapseTime and remaining time (a797148)
  • player: Ratio of images in playlist (792fec7)
  • player: Show the list of watchLists at load of player (d050bcf)
  • player-inline: Design correction on vg-scrub-bar-current-time (c0946b8)
  • player.inline: Remove auto-repeat the whole playlist (d34e851)
  • playlist: Add empty Sets at init of item (35f0ec2)
  • playlist: Add empty Sets at init of item (f88da4c)
  • pluzz: Modification of pluzz updater (68a2599)
  • pluzz: Correct problem of subscription returning only one element instead of collection (61af51d)
  • pluzz: Correct format on pluzzItem title to avoid separator of... nothing (292b41d)
  • podcast: Change the test about hashcode (5bcaf2d)
  • podcast: Return podcast when changing signature (88c33e5)
  • podcast: Correction on test (3efa9b6)
  • podcast.cover: Add Business service forgotten from previous commit... (f8129a0)
  • podcast.cover: Re-organize creation of podcast to avoid url of NPE in download cover (a9cddd9)
  • podcast.creation: Add auto-discovering creation js files, linked to #14 (2d4d4b7 - #14)
  • podcast.creation: Position of "Suppression automatique" (5b44f81)
  • podcast.details: Change name of directive to follow changelog of ui.bootstrap (3e7a864)
  • podcast.details.episodes: Fixing orders of items in details (1833c4a)
  • podcast.details.stats: Reflow the chart to have the correct width (0938d6b)
  • podcast.details.upload: Use flex alignement to center text inside drop-box (6568220)
  • podcast.edition: Remove keyboard shortcut to prevent error during field filling (30d1780)
  • podcast.edition: Position of "Suppression automatique" (ab2cd22)
  • podcast.edition: IsUpdatable always returned true (9e2efe6)
  • podcast.edition.cover: Empty url instead of modified url (4303739)
  • podcast.episode: Correction on toogle episode (download / stop / pause) (62b41de)
  • podcast.episodes: Regression with "Read on line" feature (82a65e8)
  • podcast.episodes: Correction on episode link (70c3f8a)
  • podcast.episodes: Correction on behavior of pagination (9bb979c)
  • podcast.item.upload: Re-active upload multiple (b87ace8)
  • podcast.list: Static size of podcast cover (6c676be)
  • podcast.rss: Remove useless itunes:cover in podcast RSS (c68e2c1)
  • podcast.rss: Correction on server-url properties (a895abc)
  • podcast.stats: Correction on affectation of value after changing number of month (4609b6c)
  • podcast.update: Don't update podcast if signature failed (5422980 - #16)
  • podcast.update: Modification of the jdom method to parse the stream with a timeOut (82a059c - #16)
  • podcast.update: Fail-fast when attaching item (b3b995c)
  • podcast.update: Roll-back to SaxBuilder build in non-static way because the org.java.sax isn't ThreadSafe (ff1acc4)
  • podcastServerConfig: Conf server against environement (f07e99c)
  • podcastServerConfig: Move to @Service configured by @Value annotation (14d9f0d)
  • podcastServerConfig: Remove an @Value annotation in config (65faaf4)
  • podcastServerConfig: Default value corrected for tomcat env (594e2eb)
  • podcasts: Change name of page when accessing podcasts (c415bfb)
  • podcasts: List of podcasts already have the correct cover size even before loading the image (f3c00bd)
  • podcasts: Correction on misused selector which should change the design of the podcasts__results img (f1e2d65)
  • podcasts.list: Expose podcast type to list view (4605cd9)
  • pom.dependency: Add PowerMock dependency (c30c013)
  • properties: Remove block duplication in default value for properties (fc22db2)
  • properties: Modify converters to return Path from string (cfb4178)
  • queryDSL: Delete old item by downloaddate instead pubdate... (acb82bd)
  • route: Remove hashbang from hotkeys redirection (6220c7b)
  • route: Remove an unused route shortcut in frontend (844f04c)
  • rss: Handle specials characters in image URL (561538f)
  • rss: Support PST/PDT format of date when parsing (b5fd6a6)
  • rss: Handle EDT time format (c5bdf61 - #79)
  • scheduler: Snake case modification on scheduler properties (cc891d7)
  • search: Remove debugger from js (a36c080)
  • search: Remove debugger from js (4a25c5a)
  • search: Attach AngularStompDK to destroy of $scope (51eda0d)
  • search: Retrieve all the not download items (b6df6db)
  • search: Handle request with empty order (b0f3eff)
  • search: Change default value for status (b85aa65)
  • search: Reload data from the resolver (95debe3)
  • search: Correction on field to long to fit in list of filter (12435e9)
  • serve: Remove useless dependency (72fb285)
  • service.m3u8resolver: Handle m3u8 relative url (9c5e851)
  • service.m3u8resolver: Handle m3u8 relative url (f6feb8f)
  • signature: Set signature to empty if no item where found, forcing next update to be executed (1a8b955 - #42)
  • static: Force empty folder to stay (96472ed)
  • static: Add empty file (85c4ad6)
  • stats: Change visibility of attribute and add annotation on fluent getter (e225e7c)
  • stats: Allways keep the same order fot the stats item (55552ca)
  • stats: Use date in ISO8601 instead of timestamp in micro-seconds (d007ca9)
  • stats.model: Add annotation to serialize to JSON (afa1896)
  • streamer: Rename a class file (f5ab233)
  • test: Change server start method to prevent error during build due to concurrent execution (d15bd15)
  • test: Remove useless phantom-js from test and dev dep (eeb3d8b)
  • test: Arrange behavior of test location file to avoid collision when same filename is used and not wanted (310ebfb)
  • test: Correction of tests about rtmpdump (5e72fd9)
  • tf1: Handle absolute and relative link (fdcb6b2)
  • tf1replay: Support new system on tf1 replay (833dce6)
  • tf1replay: Update Updater to align with new web-ui of tf1 replay (492720e)
  • tf1replay: Remove query parameter before extracting id (f9245b2)
  • update: Change the route to update update/force update the list of items (7ff080e - #64)
  • updater: Correction on the updater process (e12f362)
  • updater: Timeout on connection when reading for digest (a39fca2)
  • updater: Remove JPA manipulation in multiple thread to avoid non Thread-Safe operation with hibernate (bf4aa42)
  • updater: Type in attribute value (9733016)
  • updater: Change signature of constructor (1a13598)
  • updater: When a Future expire, remove it from the executor (67f6c72)
  • updater: Handle lack of thumbnail in YoutubeUpdater (301f870)
  • updater: Doesn't print error message when a podcast is not updated (0b496c3)
  • updater.beinsports: Modification to support new organisation since December 17 2015. (26fa4d1 - #50)
  • updater.beinsports: Support of protocol modification in url of dailymotion (f3ab3e5)
  • updater.beinsports: Modificat (c5db8c4)
  • updater.beinsports: Modificat (06fe50b)
  • updater.canal+: Add precision on identification type of page (928085a)
  • updater.canal+: Changing the title of the episode only if they all have the same name (73f952b)
  • updater.canal+: Remove the double affectation in RSS stream (d944898)
  • updater.canal+: Simplification of the updater of canal+ updater (1cc9696)
  • updater.canalplus: Handle case of page with tabs (7c7b1da - #58)
  • updater.gulli: Support new organisation of gulli page (204ddd8 - #76)
  • updater.jeuxvideocom: Get correct url for cover (5b011f9)
  • updater.pluzz: Handle duplicity of items (3860f75)
  • updater.rss: Handle wrong date parsing (9bd9ed9)
  • updater.rss: Expand testing with mock imageService (8dd2f19)
  • updater.send: Correction of update process to use the auto-config (9b4fcd1)
  • updater.youtube: Modification to handle the deprecation of Youtube API v2, waiting to implement the RSS version of youtube Updater (8c64e1e)
  • updater.youtube: Change youtube finder to retrieve by HTML parsing instead gdata v2 obsolete (31cbdf0)
  • updater.youtube: Generate signature only on list of id (instead of whole rss) (89d8910 - #46)
  • updater.youtube: Modify a constraints to avoid to fetch all the elements instead all the required (169871a)
  • updater.youtube: Modify logic around updater (2ce8333)
  • updating: Modify animation to be browser agnostic (cd8d0cc)
  • upload: Show old 'send' panel for upload podcast (ca4093c)
  • upload: Change validity check on item about upload item (2261e82)
  • urlService: When an url was relative after a redirection, this cause podcast download error (00d52a9)
  • urlService: Fix bug on relativisation of url (e5df7a6)
  • utils.imageService: Add image for testing (6521f55)
  • utils.mimetypeService: Use of simpler file to allow system-wide analysis (5eca27a)
  • utils.workerService: Add the forgotten class (ac87ac5)
  • watchlist: Add "ngInject" to prevent error due to minification (02b50f6)
  • watchlist: Order playlist in GUI by name instead chaotic order (38577b7)
  • worker.m3u8: Modification of name generation in case of duplicate (e2b77a6)
  • workerService: Correct name of method (98b82e6)
  • workerService: Correct name of method (caac40d)
  • youtube: Always use https url (f0888ae)
  • youtube: Handle DownloadFatal generated by axet/vget (85b3c87)
  • youtube: Call reset download if a problem occur during ffmpeg processing (814a0e9)

Performance

  • component: Use a component companion to allow the un-subscription from observable (cdc5606)
  • database: Execute a defrag operation every hour to prevent database overweight (1c4b5e4 - #72)
  • frontend.$http: Move from Restangular to native $http (935c5fe - #60)
  • frontend.$http: Move from Restangular to native $http (965388d - #60)
  • frontend.$http: Move from Restangular to native $http (c8f27c6 - #60)
  • frontend.$http: Move from Restangular to native $http (8c71d86 - #60)
  • gulli: Remove useless mapping from Option::of to prevent NPE, because this couldn't happen. (0c499d2)
  • item.details: Reduce number of watchers in items.details view (c3fda42)
  • item.search: Optimization by searching only on downloaded items (808047c)
  • json: Use the same object mapper defined by system instead creating new one (4a01852)
  • player-inline: Remove usage of lodash (b8d22c4)
  • player-inline: Remove usage of lodash (f2c44d0)
  • podcasts: Use one-way binding in template (eb67723)

Refactor

  • 6play: Use static method of JsonService for extraction of data from json (8397389)
  • 6play: Separate extractor logic from downloader logic for 6play (354ce23 - #86)
  • @ngrx: Use pipe-able operator select and ofType (1afe98c)
  • BeInSport: Use Option instead of Optional (b40267e)
  • CoverBusiness: Simplification of code and remove duplication (7e155c1)
  • Finder: Change visibility of dependencies (b3c1dc7)
  • IDM: Refactoring of method with JAVA 8 API (8141a8a)
  • IDM: Use executor and simplify code (c7aa302 - #70)
  • ItemBusiness: Use flatMap to reduce option instead of map|isDefined|get (5ac1a2d)
  • ItemDSL: Use import and option instead of ternary for null value (a145c2a)
  • JeuxVideoFr: Optimisation of already existing items (913bafe)
  • JsonService: Use static method to serialize object instead of doing it in caller method (5a70437)
  • MimeType: Simplify MimeType service (71b4931)
  • RSSFinder: Avoid null for cover url (7eec29f)
  • RestController: Use GetMapping (7755428)
  • TF1ReplayFinder: Use pattern matching to add scheme to url (134158b)
  • UUID: Change id from Integer/long to UUID (2489455 - #64)
  • UpdatePodcast: Refactor on UpdatePodcastController (be60653)
  • UpdatePodcast: Refactor on Updater (bfdc9b3)
  • YoutubeFinder: Use Option and functional pattern to simplify code (dbc9928)
  • angularStompDK: Refactor for jspm (9d0e033)
  • annotation: Remove @Autowired annotation useless in context of Spring 4.3+ (bb6a6a2)
  • api: Use plural for podcasts (ade87ec)
  • app: Use decorator to register @Module and @Boot app (c53f1b4)
  • assertions: Use static import instead of specific for each entity (f32b710)
  • authorize-notification: Refactor for jspm (8bb713c)
  • backend.redirection: Rename of the main backend controller to enable 302 redirection (b15481c)
  • beInSports: Simplify extractor (1afa3eb)
  • build: Remove useless dependency from package.json (e4729b2)
  • business.package: Move business in specific package to prevent having everything in the same folder (b8d7cb0)
  • business.tag: Reatach now fetch tag or create it if not existing instead of delegation to the JPA cascade operation (d0c12ab)
  • business.update: Change package to be more precise (aa54d26)
  • business.watchList: Refactor to use lombok for constructor (e5c306e)
  • collection: Remove usage of com.google.common.collection (b366a02)
  • component: Modification of the component companion to return a closure instead of a value. (518a583)
  • componentCompanion: Instantiation of the component at class level instead of inside the ngOnInit (b30530f)
  • config: Change to use es6 syntax (36dc575)
  • config: Simplify the database configuration (9b91bda)
  • config.h2.servletRegistration: Re-organize bean definition to fit convention and logic (8db124d)
  • constructor: Remove @Autowired on constructor to use default behavior of spring (8b87a29)
  • controller: Remove deserialisation of items in podcast (5981933)
  • controller: Use lombok for declaring constructor (5bf6cc8)
  • controller: Use constructor for di (828c887)
  • controller: Use di by contructor in task controller (14871c8)
  • controller: Use di with constructor (c79a9a0)
  • controller: Use SpringMVC annotation for mapping (4fa25a8)
  • controller.itemSearch: Refactor to use lombok for constructor (5d1306f)
  • core: Remove useless interface in app.component (2d3733d)
  • cover: Remove usage of wrong constructor (65c65f1)
  • cover: Remove usage of default constructor and use builder instead (2746bef)
  • cover: Remove usage of default constructor and use builder instead (b69a166)
  • cover: Remove usage of default constructor and use builder instead (869eb77)
  • cover: Remove usage of default constructor and use builder instead (763f5b8)
  • cover: Remove usage of default constructor and use builder instead (eb803d0)
  • cover: Remove usage of default constructor and use builder instead (c75cbd7)
  • cover: Remove usage of default constructor and use builder instead (6a93d70)
  • cover: Remove usage of Cover constructor and use builder instead (3510d21)
  • cover: Remove all usage of cover constructor, prefer builder (e468928)
  • cover: Use Try monad and remove duplication of code (488553e)
  • creation: Remove front method witch resolves the type of podcast (d93b7c0)
  • data: Move IdExtractor to use it as static inner class (8a76078)
  • database: Enable transaction management by annotation (4d913e4)
  • database: Change visibility of dependencies (8146de0)
  • dataservice: Change to use es6 syntax (54405d8)
  • dataservice.item: Change to use es6 syntax (4a623a7)
  • dataservice.podcast: Change to use es6 syntax (1e47d6a)
  • dataservice.tags: Change to use es6 syntax (dfd7de6)
  • dataservice.update: Change to use es6 syntax (2ffd63e)
  • decorator: Use direct registration of controller in decorator (b8daa37)
  • decorator: Use decorator to register define element (bf803a8)
  • device-detection: Change to use es6 syntax (fe80d87)
  • di: Use annotation to define constructor (5a5d98a)
  • di: Remove @Autowired annotation (51e9d83)
  • download: Use es6 syntax (6c5f6fb)
  • download: Externalize WsManager (9ede189)
  • download: Refactor download module (a889fe7 - #33)
  • download: Reduce use of two-way binding (7c02b68 - #40)
  • download.waitingqueue: Simplify the calculation of the reordering (211f48d)
  • downloader: Remove localURI and localURL stored in DB (c5e538e)
  • downloader: Rename a value (eb4b06c)
  • downloader: Use setter to give a reference to the IDM for each Downloader (40bcfa3)
  • downloader: Use lombok @Slf4J logger instead of creating it (2a848b4)
  • downloader: Use DI constructor instead of field injection (1163bcc)
  • downloader: Use Lazy computation to getUrl instead of using temp value (84ad6c9)
  • downloader: Use Lazy computation to getUrl instead of using temp value (23c55ff)
  • downloader: Use Lazy computation to getUrl instead of using temp value (33dc335)
  • downloader: Use Lazy computation to getUrl instead of using temp value (25cc444)
  • downloader: Use Lazy computation to getUrl instead of using temp value (cc110bf)
  • downloader: Use Downloading item instead of url to select the best match downloader (8271168)
  • downloader.http: Externalize downloader logic in a Watcher (af5bad2)
  • downloader.http: Externalize downloader logic in a Watcher (c50d3d4)
  • downloader.http: Extract specific element to httpDownloader test and standard to AbstractDownloader Test (d5f1c87)
  • downloader.m3u8: Externalize downloader logic in a Watcher (f571473)
  • downloader.m3u8: Externalize downloader logic in a Watcher (7dca972)
  • dsl: Change visibility of method (e51c4fd)
  • entity: Rename methods (9221bd2)
  • entity: Reduce boilerplate code and use lombok to generate Getter | Setter & Co (552bdec)
  • entity.status: Change visibility of Status constructor (bada048)
  • env: Use env files to host specificity about application (cd844ed)
  • es6: Move to es6 syntax with babel plugin (bc83ab3)
  • exception: Remove method in idm in favor of podcastParameters (204a3be)
  • extractor: Provide a pipeline able to extract data before download (e470b5d - #86)
  • extractor: Expand the logic around extractor (09043cd - #86)
  • facade: Make SearchFacade compatible with hashcode and equals (169ab4b)
  • facade.SearchItemPageRequestWrapper: Use getter and setter from lombok project to simplify code (87b35be)
  • factory.wget: Rename module to factory and expand testing (0376d86)
  • factory.wget: Rename module to factory and expand testing (a4ae9cf)
  • factory.wget: Remove wgetHelper to use wgetFactory (cd74916)
  • factory.wget: Remove useless code (d8d764c)
  • ffmpeg: Turning Static method in Spring Service (13ef50c)
  • ffmpegService: Use Try monad and remove duplication of code (81d99ba)
  • fields: Change mimetype to mimeType and pubdate to pubDate (40205da)
  • finder: Simplify code of of finder selector (f764446)
  • fonts: Inclusion of fonts in the project in /fonts (0593e0f)
  • fonts: Injection of ionicons and font-awesome (b3f05b3)
  • form.movingItemInQueue: Reduce code with lombok (a5881ad)
  • front: Mode files from public to www (7cfb7a9)
  • front: Add phantomJs as headless browser (65e79be)
  • front: Re-organize folders to match to functional behavior (5b40be3)
  • front: Move to the lib @davinkevin/companion-component (1432bee)
  • front: Move to node 9.6.1 and yarn 1.3.2 (4e43143)
  • front.$inject: Add ngInject in every function requiring it (e4f6a08)
  • frontend: Refactor all the front-end (8d4b0b3)
  • frontend: Full reorganisation of front-end to simplify devs (4c9f40e - #33)
  • frontend: Remove files (febaf8c - #33)
  • frontend: Simplify gitignore (54c59ac - #33)
  • frontend: Full reorganisation of front-end to simplify devs (c1a7d07 - #33)
  • frontend: Use of @nnotation in most of module to reduce boilerplate code (5ce2e8f)
  • frontend: Move all front-end to www folder (53cb9ee)
  • frontend: Switch to class UpdateService (626a193)
  • frontend: Integrate modification on decorators (13bc31b)
  • frontend: Move service module to annotation (49812a2)
  • frontend: Move service module to annotation (9bbf1c9)
  • frontend: Move service module to annotation (d916058)
  • frontend: Move service module to annotation (a74e4ec)
  • frontend: Move service module to annotation (df2e1bc)
  • frontend: Move service module to annotation (ebc121f)
  • frontend: Move config to module annotation (defb371)
  • frontend: Move config module to annotation (a321343)
  • frontend: Move config module to annotation (d1ce070)
  • frontend: Move config module to annotation (d793925)
  • frontend: Move config module to annotation (95bddb9)
  • frontend: Move config module to annotation (1e306c6)
  • frontend.component: Turn all element as an AngularJs component (9326f22)
  • gulli: Move extractor logic out of the downloader (fe0b94e - #86)
  • gulliDownloader: Move to Option for url in downloader (efa7ef6)
  • home: Remove all useless feature from 'root' component (3e8c2a7)
  • hotkeys: Use global definition in run method (957b197)
  • idm: Use javaslang to manage collection in idm (c8daf36)
  • idm.pool: Filter add of item verifying queue and downloading queue (b2c02d6)
  • imageUtils: Remove stacktrace from imageUtils (29a3f3a)
  • import: Use alias for relative path (19f6e8b)
  • indexation: Use lombok annotation to reduce boilerplate code (5637f1b)
  • integration: Remove all integration test (8aaaa90)
  • item: Implemetation of queryDSL instead of Specification (138c5b1)
  • item: Modification of itemBusines / itemSpec (bf019d6)
  • item: Remove duplicate code to generate item URI (451a645)
  • item: Refactor item module (6ff5192 - #33)
  • item: Use immutable structure to handle items (e233e45)
  • item: Use option instead of ternary operator (bf8eee8)
  • item: Use Objects.equals method to simplify code (0efa923)
  • item: Remove inline player in order to integrate it in an external outlet (865316e)
  • item: Read from the store instead of from the router (1e4654c)
  • item-menu: Reduce use of two-way binding (4510963 - #40)
  • item.details: Refactor item details page (fef3b43 - #33)
  • item.menu: Unify item menu with component (97f2682 - #47)
  • item.player: Refactor item player page (398674c - #33)
  • item.player: Refactor item.player module (b8fd99c - #33)
  • item.search: Use es6 syntax (c9dd30d)
  • item.search: Rename some method to be more explicit (9295f87)
  • item.status: Remove String for status and replace it by ENUM (9818225 - #31)
  • item.status: Modification on CASE of status in order to use ENUM (f7a6de5 - #31)
  • itemRepository.indexation: Modifiy fullIndexer creation (d97d9c1)
  • jdom: Using constant to namespace variable (ce65261)
  • jdomService: Turn jDomUtils into a real Spring Singleton / Service (529ae38)
  • jdomService: Change visibility of dependencies (5b49314)
  • json: Move from Json Simple to Jayway (a00a9ad)
  • json: Move object mapper to config instead having a specific Service for it (71b1be5)
  • jspm: Injection of linear dependency of HighCharts (fbea341)
  • less: Specify a namespace for the app to override bootstrap and other framework class (da99a4e)
  • lib: Update @angular/material to v5.0.0-rc0 (a3a9224)
  • lib: Update to ngrx 4.1 (64a9f8f)
  • lint: Fix linting issue (8685653)
  • lint: Change code to respect lint constraints (4be340d)
  • lint: Remove all unused import and add lint operation (bda8789)
  • log: Use log format to improve readability (e06fe07)
  • lombok: Use annotation to create constructor in POJO (312d03a)
  • m3u8: Remove useless method in M3U8Downloader (da12bd1)
  • manager: Colocate all worker which are linked to the same backend (ea8a43c)
  • matcher: Use a new class to extract pattern from string (27ea50a)
  • matcher: Use more fluent api to be able to work with pattern and extractor (4a1383d)
  • matcher: Use MatcherExtractor at different place (e1d093b)
  • matcher: Use MatcherExtractor in pluzzUpdater (995d081)
  • matcher: Use MatcherExtractor in canalplusUpdater (bde4e21)
  • matcher: Use MatcherExtractor in GulliUpdater (2a6d25f)
  • matcher: Use MatcherExtractor in GulliDownloader (d11aa2f)
  • matcher: Use transform for result of groups() method (1539609)
  • migration: Remove limitation on endpoint for allow uuid (357d997)
  • mimeTypeService: Use javaslang type to handle computation of mime-type (d7c5089)
  • mixin: Use es6 syntax (b0fbce3)
  • mixins: Refactor for jspm (563961e)
  • navbar: Change to use es6 syntax (de1344d)
  • navbar: Refactor for jspm (1a09dde)
  • ngrx: Simplify stores modules (ae13c0a)
  • notification: Change to use es6 syntax (0984468)
  • package: Modification of package name (216ab22)
  • package: Inlining DateUtils (158822d)
  • parsing: Extend usage of exception to SixPlayUpdater (4740a8b)
  • path: Use Java 7 path instead of File (8a1c601 - #34)
  • patter: Use matcher extractor to instead of plain matcher / pattern (141cc24)
  • pattern: Use matcher extractor in DailymotionUpdater (39cc633)
  • player: Change to use es6 syntax (738e191)
  • player: Change to use es6 syntax (96ef243)
  • player: Remove useless code (d31cec3)
  • player: Change to use es6 syntax (70f2b72)
  • player: Change to use es6 syntax (620cdf8)
  • player: Change to use es6 syntax (da06d28)
  • player: Refactor player module (86b6987 - #33)
  • player: Use decorator (1cc1ac2)
  • player: Remove usage of lodash (572eb2d)
  • player: Remove usage of lodash (d4ca943)
  • player: Remove usage of lodash (4cf1c6a)
  • player-inline: Refactor player-inline module (a33b814 - #33)
  • player-inline: Reduce use of two-way binding (a50d7ab - #40)
  • podcast: Use immutable structure to search for podcast by url not null and update (9254796)
  • podcast: Remove useless method (73ce196)
  • podcast: Add button about edit and stats in podcast (46eef30)
  • podcast: Remove back action in component which was unused (fa89b12)
  • podcast.creation: Default podcast pass to constant instead hard-coded in controller (6bab3bd)
  • podcast.creation: Default podcast pass to constant instead hard-coded in controller (5877bc2)
  • podcast.creation: Use es6 syntax (efb3950)
  • podcast.creation: Refactor creation page (c76f8fa - #33)
  • podcast.details: Use es6 syntax (0da03ff)
  • podcast.details: Use es6 syntax (987c12c)
  • podcast.details: Use es6 syntax (fb8274e)
  • podcast.details: Refactor details page (d10b7f0 - #33)
  • podcast.details: Use decorator to define RouteConfig, HotKeys, View (80a4378)
  • podcast.details.episode: Refactor component (e625b7e - #33)
  • podcast.details.stats: Refactor stats component (afcb09a - #33)
  • podcast.details.upload: Moving to es6 syntax (e5e4065)
  • podcast.details.upload: Refactor upload component (98cc27c - #33)
  • podcast.edition: Linting the edition module (6b37d5a)
  • podcast.edition: Reduce use of two-way binding (77ffed4 - #40)
  • podcast.episode: Linting the episode module (4f3f3c0)
  • podcast.episodes: Use Restangular Native methods (b7c3108)
  • podcast.episodes: Extraction of communication in dataService (56a0a40)
  • podcast.episodes: Use proxyUrl instead of real external url (8c709da)
  • podcast.episodes: Reduce use of two-way binding (b267367 - #40)
  • podcast.episodes: Use standard get to request pagination (9ab551c)
  • podcast.items: Use standard url with plural in API and in web-app (494df85)
  • podcast.items: Use $sessionStorage to save last position in podcast episodes (c2c9c3d)
  • podcast.list: Use es6 syntax (d3c5574)
  • podcast.list: Use decorator to define RouteConfig, HotKeys, View (179cc0b)
  • podcast.update: Simplify code and logic around the save operation (cbfaaa5)
  • podcast.upload: Linting the upload module (1a22297)
  • podcastServerConfig: Make a wrapper class for all properties to avoid duplication of @Value and better Config class (38bb2a1)
  • podcasts: Refactor podcasts page (6e8e577 - #33)
  • podcasts: Use decorator to register define element and module (59732fd)
  • podcasts.creation: Use decorator to register define element (a3c9f66)
  • podcasts.details.edition: Use decorator to register define element (9f9589f)
  • podcasts.details.episodes: Use decorator to register define element (9faecdc)
  • podcasts.list: Change to use es6 syntax (11247cf)
  • process: Use processService instead a service to wrap builder (1234246)
  • processService: Use javaslang monad to treat with process id (273190c)
  • redux: Create a high level interface which will represent the AppState (c506a34)
  • repository: Annotation added to allow scanning by IDE (821a995)
  • repository: Return type as Sets instead of iterable (2e69281)
  • route: List all the route of the application which need to be catch by Spring (52ff14d)
  • routes: Change url for creation of podcast to '/podcasts/new' (7a2aef4)
  • rss: Use pattern matching to parse PST and PDT date which is not handle by Java DateTime (JSR 310) (b4a78f7)
  • rxjs: Use lettable operator instead of prototype modification (8e08a87)
  • scheduled: Refactor to use lombok for constructor (a7652f7)
  • scheduler: Change visibility of dependencies (7da4d18)
  • search: Re-organisation to support import module (6b2a393 - #33)
  • search: Eslint improvement (a1cb206)
  • search: Linting the search module (944c4a2)
  • search: Use decorator to define RouteConfig, HotKeys, View (f17e041)
  • search: Reduce use of two-way binding (cd35cc7 - #40)
  • search: Refactor code about search by term (aa62e02)
  • search: Use immutable structure instead of standard list (46f1541)
  • search: Use immutable structure to store tags and request database (451606b)
  • search: Use immutable structure to terms and request database (a1f90bb)
  • search: Use immutable structure to query fullTextSearch (9837311)
  • search: Use standard get to request search (f8bc1e8)
  • search: Remove the wrapper around $sessionStorage for the search part (e5a1016)
  • search: Use set instead of list to represent tags to search on (01fc670)
  • search: Add interfaces and service about search for the new web ui (abf08ba)
  • search: Order by pubDate,DESC by default (acf6dd6)
  • search: Use a standard API to expose search parameters (b703925)
  • search: Multiple improvement in in the search items feature (b65f00c)
  • search: Use HttpClient in search Service (0797a63)
  • selector: Remove all dependencies to Application context (b6fae74)
  • serve: Switch back to gulp-connect for WS functionnality (2a0142e)
  • serve: Refactor for jspm (6364088)
  • service: Use Optional to handle error in service level (4ef3144)
  • service: Remove useless methods (a4d1504)
  • service.UrlService: Remove static UrlUtils class to use a injectable service (7ccd301)
  • service.UrlService: Remove static UrlUtils class to use a injectable service (105f96f)
  • service.multipart: Use lombok to reduce code (207d246)
  • service.playlist: Simplify code and remove dependency to lodash (d9c09b9)
  • service.playlist: Simplify code and remove dependency to lodash (96dc6e2)
  • shared: Create the shared module at root level (6ef82ee)
  • shared: Move down podcast service (01058c8)
  • shceduled.deleting: Use lombok to reduce code (3485c62)
  • signatureService: Turn signatureUtils into a real Spring Singleton / Service (4f30035)
  • stats: Organise stats business inside the same service (d65a367)
  • stats: Using list of type define by workers instead querying the whole database (2e7f326)
  • stats: Refactor stats module (433402a - #33)
  • stats: Use getter from lombok project to simplify code (5a8cd41)
  • stats: Simplify code and remove dependency to lodash (53db1d7)
  • stats: Use getter from lombok project to simplify code (f67d755)
  • stats: Simplify code and remove dependency to lodash (e67014d)
  • stats: Remove unnecessary transaction for read-only operation (38f2184)
  • stats: Move to Javaslang implementation of Set|List for stats calculation (1985bbf)
  • stats: Use lombok to generate equality on one-field only (0e9dbd4)
  • stats: Simplify the sorted operation (7975a18)
  • stats.component: Refactor for jspm (55a7c4e)
  • styles: Refactor for jspm (e2fb734)
  • styles: Refactor for jspm (03b4fe1)
  • stype: Relocalisation of less code in the correct module (33d1130)
  • tag: Should create tag if not found in database when add by podcast (2b78c0c)
  • tags: Use immutable structure to store Tag (beab51c)
  • tags: Change api endpoint to use plural for tags (1a78a40)
  • tags: Simplify code execution with mockito (29c5e90)
  • tags: Use flatmap to simplify code of searchByName (7f4a7b8)
  • task: Move controller into task sub-package (8f3c106)
  • test: Reduce time to wait during test (cdd020b)
  • test: Centralisation of location Path for each test (8b7c148)
  • test: Remove usage of direct /tmp (8ceaa37)
  • test: Simplify IOUtils (05f18e8)
  • test: Use jasmine marble to test effects ! (f6d8dd4)
  • tf1Replay: Use immutable structure (3985e99)
  • tf1replay: Move to Option for url in downloader (268fa25)
  • tf1replay: Show url of item in log message (5802b03)
  • toolbar: Create an unified toolbar for the application (18cbca4)
  • try: Wrap try/catch in Try javaslang monad (13e1f1a)
  • try: Use Try.WithResources monad to handle the auto-closable resources (Vavr 0.9.1) (c44fb21)
  • tuple: Use Tuple3 from javaslang instead of custom tuple (01150ca)
  • types: Simplify code execution with mockito (4a93056)
  • typo: Correct typo in code and method name for extension (129f386)
  • update: Modify visibility of field to simplify code (87aae83)
  • update.controller: Remove all produce annotation (e00cc1d)
  • updateManager: Externalize the updateManager to prevent using Restangular inside controller (e90e9b3)
  • updater: Re-organise annotation in updater (739af3a)
  • updater: Use CompletableFuture to improve the update podcast business (07f7d42)
  • updater: Improvement of updating system (866ea8f)
  • updater: Use DI contructor instead field injection (c389608)
  • updater: Use Try monad for update process (3156955)
  • updater: Use immutable structure for collection in updater (3de7fe8)
  • updater: Use immutable structure to handle update of items (2760a54)
  • updater: Use javaslang.Set structure instead of simple java Set for types (ebbc635)
  • updater: Use repository instead of business in UpdatePodcastBusiness (ce2f0c4)
  • updater: Remove useless inheritance logic for updater (6358e9a)
  • updater.youtube: Simplification of code by externalisation of business logic (f268eb0)
  • updating: Refactor for jspm (f70f4cc)
  • upload: Change name of podcast type "Send" to "Upload" (cc91519)
  • urlService: Migrate to urlServiceV2 in the whole app (d1b6d6c)
  • urlService: Remove duplicate to extract url from HttpServletRequest into UrlService as static method. (67d443a)
  • urlService: Remove useless exception (085de24)
  • utils.multiPartFileSender: MultiPartFileSender transform to service Spring (3fa360b)
  • vavr: Move to new API for Option() (c532ee7)
  • vavr: Move to new API for Try() (3e862f5)
  • vget: Remove unnecessary dependency injection (0718f77)
  • watchList: Rename backend playlist to watchList (de2f3a0)
  • watchlist: Use immutable structure to handle WatchList (a268c69)
  • webSocket: Use simpler configuration of stomp web-socketing (83c8f73)
  • worker: Change name of test to be part of coverage (fd73a3d)
  • xml: Use Option to simplify code (2ff9e7b)
  • youtube: Re-organize file used during test (b0e8126)

Documentation

  • docker: Add documentation inside Dockerfile to configure the app when run from inside docker image (5368026 - #81)

Testing

  • 6play: Expand testing on 6play Extractor (ef5b516)
  • IDM: Test of controller (27ec2eb)
  • IDM: Test of controller (519c858)
  • ItemDownloadManager: Expand testing (da70846)
  • TF1Replay: Expand testing over downloader of TF1Replay (9663fb0)
  • TF1Replay: Expand testing on the downloader (2f9ba58)
  • aparameters: Expand testing (3ad54ea)
  • business.cover: Expand testing (6c5ce02)
  • business.finder: Expand testing (9fbd6ef)
  • business.item: Expand testing (c69887d)
  • business.item: Expand testing (814c004)
  • business.item: Expand testing (4e5b08d)
  • business.item: Expand testing (360dbec)
  • business.item: Expand testing (62a97af)
  • business.item: Expand testing (c5fc926)
  • business.item: Expand testing (b41c6b0)
  • business.item: Expand testing (06880eb)
  • business.podcast: Expand testing (c489bed)
  • business.podcast: Expand testing (8335746)
  • business.podcast: Expand test (14eeab8)
  • business.podcast: Expand test (501f890)
  • business.podcast: Expand test (476358f)
  • business.podcast: Expand testing (3320e22)
  • business.status: Expand testing (c6e814d)
  • business.tagBusiness: Expand testing (0c7ae27)
  • canalplusDownloader: Expand testing for canalPlus downloader (7c7b6c6)
  • clean: Clean up external resources used in test env (3cb895f)
  • clean: Remap rss files (e0733e1)
  • config: Expand testing in scheduler config (ce01b19)
  • config: Expand testing on WebMVCConfig (61f1772)
  • config: Expand testing on WebSocketConfig (f1be349)
  • config: Expand testing (0273fc4)
  • config: Expand testing (7b3e5a1)
  • config: Expand testing (1eec3d9)
  • config: Expand testing on converter (a8ca9ee)
  • config.async: Expand testing (af78eac)
  • config.dataSource: Expand testing (bed15d6)
  • config.validator: Expand testing (786785f)
  • controller: Expand testing in idmController (56afd8d)
  • controller: Expand testing in idmController (3eab981)
  • controller: Expand testing in idmController (3c0871b)
  • controller: Expand testing in idmController (deb702f)
  • controller: Expand testing in idmController (dc8e38b)
  • cover: Test of the whole cover entity (28dd0a7)
  • dailymotion: Expand testing (73fa3aa)
  • database: Expand testing (e6e32c6)
  • database: Expand testing (bb38e4f)
  • downloader.Http: Expand testing (35b7e00)
  • downloader.Http: Expand testing (fd5165d)
  • downloader.Http: Expand testing (9643357)
  • downloader.Http: Expand testing (2d93e23)
  • downloader.Http: Expand testing (c7cfa84)
  • downloader.dailyMotionCloud: Expand testing (75c07cc)
  • downloader.dailyMotionCloud: Expand testing (08e4672)
  • downloader.http: Expand testing (e3153dd)
  • downloader.http: Expand testing (722726b)
  • downloader.http: Expand testing (2ec8efb)
  • downloader.http: Expand testing (aaf399e)
  • downloader.http: Expand testing (6a70501)
  • downloader.http: Expand testing (3df79d8)
  • downloader.http: Expand testing (e23b95f)
  • downloader.http: Expand testing (34c2375)
  • downloader.parleys: Expand testing (20d9138)
  • downloader.rtmp: Expand testing (08a5370)
  • downloader.rtmp: Expand testing (bebda67)
  • downloader.selector: Expand testing (550c6aa)
  • downloader.youtube: Test the watch of Youtube Downloader (c8fbc4a)
  • downloader.youtube: Expand testing (7cf4c5e)
  • downloader.youtube: Expand testing (832f4fa)
  • downloader.youtube: Expand testing (f25bba1)
  • downloader.youtube: Expand testing (c53f9c3)
  • downloader.youtube: Expand testing (ed9b64a)
  • downloader.youtube: Expand testing (38817ba)
  • entity: Expand testing (cbf0754)
  • entity.item: Expand testing (b0fe4e4)
  • exception: Expand testing on Exception (ed8f85b)
  • exception: Expand testing on Exception (9642cf4)
  • facade: Expand testing (d185a72)
  • facade: Expand testing (284c194)
  • factory.wget: Expand testing (fa94770)
  • factory.wget: Expand testing (19781fe)
  • ffmpeg: Expand testing to ffmpeg service (c50dec9)
  • ffmpeg: Expand testing ton config of ffmpeg cli wrapper (f705966)
  • finder: Extends to new finder (93e69a3)
  • finder.beInSports: Expand testing (c29592a)
  • finder.rss: Expand testing (d011507)
  • finder.youtube: Expand testing (babcee8)
  • front: Use travis capability to run test under chrome (3e9c9f0)
  • front: Test the core component of the app (331ab4b)
  • front: Test the item#search method (6d2b693)
  • front: Expand testing of the ItemService (a63eb54)
  • front: Expand test to resolver (de0ec58)
  • front: Expand test to resolver (e25c3c2)
  • front: Expand testing to component (0615771)
  • idm: Modification of tests (17ae742)
  • idm: Expand testing on idm (0ce5932)
  • item: Test of the whole item entity (c56453b)
  • item: Expand testing on repository (667da7a)
  • item: Fetching items by type and by DSL expression tested (3f58b7f)
  • item.business: Expand testing (adc8e8b)
  • itemDownloadManager: Add test to the component (90a8919)
  • itemDownloadManager: Improve testing on IDM (fb79953)
  • manager.itemDownloadManager: UnitTesting of methods of this element (d6d19ec)
  • parameters: Expansion of testing (714b5f5)
  • podcast: Test of the whole Podcast entity (e124e4e)
  • podcast: Expand testing (60e170c)
  • podcast: Expand testing (5bc2696)
  • podcast: Expand testing (665d5ce)
  • podcast: Expand testing (114cb67)
  • podcast: Expand testing (07788ef)
  • podcast: Expand testing on service (e0bebf0)
  • podcast.controller: Expand testing (51d7d54)
  • podcast.controller: Expand testing (bdebac5)
  • podcast.controller: Expand testing (423c83f)
  • podcast.cover: Expand testing (1ff8778)
  • properties: Expand testing (53922ff)
  • properties: Add test to the properties pojo (57e753b)
  • resolver: Expand testing on resolvers of the front-end (924d5b0)
  • scheduler: Expand testing (a6649ad)
  • scheduler.indexation: Expand testing on scheduled task (fc624f5)
  • scheduler.indexation: Expand testing on scheduled task (2d2b0e2)
  • scheduler.itemDeleting: Expand testing on scheduled task (964ecd8)
  • search: Expand testing to use ng2 system (059da8b)
  • search: Expand testing to use ng2 system (627525a)
  • search.fulltextsearch: Expand testing (8227905)
  • service: Expand testing (596f4ca)
  • service: Expand testing (ef12f59)
  • service: Expand testing on few test (875646e)
  • service: Expand test of services in the front part (52face6)
  • service.ffmpeg: Expand testing (8987753)
  • service.htmlservice: Expand testing (79cdf30)
  • service.mimeType: Expand testing (83d2f37)
  • service.mimeType: Expand testing (fde39c5)
  • service.mimeType: Expand testing (86f2469)
  • service.mimeType: Expand testing (76989f8)
  • service.mimeType: Expand testing (22ef613)
  • service.multipartFileSender: Correction of testing linked to PR #57 (a06044f - #57 - #56)
  • service.podcastparameters: Expand testing (0da6621)
  • service.processBuilder: Expand testing (ca91409)
  • service.signature: Expand testing (6787690)
  • service.url: Expand testing (b3d30c0)
  • service.workerService: Expand testing (754ae15)
  • startup: Start the application as a test (305085a)
  • stats: Expand testing (8d24c47)
  • stats: Expand testing (fb0c684)
  • stats: Expand testing on controller (d75c5b2)
  • stats: Expand testing on controller (af1cced)
  • stats: Expand testing on controller (f200959)
  • stats.numberofitembydate: Expand testing (818a430)
  • status: Test of the whole status entity (417a986)
  • tag: Test of the whole tag entity (5db3eaa)
  • tag: Expand testing of tag class (3ac004d)
  • tags: Expand testing on business (5dcc3db)
  • tags: Expand testing to tag repository (b35f2ad)
  • tf1ReplayDownloader: Expand testing for tf1Replay downloader (7edf20e)
  • updater: Expand testing (ee87df9)
  • updater: Expand testing (c6bc75f)
  • updater: Expand testing (3c6dffe)
  • updater: Expand testing (0ff392e)
  • updater: Add new updater to testing of finding right updater (64cc5c6)
  • updater.beinsports: Extend testing (427a406)
  • updater.canaplus: Expand testing (f30718a)
  • updater.commonupdater: Expansion of testing (d9fa734)
  • updater.commonupdater: Expansion of testing (36fad13)
  • updater.commonupdater: Expansion of testing (7a16c6f)
  • updater.htmlparser: Code coverage on HTMLService (56683ef)
  • updater.jeuxvideocom: Expand testing (46868a1)
  • updater.jeuxvideocom: Expand testing (c7923f3)
  • updater.jeuxvideocom: Expand testingtest(updater.jeuxvideocom): expand testing (80cdac7)
  • updater.parleys: Expand testing of updater (ed9edb2)
  • updater.pluzz: Expand testing (a10fb65)
  • updater.pluzz: Expand testing (0e046ea)
  • updater.pluzz: Expand testing (ddafb4c)
  • updater.pluzz: Expand testing (7ae91b8)
  • updater.pluzz: Expand testing (fa1a4d7)
  • updater.pluzz: Expand testing (77823c9)
  • updater.pluzz: Expand testing (6e40af4)
  • updater.pluzz: Expand testing (14ba970)
  • updater.rss: Expand testing (003ca61)
  • updater.send: Expansion of testing (3ec525b)
  • updater.send: Expansion of testing (1ea91fe)
  • updater.send: Expand testing (7845423)
  • updater.send: Expand testing (56630b5)
  • updater.type: Expansion of testing (c63cd61)
  • updater.youtube: Expand testing (5b50fa4)
  • updater.youtube: Expand testing (e9b38e1)
  • updater.youtube: Expand testing (5cdb163)
  • updater.youtube: Expand testing (227529f)
  • updater.youtube: Expand testing (ab4f901)
  • urlService: Expand testing to url service static method (5fcd84e)
  • utils.hibernateIdExtractor: Expand testing (429386d)
  • utils.imageService: Expand testing (773f580)
  • utils.jackson.config: Expand testing (c2a578c)
  • utils.mimeType: Expand testing (2291461)
  • utils.mimeTypeService: Expand testing (916e9b0)
  • utils.movinginqueue: Expand testing (fd91028)
  • utils.multiPartFileSender: Expand testing (f8b5417)
  • utils.multipart: Expand testing (638646c)
  • utils.outputLogger: Expand testing (f1fc057)
  • utils.outputLogger: Expand testing (1d1e3fb)
  • utils.outputLogger: Expand testing (c8b5afc)
  • utils.outputLogger: Expand testing (f501cc7)
  • utils.outputLogger: Expand testing (b30f091)
  • utils.outputLogger: Expand testing (51cfafa)
  • utils.updateSelector: Expand testing (0caa1b8)
  • utils.urlService: Expand testing (55acea9)
  • utils.urlService: Expand testing (f3ddc4c)
  • utils.urlUtils: Expand testing (8849543)
  • utils.urlUtils: Move to non static class and use a httpserver for unit test (54ba49a)
  • utils.workerService: Expand testing (0fb585f)
  • worker: Change name to be in coverage report (a0be02e)
  • youtube: Fix a test which cause error on 'good' configuration (d821474)

Chose

  • build: Remove controller of coverage (55694d7)
  • build: Remove controller of coverage (8c5adc6)
  • build: Remove controller of coverage (f3d282c)

Front

  • search: Add query to search items (32657f8)