Universal Media Server 歷史版本列表
Universal Media Server 是一種媒體服務器,能夠將視頻,音頻和圖像提供給任何支持 DLNA 的設備。它是免費的,定期更新,並具有比任何其他媒體服務器,包括付費媒體服務器更多的功能。支持所有主要的操作系統,Windows,Linux 和 Mac OS X 的版本。程序流或轉碼視頻,音頻和圖像格式幾乎沒有配置。它由 FFmpeg,MEncoder,tsMuxeR,MediaInfo... Universal Media Server 軟體介紹更新時間:2021-03-31
更新細節:
What's new in this version:
Upgrade:
- Source: Win10 21H2 build 21343 support (license date updated)
- Components: Edge Chromium removal now also supports pre-deployed versions in newer Win10 images
- Registry: Supporting Components path in integrated REG files
- UI-Translation: Thanks for Arabic, Chinese Traditional, Dutch, French,
- Greek, Hungarian, Portugues-Brasil, Russian, Spanish, Ukrainian
Fixed:
- Components: Improved cumulative update compatibility after removals for Win10 1709->1809
New:
- Post-setup: First user logon actions support, a separate box for the user-dependent post-setup entries
- Updates: Provisioning Package (PPKG) integration support
Components:
- ‘Collaboration Data Objects for Windows (CDOSYS)’
- ‘Device Center (Devices and Printers)’
- ‘Extensible wizard (XWizards Framework)’
- ‘File Explorer 32-bit’
- ‘Folder Redirection’
- ‘Font Previewer 32 bit’
- ‘Function Discovery’
- ‘Host Bus Adapter (HBA) API’
- ‘Kerberos Client 32 bit’
- ‘Network Explorer’
- ‘OpenGL API 32 and 64 bit’
- ‘Rich Text Edit Control (MsftEdit) 32-bit’
- ‘Share Host 32 bit’
- ‘Task Manager 32 bit’
- ‘Taskbar popups (PC Shell Tray Flyouts)’
- ‘Windows Audit’
- ‘Windows Internet (WinINet)’ 32-bit and partial 64-bit
- ‘Windows Web App (WWA) Host 32 and 64 bit’
更新時間:2021-03-31
更新細節:
What's new in this version:
- Fixed the application minimizing and restoring
- Updated the using of Google Cloud Text-To-Speech
- The Opus audio files received from online TTS services will be converted to WAV files with the sample rate 24 KHz (instead of 48 KHz by default)
- Resources for Bulgarian and Spanish languages were updated
更新時間:2021-03-27
更新細節:
What's new in this version:
General:
- Fixed broken transcoding for some users
- Fixed file scanner freezing on some files with external subtitles
- Fixed support for HEVC (H.265) via tsMuxeR
Renderers:
- Fixed detection of some Samsung 4K (UHD) TVs
Translation updates via Crowdin:
- Dutch (100%)
- German (100%)
- Korean (99%)
- Norwegian (85%)
- Spanish (100%)
Dependencies:
- Bump spotbugs-maven-plugin from 4.2.0 to 4.2.2
更新時間:2021-03-26
更新細節:
What's new in this version:
New language features:
- Types written with where syntax can now be used to define constructors, e.g. (Foo{T} where T)(x) = ....
- <-- and <--> are now available as infix operators, with the same precedence and associativity as other arrow-like operators
- Compilation and type inference can now be enabled or disabled at the module level using the experimental macro [email protected]_options
- The library name passed to ccall or @ccall can now be an expression involving global variables and function calls. The expression will be evaluated the first time the ccall executes
- ? (U+A71B), ? (U+A71C) and ? (U+A71D) can now also be used as operator suffixes. They can be tab-completed from ^uparrow, ^downarrow and ^! in the REPL
- Standalone "dotted" operators now get parsed as Expr(:., :op), which gets lowered to Base.BroadcastFunction(op). This means .op is functionally equivalent to (x...) -> (op).(x...), which can be useful for passing the broadcasted version of an operator to higher-order functions, for example map(.*, A, B) for an elementwise product of two arrays of arrays
- The syntax import A as B (plus import A: x as y, import A.x as y, and using A: x as y) can now be used to rename imported modules and identifiers
- Unsigned literals (starting with 0x) which are too big to fit in a UInt128 object are now interpreted as BigInt
- It is now possible to use ... on the left-hand side of assignments for taking any number of items from the front of an iterable collection, while also collecting the rest, for example a, b... = [1, 2, 3]. This syntax is implemented using Base.rest, which can be overloaded to customize its behavior for different collection types
Language changes:
- The postfix conjugate transpose operator ' now accepts Unicode modifiers as suffixes, so e.g. a'? is parsed as var"'?"(a), which can be defined by the user. a'? parsed as a' * ? before, so this is a minor breaking change.
- Macros that return :quote expressions (e.g. via Expr(:quote, ...)) were previously able to work without escaping (esc(...)) their output when needed. This has been corrected, and now esc must be used in these macros as it is in other macros.
- The --> operator now lowers to a :call expression, so it can be defined as a function like other operators. The dotted version .--> is now parsed as well. For backwards compatibility, --> still parses using its own expression head instead of :call.
- The a[begin, k] syntax now calls firstindex(a, 1) rather than first(axes(a, 1)), but the former now defaults to the latter for any a
- ? (U+233F) and ¦ (U+00A6) are now infix operators with times-like and plus-like precedence, respectively. Previously they were parsed as identifier characters
Compiler/Runtime improvements:
- All platforms can now use @executable_path within jl_load_dynamic_library(). This allows executable-relative paths to be embedded within executables on all platforms, not just MacOS, which the syntax is borrowed from
- Constant propagation now occurs through keyword arguments
- The precompilation cache is now created atomically. Invoking n Julia processes simultaneously may create n temporary caches
Command-line option changes:
- There is no longer a concept of "home project": starting julia --project=dir is now exactly equivalent to starting julia and then doing pkg> activate $dir and julia --project is exactly equivalent to doing that where dir = Base.current_project(). In particular, this means that if you do pkg> activate after starting julia with the --project option (or with JULIA_PROJECT set) it will take you to the default active project, which is @v1.6 unless you have modified LOAD_PATH.
Multi-threading changes:
- Locks now automatically inhibit finalizers from running, to avoid deadlock
- New function Base.Threads.foreach(f, channel::Channel) for multithreaded Channel consumption
Build system changes:
- Windows Installer now has the option to 'Add Julia to Path'. To unselect this option from the commandline simply remove the tasks you do not want to be installed: e.g. ./julia-installer.exe /TASKS="desktopicon,startmenu,addtopath", adds a desktop icon, a startmenu group icon, and adds Julia to system PATH.
New library functions:
- New function Base.kron! and corresponding overloads for various matrix types for performing Kronecker product in-place
- New function Base.readeach(io, T) for iteratively performing read(io, T)
- Iterators.map is added. It provides another syntax Iterators.map(f, iterators...) for writing (f(args...) for args in zip(iterators...)), i.e. a lazy map
- New function sincospi for simultaneously computing sinpi(x) and cospi(x) more efficiently
- New function cispi(x) for more accurately computing cis(pi * x)
- New function addenv for adding environment mappings into a Cmd object, returning the new Cmd object.
- New function insorted for determining whether an element is in a sorted collection or not
- New function Base.rest for taking the rest of a collection, starting from a specific iteration state, in a generic way
New library features:
- The redirect_* functions now accept devnull to discard all output redirected to it, and as an empty input
- The redirect_* functions can now be called on IOContext objects
- findfirst, findnext, findlast, and findall now support AbstractVector{<:Union{Int8,UInt8}} (pattern, array) arguments
- New constructor NamedTuple(iterator) that constructs a named tuple from a key-value pair iterator
- A new reinterpret(reshape, T, a::AbstractArray{S}) reinterprets a to have eltype T while potentially inserting or consuming the first dimension depending on the ratio of sizeof(T) and sizeof(S).
- New append!(vector, collections...) and prepend!(vector, collections...) methods accept multiple collections to be appended or prepended
- keys(io::IO) has been added, which returns all keys of io if io is an IOContext and an empty Base.KeySet otherwise
- count now accepts an optional init argument to control the accumulation type
- New method occursin(haystack) that returns a function that checks whether its argument occurs in haystack
- New methods ?(collection), ?(item), and ?(item) returning corresponding containment-testing functions
- The nextprod function now accepts tuples and other array types for its first argument
- The reverse(A; dims) function for multidimensional A can now reverse multiple dimensions at once by passing a tuple for dims, and defaults to reversing all dimensions; there is also a multidimensional in-place reverse!(A; dims)
- The function isapprox(x,y) now accepts the norm keyword argument also for numeric (i.e., non-array) arguments x and y
- ispow2(x) now supports non-Integer arguments x
- view, @view, and @views now work on AbstractStrings, returning a SubString when appropriate
- All AbstractUnitRange{<:Integer}s now work with SubString, view, @view and @views on strings
- sum, prod, maximum, and minimum now support init keyword argument
- unique(f, itr; seen=Set{T}()) now allows you to declare the container type used for keeping track of values returned by f on elements of itr
- first and last functions now accept an integer as second argument to get that many leading or trailing elements of any iterable
- CartesianIndices now supports step different from 1. It can also be constructed from three CartesianIndexes I, S, J using I:S:J. step for CartesianIndices now returns a CartesianIndex
- RegexMatch objects can now be probed for whether a named capture group exists within it through haskey()
- For consistency haskey(r::RegexMatch, i::Integer) has also been added and returns if the capture group for i exists
Standard library changes:
- A new standard library TOML has been added for parsing and printing TOML files
- A new standard library Downloads has been added, which replaces the old Base.download function with Downloads.download, providing cross-platform, multi-protocol, in-process download functionality implemented with libcurl
- Libdl has been moved to Base.Libc.Libdl, however it is still accessible as an stdlib
- To download artifacts lazily, LazyArtifacts now must be explicitly listed as a dependency, to avoid needing the support machinery to be available when it is not commonly needed
- It is no longer possible to create a LinRange, StepRange, or StepRangeLen with a <: Integer eltype but non-integer step
- intersect on CartesianIndices now returns CartesianIndices instead of Vector{<:CartesianIndex}
- push!(c::Channel, v) now returns channel c. Previously, it returned the pushed value v
- The composition operator ° now returns a Base.ComposedFunction instead of an anonymous function
- Logging (such as @warn) no longer catches exceptions in the logger itself
- @time now reports if the time presented included any compilation time, which is shown as a percentage
- @varinfo can now report non-exported objects within modules, look recursively into submodules, and return a sorted results table
- @testset now supports the option verbose to show the test result summary of the children even if they all pass
- In LinearIndices(::Tuple) and CartesianIndices(::Tuple), integers (as opposed to ranges of integers) in the argument tuple now consistently describe 1-based ranges, e.g, CartesianIndices((3, 1:3)) is equivalent to CartesianIndices((1:3, 1:3)). This is how tuples of integers have always been documented to work, but a bug had caused erroneous behaviors with heterogeneous tuples containing both integers and ranges
Package Manager:
- pkg> precompile is now parallelized through depth-first precompilation of dependencies. Errors will only throw for direct dependencies listed in the Project.toml.
- pkg> precompile is now automatically triggered whenever Pkg changes the active manifest. Auto-precompilation will remember if a package has errored within the given environment and will not retry until it changes. Auto-precompilation can be gracefully interrupted with a ctrl-c and disabled by setting the environment variable JULIA_PKG_PRECOMPILE_AUTO=0.
- The Pkg.BinaryPlatforms module has been moved into Base as Base.BinaryPlatforms and heavily reworked. Applications that want to be compatible with the old API should continue to import Pkg.BinaryPlatforms, however new users should use Base.BinaryPlatforms directly
- The Pkg.Artifacts module has been imported as a separate standard library. It is still available as Pkg.Artifacts, however starting from Julia v1.6+, packages may import simply Artifacts without importing all of Pkg alongside
LinearAlgebra:
- New method LinearAlgebra.issuccess(::CholeskyPivoted) for checking whether pivoted Cholesky factorization was successful
- UniformScaling can now be indexed into using ranges to return dense matrices and vectors
- New function LinearAlgebra.BLAS.get_num_threads() for getting the number of BLAS threads
- (+)(::UniformScaling) is now defined, making +I a valid unary operation
- Instances of UniformScaling are no longer isequal to matrices. Previous behaviour violated the rule that isequal(x, y) implies hash(x) == hash(y)
- Transposing *Triangular matrices now returns matrices of the opposite triangular type, consistently with adjoint!(::*Triangular) and transpose!(::*Triangular). Packages containing methods with, e.g., Adjoint{<:Any,<:LowerTriangular{<:Any,<:OwnMatrixType}} should replace that by UpperTriangular{<:Any,<:Adjoint{<:Any,<:OwnMatrixType}} in the method signature
Markdown:
Printf:
- Complete overhaul of internal code to use the ryu float printing algorithms (from Julia 1.4); leads to consistent 2-5x performance improvements.
- New Printf.tofloat function allowing custom float types to more easily integrate with Printf formatting by converting their type to Float16, Float32, Float64, or BigFloat.
- New Printf.format"..." and Printf.Format(...) functions that allow creating Printf.Format objects that can be passed to Printf.format for easier dynamic printf formatting.
- Printf.format(f::Printf.Format, args...) as a non-macro function that applies a printf format f to provided args.
Random:
REPL:
- The AbstractMenu extension interface of REPL.TerminalMenus has been extensively overhauled. The new interface does not rely on global configuration variables, is more consistent in delegating printing of the navigation/selection markers, and provides improved support for dynamic menus. These changes are compatible with the previous (deprecated) interface, so are non-breaking.
The new API offers several enhancements:
- Menus are configured in their constructors via keyword arguments
- For custom menu types, the new Config and MultiSelectConfig replace the global CONFIG Dict
- request(menu; cursor=1) allows you to control the initial cursor position in the menu (defaults to first item)
- MultiSelectMenu allows you to pass a list of initially-selected items with the selected keyword argument
- writeLine was deprecated to writeline, and writeline methods are not expected to print the cursor indicator. The old writeLine continues to work, and any of its method extensions should print the cursor indicator as before.
- printMenu has been deprecated to printmenu, and it both accepts a state input and returns a state output that controls the number of terminal lines erased when the menu is next refreshed. This plus related changes makes printmenu work properly when the number of menu items might change depending on user choices.
- numoptions, returning the number of items in the menu, has been added as an alternative to implementing options
- suppress_output (primarily a testing option) has been added as a keyword argument to request, rather than a configuration option
- Tab completion now supports runs of consecutive sub/superscript characters, e.g. ^(3) tab-completes to ?³?
- Windows REPL now supports 24-bit colors, by correctly interpreting virtual terminal escapes
SparseArrays:
- Display large sparse matrices with a Unicode "spy" plot of their nonzero patterns, and display small sparse matrices by an Matrix-like 2d layout of their contents
- New convenient spdiagm([m, n,] v::AbstractVector) methods which call spdiagm([m, n,] 0 => v), consistently with their dense diagm counterparts
Dates:
- Quarter period is defined
- canonicalize can now take Period as an input
- Zero-valued FixedPeriods and OtherPeriods now compare equal, e.g., Year(0) == Day(0). The behavior of non-zero Periods is not changed
Statistics:
Sockets:
Distributed:
- Now supports invoking Windows workers via ssh (via new keyword argument shell=:wincmd in addprocs)
- Other new keyword arguments in addprocs: ssh to specify the ssh client path, env to pass environment variables to workers, and cmdline_cookie to work around an ssh problem with Windows workers that run older (pre-ConPTY) versions of Windows, Julia or OpenSSH.
UUIDs:
- Change uuid1 and uuid4 to use Random.RandomDevice() as default random number generator
- Added parse(::Type{UUID}, ::AbstractString) method
Mmap:
- On Unix systems, the Mmap.madvise! function (along with OS-specific Mmap.MADV_* constants) has been added to give advice on handling of memory-mapped arrays
Deprecated or removed:
- The Base.download function has been deprecated (silently, by default) in favor of the new Downloads.download standard library function
- The Base.Grisu code has been officially removed (float printing was switched to the ryu algorithm code in 1.4). The code is available from JuliaAttic if needed
更新時間:2021-03-25
更新細節:
What's new in this version:
Added:
- the using of Naver Text-To-Speech (for testing purposes only)
- the using of the Naver Papago translation service
- the option "Stereo" for Yandex Speechkit (this will allow to use left and right channels alternatively for dialogues)
- The using of Online TTS was disabled
- Resources for Bulgarian and Chinese (Simplified) languages were updated
更新時間:2021-03-20
更新細節:
What's new in this version:
General:
- Added renderer config setting DisableUmsResume for renderers with their own resume support, like Samsung TVs
- Improved speed of transcoding to H.264 by up to 3x
- Fixed MEncoder crashing when trying to downmix 7.1 AAC to 5.1 AC-3
- Fixed renderer SupportedVideoBitDepths setting
- Improved memory use and speed when resume is disabled
- Fixed renderer resolution and bitrate limiting
- Fixed broken transcoding for some users since the previous release
Renderers:
- Improved support for VC1 codec on Sony Blu-ray UBP-X800M2
- Improved support for many filetypes on Kodi
- Improved support for 12-bit video on VLC
Translation updates via Crowdin:
- Estonian (24%)
- Japanese (97%)
- Russian (91%)
Dependencies:
- Bump git-commit-id-plugin from 4.0.3 to 4.0.4
- Rolled back FFmpeg
更新時間:2021-03-20
更新細節:
What's new in this version:
- Added the options "Insert blank lines after sentences" and "Insert blank lines after paragraphs" for LRC files (the window "Audio Files", the tab "Subtitles")
- Added the encoding detecting for LRC and SRT files (the window "Convert Subtitles to Audio Files")
- Fixed small bug
- Resources for German language were updated
更新時間:2021-03-13
更新細節:
What's new in this version:
General:
- Improved automatic maximum bandwidth setting and enabled it by default
- Improved performance of browsing folders
- Fixed being able to click the web interface button before it is browsable
- Fixed matching and prettifying some TV episodes
- Fixed binding to virtual network interfaces by default (can still be forced)
Renderers:
- Added support for foobar2000 mobile
- Improved support for Apple TV 4K
- Fixed audio support on Bravia EX 500
Translation updates via Crowdin:
- Arabic (96%)
- Chinese (Traditional
- Czech (100%)
- Danish (100%)
- Finnish (100%)
- Italian (96%)
- Korean (99%)
- Polish (100%)
- Portuguese (100%)
- Russian (91%)
- Slovak (96%)
- Swedish (100%)
- Turkish (100%)
Dependency updates:
- Bump checkstyle from 8.40 to 8.41
- Bump FFmpeg to latest
- Bump thumbnailator from 0.4.13 to 0.4.14
- Bump twelvemonkeys-imageio-version from 3.6.2 to 3.6.4
更新時間:2021-03-13
更新細節:
更新時間:2021-03-11
更新細節:
What's new in this version:
- Small improvements
- Resources for Bulgarian and Spanish languages were updated