Releases: G4Vi/MHFS
Releases · G4Vi/MHFS
v0.7.0
from CHANGELOG.md:
0.7.0 - 2025-10-07
App-MHFS-v0.7.0
Changed
/kodi/tv- improve organization and metadata handling. Descriptions and
images should now show for shows, seasons, and episodes.- Various internal changes to make the code more maintainable
Fixed
- MHFS::Plugin::Playlist, MHFS::Plugin::VideoLibrary fix infinite loop with some
directories. - music player emscripten 4.0.7+ compat
- MHFS::Plugin::MusicLibrary fix invalid UTF-8 causing valid characters to be
omitted from the output.
MHFS-XS-v0.2.4 [unchanged]
Alien-Tar-Size-v0.2.2 [unchanged]
Alien-libFLAC-v0.2.0 [unchanged]
v0.7.0-a.3
ci: hardcode release emsdk version, bump emsdk and perl versions used…
v0.6.0
from CHANGELOG.md:
0.6.0 - 2024-10-21
App-MHFS-v0.6.0
Added
- Kodi JSON API
/kodi/moviesand/kodi/tv- TMDB metadata and art fetching
- Supports multiple editions of movies and multiple files per movie.
Multi-part rar is not supported yet. - movies loads from multiple file sources
- Kodi video add-on
- Promise system (MHFS::Promise) to reduce callback hell.
Fixed
- MHFS::Process - Fix incorrect fcntl error handling and usage for turning on
O_NONBLOCK, fixes GH#1 - Web Music Player stack overflow on emscripten 3.1.27 and higher by
hardcoding stack size to 128KB. - Web Music Player adding collections (Parent nodes of disc dirs) to playlist
Changed
- MHFS::Settings - change default receive request timeout from 75 to 10 seconds
MHFS-XS-v0.2.4
- Link
-latomicon 32-bit ARM
Alien-Tar-Size-v0.2.2 [unchanged]
Alien-libFLAC-v0.2.0 [unchanged]
v0.5.1 fix cpantesters
from CHANGELOG.md:
0.5.1 - 2022-12-03
- Version is no longer based on App-MHFS version. MHFS releases will
note which distributions are included.
Alien-Tar-Size-v0.2.2
- Added better preprocessor check for OS check
MHFS-XS-v0.2.3
- Disable unused miniaudio APIs to remove threading requirement
Alien-libFLAC-v0.2.0 [unchanged]
App-MHFS-v0.5.0 [unchanged]
v0.5.0 Binary Releases
from CHANGELOG.md:
0.5.0 - 2022-11-14
Alien-libFLAC
Fixed
- insufficient dependency gathering (switched to
pkg-config)
Alien-Tar-Size
Fixed
- BSD builds by making libdl optional
Added
- #include check before compiling
- Fail out with OS unsupported if attempted to build on Windows
App-MHFS
Added
- Binary releases via APPerl:
mhfs.com
Fixed
- Makefile.PL OS check erroring out with wrong message
Changed
- moved MHFS::EventLoop::Poll::Linux archname check to MHFS::EventLoop::Poll::Linux::Timer
- use newest emcc in builds now
- reduce redundancy of turning on nonblocking socket operation
- settings loading to support Windows environments (MHFS does not work on Windows yet)
v0.4.1 fix cpantesters
from CHANGELOG.md:
0.4.1 - 2022-07-15
App-MHFS
Added
- OS check by importing
Time::HiRes::clock_gettimein Makefile.PL
Fixed
- unsufficient Perl version checks in Makefile.PL, now requires perl 5.14.0 or greater
Changed
- integer size check in
MHFS::Plugin::GetVideois now a plugin loading error instead of a
compile time error for MHFS.
MHFS-XS
Fixed
- Stopped overriding CCFLAGS to fix perl being built with different settings
- builds with non-MULTIPLICITY 5.20.2 perl;
-lpthreadadded to libs
v0.4.0 CPAN
from CHANGELOG.md:
0.4.0 - 2022-07-11
Added
- Automated builds via github ci
.github/workflows/build.yml - cpanfile for easier dev and ci operation
- instructions for installing from cpan to README.md
Fixed
- Compile error when building MHFS::XS with non-MULTIPLICITY perl
v0.3.0 Standard Packaging
from CHANGELOG.md:
0.3.0 - 2022-06-30
Added
- Added downloading media via torrent
- Added HTTP Torrent Tracker
- designed to handle clients on LAN and WAN without leaking LAN IPs outside
- Added creating torrents from media items
- When an item is requested, a torrent is created, added to the tracker, and added to rtorrent to start seeding, so it can be downloaded instantly.
- Added HTTP Torrent Tracker
- Added improved client host validation with
X-MHFS-PROXY_KEYfor secure reverse proxying - Added automatic youtube-dl binary downloading and installing for MHFS use
- Added installation and packaging via cpan distributions
- Added using File::ShareDir for APPDIR
Changed
- MHFS prefix was added to modules in server.pl,
MHFS::Pluginprefix was added to plugins MEDIALIBRARIESis now interpreted intoMEDIASOURCESand supports mapping to multiple sources- However, not all the code handles multiple sources yet
MHFS::Plugin::MusicLibrarynow usesMEDIASOURCESinstead of it's own sources- Broke up EventLoop::Poll into EventLoop::Poll::Base, EventLoop::Poll::Linux, and EventLoop::Poll
- Made tarsize and libFLAC into Alien modules to ease building and installing
- switched XS to vendored miniaudio submodule
- temp directory now uses
$XDG_CACHE_HOMEor~/.cacheby default- cookies are now stored in temp directory, inaccessible to web routes
- Torrent are now loaded into rtorrent from memory instead of writing to disk first
- playlists are now accessed via
/playlistroute instead of/get_video /get_videonow uses a callback to generate thecreate_cmdinstead ofeval/video/fmp4fmt was integrated to/get_videoinstead of having its own route/video/kodiis now accessed via/kodi, kodi stuff was moved intoMHFS::Plugin::Kodi- Open directories are now managed by
MHFS::Plugin::OpenDirectoryand served from/od
Fixed
- JSMpeg's query string messing up its format
Removed
- search from
/get_videoto increase speed and accuracy - removed HLS on demand and several broken
/get_videoformats and players - gapless music player
v0.2.0 Music Metadata
from CHANGELOG.md:
0.2.0 - 2022-04-21
AudioWorklet Player
Added
- WAV and MP3 streaming, decoding, and playing
- Loading cover art from inside the audio file or the MHFS server
- Loading metadata (Title, Artist, Album, etc) from FLAC vorbis comments
- Showing metadata and cover art in player instead of file path when available
- MediaSession api support for usage of media keys and out of page audio control
- New playback modes,
Repeat (Playlist),Random, andReverse. - Playback view with large cover art display
- Resizable and movable image viewer
Changed
- miniaudio is now used for decoding instead of using dr_flac directly
- decoder is now saved and restored on running out of data instead of being reinitialized
- Reduced copying of decoded data / allocating and freeing memory
Fixed
- Play/Pause button sometimes displaying wrong state, now always synced to the audiocontext
Server
Added
/music_dlnow sends totalPCMFrameCount viaX-MHFS-totalPCMFrameCountheader when sending mp3 files (Used as fallback value for calculating mp3 duration)
Changed
- Request query string parsing now groups values of identical keys instead of overwriting
/musicwithoutfmtparam now in most cases sends the AudioWorklet player to Linux clients- Improved UTF8 support
- Improved HTTP response building
Fixed
- fixed bad parsing in torrent_file_information when filename in rtxmlrpc output is surrounded by double quotes instead of single quotes
/torrent?infohash- fixed filenames being url encoded instead of html escaped/music- ptrack params not being passed on when redirecting
Removed
- GDRIVE plugin, it was disabled and unmaintained
Other
- Updated README.md to have better music player info, have screenshot, and mention the gapless player uses miniaudio instead of dr_flac.
v0.1.0 First Release
After three years in development, hopefully it will have been worth the wait.