see Commit Logs to check all.
Performance improvements, fixes for memory leaks and bugs related to EPG processing, etc.
Note: The experimental Win32 support has been deprecated for the following complex reasons, and it may be completely removed in the next minor version:
- There are no maintainers for Win32
- The current performance is not meeting the expected standards, and there is no prospect for improvement in the foreseeable future
- Many users are using it for purposes not intended by the developers, causing a burden on development
- As part of the project roadmap cleanup, resources are being focused on Linux support
Originally, Mirakurun was developed for Linux, and it is essential to avoid compromising the quality of the Linux version for Win32 support. This has led to the current conclusion. However, developers who still require Win32 support can fork the project and maintain the necessary code themselves. Thank you for your understanding.
- config/server: Add
disableWebUI
(Env:DISABLE_WEB_UI
for Docker) to disable Web UI. - config/server: Add
allowIPv4CidrRanges
,allowIPv6CidrRanges
(Env:ALLOW_IPV4_CIDR_RANGES
,ALLOW_IPV6_CIDR_RANGES
for Docker) to allow optional IP range. - config/server: Change several default values based on typical usage.
programGCInterval
:900000
(15 mins) →3600000
(1 hour)epgGatheringInterval
:900000
(15 mins) →1800000
(30 mins)logoDataInterval
:86400000
(1 day) →604800000
(7 days)
- config/server: Remove
overflowTimeLimit
. - ts-filter: Remove own overflow handling as it no longer makes sense.
- ts-filter: Fix memory leak when comparing CRC of broken PAT packet processing. (bug)
- ts-filter: Fix a problem in which the _close() function sometimes didn't call properly when the tuner was intercepted. (bug)
- ts-filter: Change EIT[p/f] information to use in EPG.
- tuner-device: Fixed a problem which the command didn't respawn correctly when it terminated unexpectedly. (bug)
- epg: Add support for multiple EIT types.
- epg: Fix wrong event group processing. (bug)
- epg: Add support for event relay.
- epg: Add support for multi track audios.
- epg: Improve performance of parsing start_time of events.
- program: Add event group type as
type
todb.ProgramRelatedItem
ofdb.Program
. - program: Fixed a problem in the implementation of conflict detection. (bug)
- program: Reduced the frequent repeated update events.
- program: Removed the
audio
property and added theaudios
property to support multi track audios. (breaking change) - program: Fix program overlapping when re-scheduled. (bug)
- program: Removed the
redefine
event and added theremove
event. (breaking change) - api/iptv: Fixed a problem with Kodi 19's IPTV feature that caused channel selection to take a long time. #101
- api/iptv: Add category (genre) info.
- api/iptv: Add timezone offset explicitly.
- api/getLogoImage: Add
Cache-Control
header to cache logo images. - api/restart: Improved the restart speed on Docker. (approx. 2 secs)
- rpc: Added a WebSocket RPC interface. (experimental)
- ui: Now using RPC interface.
- ui/status: Fix "EPG Gathering Network IDs" hex strings to upper case.
- ui/status: Fix handle tuner updates to correctly. (bug) #109
- ui/config: Add "EPG Gathering Interval" setting in Config/Server.
- ui/config: Add "Allow IPv4 CIDR Ranges", "Allow IPv6 CIDR Ranges" setting in Config/Server.
- ui/heart: Add confirmation before accessing opencollective. #106
- Add AbortSignal option for
getChannelStream()
,getServiceStreamByChannel()
getServiceStream()
,getProgramStream()
. - Fix set priority correctly. (bug)
- Fix unexpected
postinstall
execution on npm@7 and later. (bug) #116
- Update base image to
node:18.15.0-buster-slim
. - Fixed the exit signal handling properly.
- When a
SIGHUP
is received in a container, only the node process can be restarted quickly. - Add startup script (it runs
/opt/bin/startup
) support. - default
docker-compose.yml
volumes has been changed:/usr/local/mirakurun/*
→/opt/mirakurun/*
- default
docker-compose.yml
network_mode has been changed tohost
.- it enables IPv6 options.
- package: Add engine support
node@18
. - package: Drop engine support
node@12
. - package: Update dependencies.
- remove
colors
package for urgent security reasons.
Logo support enhanced.
- config/server: Add
logoDataInterval
to suppress parsing logo data frequently. - service: Save the each logo data to separate file instead of json db.
- ts-filter: Add support for BS/CS logo. #17
- ui: Add service list in "Status".
- Add missing
type
definition inService
.
- Set env
NODE_ENV=production
by default.
- package: Update dependencies.
Bug fixes and improvements to memory usage, etc.
- node: Removed
--max_old_space_size
flag. - db: Improved performance of the save (write).
- epg: Fixed a bug where the EPG would not update if it was stopped for several days.
- epg: Improved memory usage.
- epg: Improved EPG gathering behavior.
- program: Improved performance and memory usage.
- Update base image to
node:16.6.1-buster-slim
. - Set env
MALLOC_ARENA_MAX=2
by default. - docker-compose: Set container_name to
mirakurun
. - docker-compose: Set default network name to
mirakurun
.
- package: Add engine support
node@16
. - package: Drop engine support
node@10
. - package: Update dependencies.
- tsconfig: Change target
es2017
→es2019
.
Added IPTV support and improved behavior regarding EPG refresh, improved UX, etc.
- epg: Improved to perform refresh at an interval based on the previous refresh time when restarted.
- epg: Improved to detects broadcast off. The system does not attempt to refresh the EPG when broadcast is off.
- api: [
services
] AddepgReady
,epgUpdatedAt
properties. - api: [
config/channels/scan
] Renamed options.registerOnDisabled
→setDisabledOnAdd
registerMode
→scanMode
- api: [
config/channels/scan
] Fixed a bug that would change an enabled channel to disabled onsetDisabledOnAdd
istrue
. - api: [
config/channels/scan
] AdddryRun
option. - api: [
iptv
] Implemented M3U playlist and XMLTV endpoints for IPTV. - api: [
iptv
] Implemented additional endpoints for Plex Media Server. - ui: Add "Connection Guide".
- ui: Scroll to bottom when adding a new item.
- Update base image to
node:14.17.3-buster-slim
.
- munin-plugins: Removed. please use mirakurun-munin-plugins instead.
- Update dependencies.
Performance improvements and new features.
- server: Add support for processing multiple frames (TSMF). #90
- server: Add support for Cross-Origin Resource Sharing (CORS).
- ts-filter: Minor performance improvements.
- api: [
config/channels/scan
] Add support 4 slots for transponders in BS. #93 - ui: Add "Special Thanks" (heart).
- Update base image to
node:14.17.1-buster-slim
.
- Remove deprecated Mirakurun-UI from Readme. #85
- Fix webpack error on Windows. #87
- Update dependencies.
This is Important Update for any devices.
- ✅ Improved Performance
- ✅ Improved Reliability
- ✅ Fixed Critical Bug
- program: Change timing of save to data file to 10 seconds for reduce I/O usage.
- ts-decoder: Implemented
decoder
command auto-heal, path-through fallback. (new feature) - ts-filter: Use
stream.Transform
instead ofstream.Duplex
. - ts-filter: Make drop on error packet to fix broken TS output. (bug)
- ts-filter: Fix high CPU usage on waiting.
- ts-filter: Improve performance.
- tuner-device: Add
<freq>
and<polarity>
to tuner command. #77 - tuner-device: Improve performance.
- Update base image to
node:14.15.4-buster-slim
.
- api: [
config/channels/scan
] Fix a incorrect default parameters. #82 - api: [
config/channels/scan
] Fix a timing of request timeout.
Happy Holidays.
- docker: Update base image to
node:14.15.3-buster-slim
.
- server: Add
hostname
config for allowing access with specific hostname. - server: Fix timing of request timeout.
- ui: Add
hostname
config editor. - ui: Add link to API Docs (Swagger UI).
- api: [
config/channels/scan
] Support BS/CS types. #79 - api: [
tuners
] Addurl
property to eachUser
state. - api: [
tuners
] AddstreamSetting
property to eachUser
state. - api: [
tuners
] AddstreamInfo
property to eachUser
state for checking packet drop count. - api: [
channels/*/stream
,services/*/stream
,programs/*/stream
] AddX-Mirakurun-Tuner-User-ID
response header. - misc: Rename
satelite
→satellite
.
- @fluentui/react:
^7.121.11
→^7.155.3
- eventemitter3:
^4.0.4
→^4.0.7
- express-openapi:
^6.0.0
→^7.2.0
- glob:
^7.1.6
- js-yaml:
^3.14.0
→^3.14.1
- openapi-types:
^1.3.5
→^7.0.1
- react:
^16.13.1
→^16.14.0
- react-dom:
^16.13.1
→^16.14.0
- semver:
^7.3.2
→^7.3.4
- swagger-ui-dist:
^3.27.0
→^3.28.0
- tail:
^2.0.4
→^2.1.0
- (typescript):
^3.9.6
→^4.1.3
- docker: fixed a bug the Log Level cannot be changed. #78
- docker: improve pcscd reliability.
- now it will retry starting pcscd if not running correctly.
- docker: update base image to
node:14.7.0-buster-slim
.
- docker: add arch
arm32v7
,arm64v8
.
- bug fix and add
disableEITParsing
config.
- docker: fix wrong filename -
services.yml
→services.json
,programs.yml
→programs.json
. - config: add
disableEITParsing
(server). #49
- @fluentui/react:
^7.121.4
→^7.121.11
- swagger-ui-dist:
^3.27.0
→^3.28.0
- (typescript):
^3.9.5
→^3.9.6
- bug fix and update dependencies.
- server: fix parsing wrong header (Origin).
- @fluentui/react:
^7.121.0
→^7.121.4
- js-yaml:
^3.13.1
→^3.14.0
- morgan:
^1.9.1
→1.10.0
- opencollective-postinstall:
^2.0.1
→2.0.3
- semver:
^7.1.3
→^7.3.2
- source-map-support:
^0.5.16
→^0.5.19
- swagger-ui-dist:
^3.25.0
→^3.27.0
- tail:
^2.0.3
→^2.0.4
UI added.
- config: update default
channels.yml
. - api: [Restart API] add Docker support.
- ui: added. (beta)
- express-openapi:
^3.7.0
→^6.0.0
- react:
^16.13.1
- react-dom:
^16.13.1
- @fluentui/react:
^7.121.0
- stream-http:
^3.1.1
- eventemitter3:
^4.0.4
- (typescript):
^3.7.5
→^3.9.5
Enhanced Docker, DVB support.
- docker: pcscd included.
- docker: DVBv5 Tools included.
- docker: auto install
arib-b25-stream-test
. - munin-plugins: docker (host) support.
- config: add auto tuners configuration for DVB (ISDB-T, ISDB-S) devices.
- ts-filter: change default value of
maxBufferBytesBeforeReady
from3MB
to8MB
. #67 - tuner-device: send
SIGKILL
to kill if usingdvbv5-zap
.
- package: update node version to
^10.15.0 < 11 || ^12 || ^14
.- note: dropped node@13 support.
- docker: update base image to
node:14.0.0-slim
.
- nothing changed about server and clients.
- munin-plugins: fix wrong Shebang (CRLF to LF). #66
- package: update node version to
^10.15.0 < 11 || ^12 || ^13
.- note: dropped node@8 support.
- docker: official build is now resumed.
- (very sorry for stopped few months)
- latest-version:
^3.1.0
→^5.1.0
- (gulp): (removed)
- package: updates node version to
^8.17.0 < 9 || ^10.15.0 < 11 || ^12.14.0 < 13
.
- server: catch
unhandledRejection
. - status: add
unhandledRejection
errorCount.
- improved stability and bug fixes.
- openapi-types:
^1.3.5
- aribts:
^1.3.4
→^1.3.5
- body-parser:
^1.18.3
→^1.19.0
- colors:
^1.3.3
→^1.4.0
- dotenv:
^7.0.0
→^8.2.0
- express:
^4.16.4
→^4.17.1
- semver:
^5.6.0
→^7.1.3
- swagger-ui-dist:
^3.21.0
→^3.25.0
- tail:
^2.0.2
→^2.0.3
- (typescript):
2.7.2
→^3.7.5
Improved EPG processing performance. fixed unreliable codes.
- package: add support node@12
- ts-filter: added EIT version check.
- tuner-device / remote: fixed missing default value of
remoteMirakurunPort
to40772
.
Improved startup stability. fixed stack trace for TypeScript codes.
- server: await network up. #60
- source-map-support:
^0.5.16
- docker: fixed something wrong.
- js-yaml:
^3.12.2
→^3.13.1
- ts-filter: fix unexpected PAT CRC #53
- status: add more property for diagnostics.
- package: Activating Open Collective #45
- db: improve error handling. #48
- db: added integrity check. #35
- tuner: fix EPIPE error occurred by decoder.kill #46
- tuner-device: fix duplicate function call of _kill() #47
- opencollective:
^1.0.3
- opencollective-postinstall:
^2.0.1
- dotenv:
^6.2.0
→^7.0.0
- swagger-ui-dist:
^3.20.5
→^3.21.0
- js-yaml:
^3.12.1
→^3.12.2
- sift:
5.1.0
→^7.0.1
- tail:
^1.4.0
→^2.0.2
- api: [Channel Scan API] support sort by non-integer channel string. #42
- dotenv:
^6.1.0
→^6.2.0
- express-openapi:
^3.6.0
→^3.7.0
- js-yaml:
^3.12.0
→^3.12.1
- updater: fix update failure. (please note: this fixes effective for later than this version.)
- install: fix wrong expression to detect global install.
- debug: use swagger-ui-dist instead of swagger-ui.
- swagger-ui-dist:
^3.20.5
- swagger-ui: (removed)
- use
--unsafe-perm
instead of--unsafe
.
- node: change
--max_old_space_size=256
to--max_old_space_size=512
. - log: env
LOG_STDOUT
,LOG_STDERR
are not used anymore. - install: add way to install not using
--unsafe-perm
. - cli: add
init
command to init as service manually.
- log: fix comply http logs to log level setting. #41
- install: fix missing
colors
dependency.
- colors:
^1.3.3
- body-parser:
^1.17.1
→^1.18.3
- express-openapi:
^3.0.3
→^3.6.0
- js-yaml:
^3.8.4
→^3.12.0
- morgan:
^1.7.0
→^1.9.1
- semver:
^5.3.0
→^5.6.0
- tail:
^1.2.1
→^1.4.1
- epg: fix crash on epg gathering.
- aribts:
1.3.3
→^1.3.4
- package: add support node@10
- build: use
rimraf
instead ofgulp-del
- test: add (dummy)
- ts-filter: add padding to PAT with
0xff
. #33 #34 - tuner: fix takeover strategy to lower priority first. #31
- debug: allow non-root users.
- debug: use
dotenv
.
- express:
^4.15.2
→^4.16.4
- express-openapi:
^1.4.0
→^3.0.3
- sift:
^5.0.0
→5.1.0
- remote: add multiplexing feature w/ remote Mirakurun(s).
...Commit Logs before 2.6.1...