Blisk 歷史版本列表
Blisk 是一個基於鉻的瀏覽器,用於 web 開發的基本工具。將其用於同時構建和測試您的網站的桌面和移動版本。 Blisk 使開發人員能夠同時在多個設備上編碼,預覽其更改! 4 使用原因 Blisk:TIME SAVING以光速發展!現在您不需要一直刷新頁面,搜索並滾動到所需的元素。 Blisk 從根本上節省了開發和測試的時間。瀏覽器將使你的生產力達到 200%。所以你可以把你的工作快兩倍,把時... Blisk 軟體介紹更新時間:2020-07-08
更新細節:
What's new in this version:
Major Changes:
- ILSpy 6.0 sports a multi-tab docking interface
- ILSpy 6.0 comes with a new Metadata Explorer
- ILSpy 6.0 has new icons for high-DPI support
- ILSpy 6.0 requires at least .NET 4.7.2 (v5.0 required .NET 4.6.2)
New Language Features:
- C# 8.0: Indexing and Slices (Ranges)
- C# 7.0: Changes to syntactic disambiguation of generic identifiers
- C# 7.3 pattern-based fixed statement
- C# 8.0 Default Interface Methods
- C# 8.0 Async streams (currently not covering await foreach)
- C# 8.0 await using
- C# 8.0 Readonly members
- Decompile calli instructions using C# 9.0 function pointer syntax
- Improved support for Unsafe intrinsics
- Support for generic and static local functions
UI Improvements:
- Docking and multi tab support
- Metadata Explorer
- Assembly list dropdown in toolbar, enhanced assembly list management
- Show target frameworks next to the assembly version in the tree-view
- Using the middle mouse button to click on tree nodes and links will open the decompilation result in a new tab
- "Select PDB" context menu: allows to change the PDB file resolved by ILSpy or pick one from a different location
- Added a "Debug Metadata Explorer" node for portable PDBs
- Use XAML for icons (high DPI)
- New icons (based on VS 2017 icon pack)
- RichText Tooltips
- Add "Open with ILSpy" entry to the Windows Explorer context menu on exe and dll files (via Options/Misc)
- Empty metadata tables can now be hidden from the tree view
- Folding for XAML output
- Add "Reset to defaults" in Options dialog
- Dynamic assembly list generation for target framework
Improvements & Bug-fixes:
- Project export: Added an option to allow SDK-style format for project files
- Solution and project decompilation: Add missing ProjectTypeGuids
- Add search features
- #1498: Remove Fusion API usage: Use standard file enumeration instead. This should enable us to use the GAC even with restricted access, as only the LIST permission is required
- Fix DotNetCorePathFinder to properly support netstandard2.1
- Fix multi-module support
- Updated links to MS Docs
- Improve ReduceNestingTransform by considering nested containers
- Analyzers: Added "Implements interface"-Analyzer
- Analyzer follow type forwarders
- The decompiler now supports Scalar Replacement Of Aggregates, which by default only works on display-classes and display-structs. There is an option to make it affect all instances and uses of plain types containing fields only. NOTE: It is still in preview stage. You can activate it when using a debug build.
- Added support for null-propagation on unconstrained generic expressions
- Added support for [module: NullablePublicOnly]
- Enhanced assembly resolution to distinguish target frameworks and use the correct references in case there are multiple versions of framework assemblies loaded.
- Better decompilation of local functions, pinned regions and display-classes
- Disassembler: actually make use of the cancellation token
- Support VB Select Case on string
- Display System.Void as struct
- Properly decompile auto events with tuples
- Do not change accessibility of non-transformed local functions
- Improve drag&drop support
- Fix bug in stackalloc initializer detection involving Span
- Added struct constructor initializer pattern
- DotNetCorePathFinder: Various bug fixes when working with .net core assemblies
- Transform post-increment on float/double
- Fix extra minus sign when formatting -0 on .NET Core 3.0
- Fix sealed modifier on interface methods with no body
- Fix NullReferenceException when foreach decompilation is turned off
- Fixed performance problem when using an assembly from a MemoryStream
更新時間:2020-06-03
更新細節:
What's new in this version:
- Bug fixes and speed optimizations
更新時間:2020-05-25
更新細節:
更新時間:2020-05-24
更新細節:
更新時間:2020-04-17
更新細節:
更新時間:2020-03-22
更新細節:
What's new in this version:
New language features:
- Structs with all isbits and isbitsunion fields are now stored inline in arrays
- import now allows quoted symbols, e.g. import Base.:+
- a[begin] can now be used to address the first element of an integer-indexed collection a. The index is computed by firstindex(a)
Language changes:
- The syntax (;), which used to parse as an empty block expression, is deprecated. In the future it will indicate an empty named tuple
Multi-threading changes:
- Values can now be interpolated into @async and @spawn via $, which copies the value directly into the constructed underlying closure
Build system changes:
- Windows build installer has switched to Inno Setup. Installer command line parameters have thus changed. For example, to extract the installer to a specific directory, the command line parameter is now /DIR=x:dirname. Use julia-installer.exe /? to list all new command line parameters.
New library functions:
- The new only(x) function returns the one-and-only element of a collection x, and throws an ArgumentError if x contains zero or multiple elements
- takewhile and dropwhile have been added to the Iterators submodule
- accumulate has been added to the Iterators submodule
- There is a now an evalpoly function meant to take the role of the @evalpoly macro. The function is just as efficient as the macro while giving added flexibility, so it should be preferred over @evalpoly. evalpoly takes a list of coefficients as a tuple, so where one might write @evalpoly(x, p1, p2, p3) one would instead write evalpoly(x, (p1, p2, p3)).
New library features:
- Function composition now supports multiple functions: ∘(f, g, h) = f ∘ g ∘ h and splatting ∘(fs...) for composing an iterable collection of functions
- Functions gcd, lcm, and gcdx now support Rational arguments
- The splitpath function now accepts any AbstractString whereas previously it only accepted paths of type String
- filter can now act on a Tuple
- The tempname function now takes an optional parent::AbstractString argument to give it a directory in which to attempt to produce a temporary path name
- The tempname function now takes a cleanup::Bool keyword argument defaulting to true, which causes the process to try to ensure that any file or directory at the path returned by tempname is deleted upon process exit
- The readdir function now takes a join::Bool keyword argument defaulting to false, which when set causes readdir to join its directory argument with each listed name
- div now accepts a rounding mode as the third argument, consistent with the corresponding argument to rem. Support for rounding division, by passing one of the RoundNearest modes to this function, was added. For future compatibility, library authors should now extend this function, rather than extending the two-argument fld/cld/div directly
- methods now accepts a module (or a list thereof) to filter methods defined in it
Standard library changes:
- Calling show or repr on an undef/UndefInitializer() array initializer now shows valid Julia code
- Calling show or repr on a 0-dimensional AbstractArray now shows valid code for creating an equivalent 0-dimensional array, instead of only showing the contained value
- readdir output is now guaranteed to be sorted. The sort keyword allows opting out of sorting to get names in OS-native order
- The methods of mktemp and mktempdir that take a function to pass temporary paths to no longer throw errors if the path is already deleted when the function returns
- Verbose display of Char (text/plain output) now shows the codepoint value in standard-conforming "U+XXXX" format
- Iterators.partition now uses views (or smartly re-computed ranges) for partitions of all AbstractArrays
- Sets are now displayed less compactly in the REPL, as a column of elements, like vectors and dictionaries
- delete! on WeakKeyDicts now returns the WeakKeyDict itself instead of the underlying Dict used for implementation
LinearAlgebra:
- qr and qr! functions support blocksize keyword argument
- dot now admits a 3-argument method dot(x, A, y) to compute generalized dot products dot(x, A*y), but without computing and storing the intermediate result A*y
- ldlt and non-pivoted lu now throw a new ZeroPivotException type
- cond(A, p) with p=1 or p=Inf now computes the exact condition number instead of an estimate
- UniformScaling objects may now be exponentiated such that (a*I)^x = a^x * I.
Markdown:
- Tables now have the align attribute set when shown as HTML
Random:
- AbstractRNGs now behave like scalars when used in broadcasting
- The performance of rand(::Tuple) is improved in some cases. As a consequence, the stream of generated values produced for a given seed has changed
REPL:
- The attributes of the implicit IOContext used by the REPL to display objects can be modified by the user (experimental feature)
SparseArrays:
- The return value of zero(x::AbstractSparseArray) has no stored zeros anymore. Previously, it would have stored zeros wherever x had them. This makes the operation constant time instead of O(<number of stored values>).
- Products involving sparse arrays now allow more general sparse eltypes, such as StaticArrays
更新時間:2019-12-31
更新細節:
更新時間:2019-11-27
更新細節:
What's new in this version:
New language features:
- Support for Unicode 12.1.0
- Methods can now be added to an abstract type
- Support for unicode bold digits and double-struck digits 0 through 9 as valid identifiers
- Added the syntax var"#str#" for printing and parsing non-standard variable names
Multi-threading changes:
- New experimental [email protected] macro that runs a task on any available thread
- All system-level I/O operations (e.g. files and sockets) are now thread-safe. This does not include subtypes of IO that are entirely in-memory, such as IOBuffer, although it specifically does include BufferStream
- The global random number generator (GLOBAL_RNG) is now thread-safe (and thread-local)
- New Channel(f::Function, spawn=true) keyword argument to schedule the created Task on any available thread, matching the behavior of [email protected]
- Simplified the Channel constructor, which is now easier to read and more idiomatic julia. Use of the keyword arguments csize and ctype is now discouraged
New library functions:
- findfirst, findlast, findnext and findprev now accept a character as first argument to search for that character in a string passed as the second argument
- New findall(pattern, string) method where pattern is a string or regex
count(pattern, string) gives the number of things findall would match
istaskfailed is now documented and exported, like its siblings istaskdone and istaskstarted
RefArray and RefValue objects now accept index CartesianIndex() in getindex and setindex
Added sincosd(x) to simultaneously compute the sine and cosine of x, where x is in degrees
The function nonmissingtype, which removes Missing from type unions, is now exported
Standard library changes:
- Pkg won't clobber pre-compilation files as often when switching environments
- Pkg can now download and install binary artifacts through the Pkg.Artifacts submodule and supporting functions
- When wait (or @sync, or fetch) is called on a failing Task, the exception is propagated as a TaskFailedException wrapping the task. This makes it possible to see the location of the original failure inside the task (as well as the location of the wait call, as before)
- Regex can now be multiplied (*) and exponentiated (^), like strings
- Cmd interpolation (`$(x::Cmd) a b c` where) now propagates x's process flags (environment, flags, working directory, etc) if x is the first interpolant and errors otherwise
- Zero-dimensional arrays are now consistently preserved in the return values of mathematical functions that operate on the array(s) as a whole (and are not explicitly broadcasted across their elements). Previously, the functions +, -, *, /, conj, real and imag returned the unwrapped element when operating over zero-dimensional arrays
- IPAddr subtypes now behave like scalars when used in broadcasting
- Pair is now treated as a scalar for broadcasting
- clamp can now handle missing values
- empty now accepts a NamedTuple
- mod now accepts a unit range as the second argument to easily perform offset modular arithmetic to ensure the result is inside the range
- nothing can now be printed, and interpolated into strings etc. as the string "nothing". It is still not permitted to be interpolated into Cmds (i.e. echo `$(nothing)` will still error without running anything)
- When open is called with a function, command, and keyword argument (e.g. open(`ls`, read=true) do f ...) it now correctly throws a ProcessFailedException like other similar calls
- mktemp and mktempdir now try, by default, to remove temporary paths they create before the process exits
- Added argument keep to unescape_string
Libdl:
- dlopen() can now be invoked in do-block syntax, similar to open()
LinearAlgebra:
- The BLAS submodule no longer exports dot, which conflicts with that in LinearAlgebra
- diagm and spdiagm now accept optional m,n initial arguments to specify a size
- Hessenberg factorizations H now support efficient shifted solves (H+µI) b and determinants, and use a specialized tridiagonal factorization for Hermitian matrices. There is also a new UpperHessenberg matrix type
- Added keyword argument alg to svd and svd! that allows one to switch between different SVD algorithms
- Five-argument mul!(C, A, B, α, β) now implements inplace multiplication fused with addition C = A B α + C β
SparseArrays:
- SparseMatrixCSC(m,n,colptr,rowval,nzval) perform consistency checks for arguments: colptr must be properly populated and lengths of colptr, rowval, and nzval must be compatible with m, n, and eltype(colptr)
- sparse(I, J, V, m, n) verifies lengths of I, J, V are equal and compatible with eltype(I) and m, n
Dates:
- DateTime and Time formatting/parsing now supports 12-hour clocks with AM/PM via I and p codes, similar to strftime
- Fixed repr such that it displays Time as it would be entered in Julia
Statistics:
- mean now accepts both a function argument and a dims keyword
Sockets:
- Sockets.recvfrom now returns both host and port as an InetAddr
- Added InetAddr constructor from AbstractString, representing IP address, and Integer, representing port number
Miscellaneous:
- foldr and mapfoldr now work on any iterator that supports Iterators.reverse, not just arrays
Deprecated or removed:
- @spawn expr from the Distributed standard library should be replaced with @spawnat :any expr
- Threads.Mutex and Threads.RecursiveSpinLock have been removed; use ReentrantLock (preferred) or Threads.SpinLock instead
Tooling Improvements:
- The ClangSA.jl static analysis package has been imported, which makes use of the clang static analyzer to validate GC invariants in Julia's C code. The analysis may be run using make -C src analyzegc
更新時間:2019-11-02
更新細節:
What's new in this version:
- Fix crash while resolving .NET core references
- Respect language settings in display class transformation
- Use specialized generic types if a specialized variable is captured
- Stack overflow when decompiling a bool -> bool? conversion
- Expand using declarations setting was not saved
更新時間:2019-10-20
更新細節: