The Free Software Media System
Go to file
Joshua Boniface 05a4161fd3 Correct the installation and removal of plugins
Upgrading plugins was broken for various reasons. There are four
fixes and a minor one:

1. Use a directory name based only on the `Name` of the plugin, not
   the source filename, which contains the version. Avoids strange
   duplication of the plugin.
2. Use the new directory name for the deletes if it's present, so
   that installation and removal happen at that directory level
   and we don't leave empty folders laying around. Ensures we
   properly remove additional resources in plugins too, not just
   the main `.dll` file.
3. Ignore the incoming `target` when installing, and always set
   it ourself to the proper directory, which would matter when
   reinstalling.
4. Deletes an existing target directory before installing if it
   exists. Note that not calling any of the plugin removal code
   is intentional; I suspect that would delete configurations
   unexpectedly when upgrading which would be annoying. This way,
   it just replaces the files and then reloads.
5. (Minor) Added some actual debug messages around the plugin
   download section so failures can be more accurately seen.
2019-04-03 20:05:14 -04:00
.ci Do not use the nuget packages for comparison, but the last master build (#1091) 2019-03-13 21:09:08 +01:00
.copr Code review updates 2019-02-15 10:22:52 -05:00
.github Improve the wording per @joshuaboniface suggestion 2019-03-19 17:37:56 +03:00
.vscode Add JSON assets for VSCode development 2019-01-02 02:20:14 -05:00
BDInfo Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
deployment Bump version to 10.3.0 and update submodule 2019-03-30 15:47:34 -04:00
DvdLib Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
Emby.Dlna Improved dispose method 2019-03-25 17:32:27 +01:00
Emby.Drawing Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
Emby.IsoMounting Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
Emby.Naming Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
Emby.Notifications Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
Emby.Photos Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
Emby.Server.Implementations Correct the installation and removal of plugins 2019-04-03 20:05:14 -04:00
Emby.XmlTv Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
hooks Checkout submodules in Docker Hub hook 2019-02-16 01:45:48 -05:00
Jellyfin.Drawing.Skia Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
Jellyfin.Server Simplify/remove/clean code 2019-03-25 22:25:32 +01:00
MediaBrowser.Api made password resets an interface and per user 2019-03-22 00:01:23 -07:00
MediaBrowser.Common Simplify/remove/clean code 2019-03-25 22:25:32 +01:00
MediaBrowser.Controller Merge pull request #1149 from LogicalPhallacy/ImprovedPasswordReset 2019-03-29 18:26:30 -04:00
MediaBrowser.LocalMetadata Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
MediaBrowser.MediaEncoding Merge branch 'master' into subtitle-display-title 2019-03-16 17:54:57 +01:00
MediaBrowser.Model made password resets an interface and per user 2019-03-22 00:01:23 -07:00
MediaBrowser.Providers Merge pull request #1119 from ploughpuff/503retry 2019-03-15 16:47:03 -04:00
MediaBrowser.Tests Adjusted the Product Name so the User Agent is correct/better. 2019-03-14 22:11:47 +01:00
MediaBrowser.WebDashboard Bump version to 10.3.0 and update submodule 2019-03-30 15:47:34 -04:00
MediaBrowser.XbmcMetadata Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
Mono.Nat Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
RSSDP Adjusted AssemblyCopyright attribute values. 2019-03-14 22:17:56 +01:00
.dockerignore Fixed full pipeline, runs correctly now with drone exec 2019-02-12 16:21:46 +01:00
.drone.yml Disable the Drone CI ABI check 2019-03-13 20:37:08 +01:00
.editorconfig Merge pull request #862 from EraYaN/abi-check-drone 2019-02-18 13:11:06 -05:00
.gitattributes Add merge=union for CONTRIBUTORS.md 2018-12-29 19:35:42 -05:00
.gitignore Generate doxygen template config doxygen -g 2019-03-21 13:16:33 +01:00
.gitmodules Update submodule 2019-02-21 20:59:10 +01:00
build Allow complete ignoring of submodule 2019-03-05 23:52:58 -05:00
build.yaml Bump version to 10.3.0 and update submodule 2019-03-30 15:47:34 -04:00
bump_version Remove superfluous variable declaration 2019-03-30 12:58:39 -04:00
CONTRIBUTORS.md Added self to contributors 2019-03-05 21:29:15 +00:00
Dockerfile Only remove /var/lib/apt/lists/* 2019-03-15 14:30:15 +01:00
Dockerfile.arm Clean apt lists in arm Dockerfiles 2019-03-15 14:39:23 +01:00
Dockerfile.arm64 Clean apt lists in arm Dockerfiles 2019-03-15 14:39:23 +01:00
Doxyfile Implemented some requested changes to the Doxyfile 2019-03-21 18:21:07 +01:00
jellyfin.code-workspace EditorConfig reformat: Non-CS files. 2019-01-13 20:45:51 +01:00
jellyfin.ruleset Simplify/remove/clean code 2019-03-25 22:25:32 +01:00
LICENSE Remove incorrect .md suffix from LICENSE file 2018-12-09 18:02:44 -05:00
MediaBrowser.sln remove open subtitles from the server 2019-03-11 18:10:31 -07:00
MediaBrowser.sln.GhostDoc.xml Fixed csproj and xml identation. 2019-01-19 15:01:16 +01:00
README.md Update README with Azure Pipelines status badge 2019-03-05 17:12:56 +01:00
SharedVersion.cs Bump version to 10.3.0 and update submodule 2019-03-30 15:47:34 -04:00

Jellyfin

The Free Software Media System


Logo banner

GPL 2.0 License Current Release Translations Azure DevOps builds Docker Pull Count
Donate Discuss on our Forum Chat on Matrix Join our Subreddit


Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it. We welcome anyone who is interested in joining us in our quest!

For further details, please see our documentation page. To receive the latest updates, get help with Jellyfin, and join the community, please visit one of our communication channels on Matrix/Riot or social media.

For more information about the project, please see our about page.

Want to get started? Choose from Prebuilt Packages or Build from Source, then see our first-time setup guide.

Want to contribute? Check out our documentation for guidelines.

New idea or improvement? Something not working right? Open an Issue.