TinyButStrong Error in field [var.version...]: the key 'version' does not exist or is not set in VarRef. (VarRef seems refers to $GLOBALS) This message can be cancelled using parameter 'noerr'.

TinyButStrong Error in field [var.version...]: the key 'version' does not exist or is not set in VarRef. (VarRef seems refers to $GLOBALS) This message can be cancelled using parameter 'noerr'.
 WhatsApp for Windows 軟體舊版本 Download Page39 | 2024 軟體跟著走

WhatsApp for Windows 歷史舊版本 Page39

最新版本 [var.version]

WhatsApp for Windows 歷史版本列表

官方 WhatsApp for Windows 桌面應用程序允許您隨時隨地保持聯繫 - 無論您的手機還是家中的電腦或工作。該應用程序本身與 WhatsApp Web 非常相似,它本來就是一個擴展程序  的手機:該應用程序鏡像從您的移動設備的對話和消息. 選擇版本:WhatsApp for Windows 0.2.7315(32 位)WhatsApp for Windows 0.2.731... WhatsApp for Windows 軟體介紹

WhatsApp for Windows (32-bit)WhatsApp for Windows (64-bit)


Wickr Me 5.82.14 查看版本資訊

更新時間:2021-06-25
更新細節:

Tableau Desktop 2021.2.0 查看版本資訊

更新時間:2021-06-24
更新細節:

What's new in this version:

Fixed:
- Simba SQL Server ODBC driver version 1.5.5 required "Integrated Security=true" in the connection string for NTLM and Kerberos Windows authentication on Macintosh.
- "Error Code: AE406838 [SQLSTATE:53100] Hyper was unable to grow the file partition" would sometimes occur when changing a filter in a worksheet. The Tableau Online error would show "[SQLSTATE:53S03] Cannot allocate bytes of memory."
- When a federated datasource is published from the Data tab by selecting "Create Data Extract" or "Activate Data Extract", the screens presented could be incorrect and confusing.
- A WDC could cause Tableau Desktop to become unresponsive
- An error message could display on opening a workbook, "Error Code: ADE4BC90 Missing password. Unable to properly calculate the domain for the field 'Artifact Id'. Displayed data may be incorrect."

Spyder Python 5.0.5 查看版本資訊

更新時間:2021-06-23
更新細節:

What's new in this version:

- fixed: Catch any error when trying to detect if Kite installers are available

MyLanViewer 4.26.0 查看版本資訊

更新時間:2021-06-21
更新細節:

DVDFab 12.0.3.4 (64-bit) 查看版本資訊

更新時間:2021-06-18
更新細節:

What's new in this version:

DVDFab 12.0.3.4 (64-bit)
Fixed:
- A problem that the EAC3 audio track of the output video contains only 6 channels despite there are 8 in the source when converting Blu-rays in the Blu-ray Ripper module
- A problem that the titles are displayed in the Playlist order by default after opening Blu-rays in the Blu-ray relevant modules
- A crash problem when converting certain BDAV discs in the Blu-ray Recorder Ripper module
- Some minor changes and improvements


DVDFab 12.0.3.2 (64-bit)
Fixed:
- A problem that the Menu Settings panel is missing from the UHD to Blu-ray Converter module
- An installation failure problem when installing other DVDFab products recommended in the Updater window if the display language is Japanese


DVDFab 12.0.3.1 (64-bit)
- New: Added the support for some new Java protections
- New: Some improvements on GUI display on 4K displays with high DPI settings
- Fix: A B-Frame conversion problem when converting videos to MKV format on machines installed with NVIDIA Turing graphics card


DVDFab 12.0.3.0 (64-bit)
New:
- Added the support to remember user’s preference on the Scan Forced Subtitles option
- Some improvements on GUI display
- Some improvements on converting 8K videos

Fixed:
- A problem that the subtitle font cannot be changed when adding external SRT subtitles
- A failure problem when converting certain Blu-ray ISO files in the Blu-ray Ripper module
- A failure problem when converting the Blu-ray version of Enemy Mine in the Blu-ray Ripper module
- A problem that subtitles color changes after converting the Netflix videos downloaded by DVDFab Downloader to DVDs


DVDFab 12.0.2.9 (64-bit)
New:
- Added the support for some new Java protections

Fixed:
- A failure problem when converting certain Blu-rays to MP4 videos in the Blu-ray Ripper module
- A crash problem when converting certain DVDs to MP4 videos in the DVD Ripper module
- A failure problem when switching to DVDFab Mini in certain cases
- A crash problem when starting up the DRM Removal module in certain cases
- Some minor changes and improvements


DVDFab 12.0.2.8 (64-bit)
- Change log not available for this version


DVDFab 12.0.2.7 (64-bit)
New:
- Added the support for some new Java protections
- Added the support to convert SRT subtitles to IDX format when converting videos in the Video Converter module
- Added the support to convert the PCM 24 audios from Blu-rays to PCM 16 audios in the Blu-ray Copy and Blu-ray Ripper modules

Fixed:
- A problem that the tabs on the upper navigation menu do not respond in certain cases
- A failure problem when merging DVDs in the DVD Copy module in certain cases
- A problem that the output DVDs converted from certain Blu-rays contain no audios
- A problem that the output file size is 0KB when converting certain Blu-rays to MP4 using the MP4.Apple.Prores profile
- A failure problem when converting certain videos in the Video Converter module


DVDFab 12.0.2.6 (64-bit)
- New: Added some 5K relevant MKV, MP4, MOV and M2TS conversion profiles in the Video Converter and Ripper modules

Fixed
- An update failure problem if the OS language is Japanese
- A freeze problem when upscaling Blu-rays with Enlarger AI on machines installed with certain NVIDIA video cards
- A failure problem when converting Blu-rays with MKV.H265 profile in the Blu-ray Ripper module
- A minor GUI display problem when adjusting the width of the Title column on the main interface


DVDFab 12.0.2.5 (64-bit)
- Change log not available for this version


DVDFab 12.0.2.4 (64-bit)
New:
- Added the support to output FLAC audios in the MP4 relevant profiles in the Ripper and Converter modules
- Added two 8K MOV relevant profiles in the Ripper and Converter modules


DVDFab 12.0.2.3 (64-bit)
New:
- Some improvements on the Enlarger AI conversion engine
- Added the support to output ALAC audios when converting with MKV relevant profiles in the Ripper and Video Converter modules
- Added the MOV conversion profile in the Ripper and Video Converter modules

Fixed:
- A freeze problem when converting certain DVDs to Blu-rays with the 32-bit version DVDFab 12
- A freeze problem when converting certain M2TS videos to MP4 videos with TrueHD audios
- A problem the output files are still sent to One Drive despite selecting another output path when merging Blu-rays in the Blu-ray Ripper module


DVDFab 12.0.2.2 (64-bit)
- New: Added Netflix Downloader, Amazon Downloader, Disney Plus Downloader and others to the Launchpad

Fixed:
- A problem that DVDFab Remote cannot display the renamed output file title
- A freeze problem when converting certain Blu-rays to MKV videos in the Blu-ray Ripper module
- A problem that the estimated output size does not match with the source size when copying 4K Ultra HD Blu-rays to BD100 size in the UHD Copy module
- a minor GUI display problem


DVDFab 12.0.2.1 (64-bit)
New:
- Added the support for some new Java protections
- Some improvements on memory usage when upscaling videos with Enlarger AI
- Some improvements on the software stability when upscaling DVDs to Blu-rays with Enlarger AI
- Added the support to output FLAC audios in the MKV relevant conversion profiles

Fixed:
- A failure problem when converting certain DVDs in the DVD Ripper module
- A failure problem when converting DVDs using the MKV.Apple.ProRes conversion profile in the DVD Ripper module
- A freeze problem when copying certain 4K Ultra HD Blu-rays with the Full Disc mode in the UHD Copy module
- A failure problem when converting certain types of videos in the Creator modules
- A minor GUI display problem


DVDFab 12.0.2.0 (64-bit)
New:
- Added the support for some new Java protections
- Added the support to output 7.1-channel TrueHD audios when converting Blu-rays and 4K Ultra HD Blu-rays containing DTS-HD audios in the Ripper modules

Fixed:
- A problem that certain conversion profiles appear twice in the profile library when installing a new version over the previous one
- A freeze problem when converting m2ts videos in the Video Converter module in certain cases.
- A problem that the Volume Up settings at the Advanced Settings panel does not work with the Video Converter module
- Some minor changes and improvements


DVDFab 12.0.1.9 (64-bit)
New:
- Added the support for some new Java protections
- Discontinued the OS support for the Enlarger AI module on older Windows versions, only Windows 10 64-bit is supported now
- Added the Apple Prores codec output support in MP4/MKV passthrough conversion profiles

Fixed:
- A problem that the Clear Opening History feature does not work
- A problem that the Metadata of the output files by the Ripper module contain messy codes
- A crash problem upon clicking the Choose Other Titles button in certain cases
- A problem that the output videos by the MKV.3D.MVC conversion profile in the Blu-ray Ripper module are not 3D
- A problem that the output videos by the UHD Ripper module contain no Dolby audios
- A conversion failure problem in the Blu-ray Recorder Ripper module in certain cases
- A text display problem in the Menu Settings panel of the Blu-ray Creator module


DVDFab 12.0.1.8 (64-bit)
New:
- Added the support for some new Java protections
- Added the support to convert DVDs to Hi-Fi audio files in the DVD Ripper module
- Improved the support for the AI conversion with NVIDIA Graphics Cards
- Improved the live update feature

- Fix: A Cinavia removal failure problem.


DVDFab 12.0.1.7 (64-bit)
- New: Added the TrueHD audio conversion profile in the Ripper and Video Converter modules
- New: Added the MP4.Apple.ProRes and MKV.Apple.ProRes video conversion profiles in the Ripper and Video Converter modules
- Fix: A title bar display problem
- Fix: A Cinavia removal failure problem on certain Blu-rays


DVDFab 12.0.1.6 (64-bit)
- New: Added the support for some new Java protections
- Fix: An abnormal subtitle display problem when converting MKV videos in the Video Converter module or making Blu-rays using MKV videos in the Blu-ray Creator module
- Fix: A task auto-cancellation problem in the DVD Copy module when burning the source to multiple blank DVDs.
- Fix: A crash problem in certain cases.


DVDFab 12.0.1.5 (64-bit)
New:
- Added the “For Old Movie” training model in the Enlarger AI to enlarge the old movies before 1980
- Added the “Ultra+Deinterlace (Fast)” training model in the Enlarger AI to deinterlace videos much better and faster than “Ultra"
- Added the support for TrueHD 5.1 audio encoding in MKV relevant conversion profiles in the Ripper and Video Converter modules
- Added the support for WMV videos as source in the Creator module

- Fix: A problem that the auto-shutdown feature does not work in certain cases


DVDFab 12.0.1.4 (64-bit)
- Change log not available for this version


DVDFab 12.0.1.3 (64-bit)
New:
- Improved the support for Enlarger AI
- Added the support to upscale videos with Enlarger AI on machines installed with NVIDIA GeForce RTX 30 Series Graphics Cards
- Added the support to choose the Premium Quality or Ultra Quality when upscaling Blu-rays with Enlarger AI
- Added the support to output 720p quality when upscaling DVDs with Enlarger AI
- Added the support to output WebM videos in the Ripper and Converter modules

- Fix: A problem that the "Download More Menu" button does not show up under high DPI settings


DVDFab 12.0.1.2 (64-bit)
- Fix: A freeze problem upon startup in certain cases


DVDFab 12.0.1.1 (64-bit)
New:
- Minor improvement on the Onli Installer
- Major improvement on the H.265 software encoding to speed up the conversion by 20% ~ 50%
- Minor improvement on the burning engine
- Added the support to delete the source from the Converter module when conversion finishes


DVDFab 12.0.0.9 (64-bit)
- New: Added the support for some new Java protections


DVDFab 12.0.0.8 (64-bit)
- Fix: A problem that the Advanced Settings panel does not display normally if the source loaded is an FLAC file in the Video Converter module
- Fix: A switch failure problem from the Mini version to the normal version
- Fix: A crash problem when opening certain types of files in certain cases


DVDFab 12.0.0.7 (64-bit)
New:
- Added the support for some new Java protections
- Temporarily removed the MP4.Passthrough conversion profile from the DVD Ripper module due to certain conversion problems

- Fix: A crash problem when switching display language


DVDFab 12.0.0.6 (64-bit)
New:
- Added the support for some new Java protections
- Added the support to convert the BDAV2 4K Blu-rays recorded by Sony and Sharp devices to other video formats

Fixed:
- A crash problem when clicking the Start button in the DVD Copy module in certain cases
- A crash problem upon the upscaling of DVD to Blu-ray with AI reaches 100% when burning to blank discs


DVDFab 12.0.0.5 (64-bit)
- New: Added the support for AI conversions with AMD Ryzen CPUs
- Fix: A conversion failure problem in the DVD & Blu-ray Ripper modules in certain cases
- Fix: A problem that the option of Output both AAC and AC3 audio tracks is gone missing from the Advanced Settings panel if MP4 profile is selected in the Ripper and Video Converter modules
- Fix: A problem that the custom conversion profiles are gone missing after updating to ver. 12.0.0.4


DVDFab 12.0.0.5 (64-bit)
- New: Added the support for AI conversions with AMD Ryzen CPUs
- Fix: A conversion failure problem in the DVD & Blu-ray Ripper modules in certain cases
- Fix: A problem that the option of Output both AAC and AC3 audio tracks is gone missing from the Advanced Settings panel if MP4 profile is selected in the Ripper and Video Converter modules
- Fix: A problem that the custom conversion profiles are gone missing after updating to ver. 12.0.0.4


DVDFab 12.0.0.4 (64-bit)
- New: Added the support for some new Java protections
- New: Added the support to access the information of forced subtitles from cloud server
- Fix: A crash problem if a trial user repeatedly tries a certain feature of the Video Converter module
- Fix: A conversion failure problem when batch processing videos in the Video Converter module
- Fix: A problem that the metadata information of the movie is not written into the MP4 file system during the conversion after searching that movie in the Video Converter module
- Fix: A problem that the UHD Drive Tool shows as unauthorized in certain cases


DVDFab 12.0.0.3 (64-bit)
- Fix: A problem that the Live Update feature does not work in certain cases


DVDFab 12.0.0.2 (64-bit)
- Fix: An H.265 custom setting problem in the Video Converter module
- Fix: A problem that the HDR10 content in certain videos cannot be recognized


DVDFab 12.0.0.1 (64-bit)
- Fix: A startup crash problem in certain cases
- Fix: An OCR failure problem when outputting SRT subtitles in the Ripper modules on PCs with older CPUs
- Fix: A problem that GPU load shows as 0% during conversion


DVDFab 12.0.0.0 (64-bit)
- All-new modern and elegant UI and color schemes: blue, light, dark, and 365
- Pre-loaded with frequently used profiles for both mobile and home theaters
- Introduced the Launchpad to access the modules and modes quickly and accurately
- Introduced the Blu-ray to UHD Converter to upconvert regular Blu-rays to UHD Blu-rays
- Introduced the Cloud Speedup technology to load sources much faster
- Improved the Cloud Decryption to decrypt discs old and new much faster
- Upgraded the UHD Drive Tool to support more drives and newest firmware
- Enhanced the Blu-ray Creator module to allow users to customize menus
- Automatically scan all subtitle streams to isolate and select forced subtitles
- Improved the Ripper and Video Converter modules to allow custom H.264/H.265 settings
- Tons more other fixes and improvements


DVDFab 11.1.0.7 (64-bit)
- New: Added the support for some new Japanese adult DVDs
- Fix: A problem that the de-interlacing feature does not work as expected

EarthView 6.10.10 查看版本資訊

更新時間:2021-06-18
更新細節:

What's new in this version:

- New: updated city database

Microsoft Edge 91.0.864.53 查看版本資訊

更新時間:2021-06-18
更新細節:

Rust 1.53.0 查看版本資訊

更新時間:2021-06-18
更新細節:

What's new in this version:

Rust 1.53.0
Language:
- You can now use unicode for identifiers. This allows multilingual identifiers but still doesn't allow glyphs that are not considered characters such as ◆ or ????. More specifically you can now use any identifier that matches the UAX #31 "Unicode Identifier and Pattern Syntax" standard. This is the same standard as languages like Python, however Rust uses NFC normalization which may be different from other languages.
- You can now specify "or patterns" inside pattern matches. Previously you could only use | (OR) on complete patterns. E.g.
- Added the :pat_param macro_rules! matcher. This matcher has the same semantics as the :pat matcher. This is to allow :pat to change semantics to being a pattern fragment in a future edition.

Compiler:
- Updated the minimum external LLVM version to LLVM 10
- Added Tier 3* support for the wasm64-unknown-unknown target
- Improved debuginfo for closures and async functions on Windows MSVC

Libraries:
- Abort messages will now forward to android_set_abort_message on Android platforms when available
- slice::IterMut<'_, T> now implements AsRef<[T]>
- Arrays of any length now implement IntoIterator. Currently calling .into_iter() as a method on an array will return impl Iterator<Item=&T>, but this may change in a future edition to change Item to T. Calling IntoIterator::into_iter directly on arrays will provide impl Iterator<Item=T> as expected.
- leading_zeros, and trailing_zeros are now available on all NonZero integer types.
- {f32, f64}::from_str now parse and print special values (NaN, -0) according to IEEE RFC 754.
- You can now index into slices using (Bound<usize>, Bound<usize>)
- Add the BITS associated constant to all numeric types


Rust 1.52.1
- Change log not available for this version


Rust 1.52.0
Language:
- Added the unsafe_op_in_unsafe_fn lint, which checks whether the unsafe code in an unsafe fn is wrapped in a unsafe block. This lint is allowed by default, and may become a warning or hard error in a future edition.
- You can now cast mutable references to arrays to a pointer of the same type as the element

Compiler:
- Upgraded the default LLVM to LLVM 12

Added tier 3* support for the following targets:
- s390x-unknown-linux-musl
- riscv32gc-unknown-linux-musl & riscv64gc-unknown-linux-musl
- powerpc-unknown-openbsd
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- OsString now implements Extend and FromIterator
- cmp::Reverse now has #[repr(transparent)] representation
- Arc now implements error::Error
- All integer division and remainder operations are now const

Stabilised APIs:
- Arguments::as_str
- char::MAX
- char::REPLACEMENT_CHARACTER
- char::UNICODE_VERSION
- char::decode_utf16
- char::from_digit
- char::from_u32_unchecked
- char::from_u32
- slice::partition_point
- str::rsplit_once
- str::split_once
- The following previously stable APIs are now const.:
- char::len_utf8
- char::len_utf16
- char::to_ascii_uppercase
- char::to_ascii_lowercase
- char::eq_ignore_ascii_case
- u8::to_ascii_uppercase
- u8::to_ascii_lowercase
- u8::eq_ignore_ascii_case

Rustdoc:
- Rustdoc lints are now treated as a tool lint, meaning that lints are now prefixed with rustdoc:: (e.g. #[warn(rustdoc::non_autolinks)]). Using the old style is still allowed, and will become a warning in a future release.
- Rustdoc now supports argument files
- Rustdoc now generates smart punctuation for documentation
- You can now use "task lists" in Rustdoc Markdown

Misc:
- You can now pass multiple filters to tests. E.g. cargo test -- foo bar will run all tests that match foo and bar
- Rustup now distributes PDB symbols for the std library on Windows, allowing you to see std symbols when debugging

Internal Only:
- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools
- Check the result cache before the DepGraph when ensuring queries
- Try fast_reject::simplify_type in coherence before doing full check
- Only store a LocalDefId in some HIR nodes
- Store HIR attributes in a side table

Compatibility Notes:
- Cargo build scripts are now forbidden from setting RUSTC_BOOTSTRAP
- Removed support for the x86_64-rumprun-netbsd target
- Deprecated the x86_64-sun-solaris target in favor of x86_64-pc-solaris
- Rustdoc now only accepts ,, , and t as delimiters for specifying languages in code blocks
- Rustc now catches more cases of pub_use_of_private_extern_crate
- Changes in how proc macros handle whitespace may lead to panics when used with older proc-macro-hack versions. A cargo update should be sufficient to fix this in all cases.


Rust 1.51.0
Language:
- You can now parameterize items such as functions, traits, and structs by constant values in addition to by types and lifetimes. Also known as "const generics" E.g. you can now write the following. Note: Only values of primitive integers, bool, or char types are currently permitted.

Compiler:
- Added the -Csplit-debuginfo codegen option for macOS platforms. This option controls whether debug information is split across multiple files or packed into a single file. Note This option is unstable on other platforms.
- Added tier 3* support for aarch64_be-unknown-linux-gnu, aarch64-unknown-linux-gnu_ilp32, and aarch64_be-unknown-linux-gnu_ilp32 targets
- Added tier 3 support for i386-unknown-linux-gnu and i486-unknown-linux-gnu targets
- The target-cpu=native option will now detect individual features of CPUs
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- Box::downcast is now also implemented for any dyn Any + Send + Sync object
- str now implements AsMut
- u64 and u128 now implement From
- Error is now implemented for &T where T implements Error
- Poll::{map_ok, map_err} are now implemented for Poll
- unsigned_abs is now implemented for all signed integer types
- io::Empty now implements io::Seek
- rc::Weak and sync::Weak's methods such as as_ptr are now implemented for T: ?Sized types
- Stabilized APIs:
- Arc::decrement_strong_count
- Arc::increment_strong_count
- Once::call_once_force
- Peekable::next_if_eq
- Peekable::next_if
- Seek::stream_position
- array::IntoIter
- panic::panic_any
- ptr::addr_of!
- ptr::addr_of_mut!
- slice::fill_with
- slice::split_inclusive_mut
- slice::split_inclusive
- slice::strip_prefix
- slice::strip_suffix
- str::split_inclusive
- sync::OnceState
- task::Wake

Cargo:
- Added the split-debuginfo profile option to control the -Csplit-debuginfo codegen option
- Added the resolver field to Cargo.toml to enable the new feature resolver and CLI option behavior. Version 2 of the feature resolver will try to avoid unifying features of dependencies where that unification could be unwanted. Such as using the same dependency with a std feature in a build scripts and proc-macros, while using the no-std feature in the final binary. See the Cargo book documentation for more information on the feature.

Rustdoc:
- Rustdoc will now include documentation for methods available from nested Deref traits
- You can now provide a --default-theme flag which sets the default theme to use for documentation

Various improvements to intra-doc links:
- You can link to non-path primitives such as slice
- You can link to associated items
- You can now include generic parameters when linking to items, like Vec

Misc:
- You can now pass --include-ignored to tests (e.g. with cargo test -- --include-ignored) to include testing tests marked #[ignore]

Compatibility Notes:
- WASI platforms no longer use the wasm-bindgen ABI, and instead use the wasm32 ABI
- rustc no longer promotes division, modulo and indexing operations to const that could fail
- The minimum version of glibc for the following platforms has been bumped to version 2.31 for the distributed artifacts
- armv5te-unknown-linux-gnueabi
- sparc64-unknown-linux-gnu
- thumbv7neon-unknown-linux-gnueabihf
- armv7-unknown-linux-gnueabi
- x86_64-unknown-linux-gnux32

Internal Only:
- Consistently avoid constructing optimized MIR when not doing codegen


Rust 1.50.0
Language:
- You can now use const values for x in [x; N] array expressions. This has been technically possible since 1.38.0, as it was unintentionally stabilized
- Assignments to ManuallyDrop union fields are now considered safe

Compiler:
- Added tier 3* support for the armv5te-unknown-linux-uclibceabi target
- Added tier 3 support for the aarch64-apple-ios-macabi target
- The x86_64-unknown-freebsd is now built with the full toolset
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- proc_macro::Punct now implements PartialEq
- ops::{Index, IndexMut} are now implemented for fixed sized arrays of any length
- On Unix platforms, the std::fs::File type now has a "niche" of -1. This value cannot be a valid file descriptor, and now means Option takes up the same amount of space as File

Stabilized APIs:
- bool::then
- btree_map::Entry::or_insert_with_key
- f32::clamp
- f64::clamp
- hash_map::Entry::or_insert_with_key
- Ord::clamp
- RefCell::take
- slice::fill
- UnsafeCell::get_mut

The following previously stable methods are now const:
- IpAddr::is_ipv4
- IpAddr::is_ipv6
- Layout::size
- Layout::align
- Layout::from_size_align
- pow for all integer types
- checked_pow for all integer types
- saturating_pow for all integer types
- wrapping_pow for all integer types
- next_power_of_two for all unsigned integer types
- checked_power_of_two for all unsigned integer types

Cargo:
- Added the [build.rustc-workspace-wrapper] option. This option sets a wrapper to execute instead of rustc, for workspace members only
- cargo:rerun-if-changed will now, if provided a directory, scan the entire contents of that directory for changes
- Added the --workspace flag to the cargo update command

Misc:
- The search results tab and the help button are focusable with keyboard in rustdoc
- Running tests will now print the total time taken to execute

Compatibility Notes:
- The compare_and_swap method on atomics has been deprecated. It's recommended to use the compare_exchange and compare_exchange_weak methods instead
- Changes in how TokenStreams are checked have fixed some cases where you could write unhygenic macro_rules! macros
- #![test] as an inner attribute is now considered unstable like other inner macro attributes, and reports an error by default through the soft_unstable lint
- Overriding a forbid lint at the same level that it was set is now a hard error
- Dropped support for all cloudabi targets
- You can no longer intercept panic! calls by supplying your own macro. It's recommended to use the #[panic_handler] attribute to provide your own implementation
- Semi-colons after item statements (e.g. struct Foo {};) now produce a warning


Rust 1.49.0
Language:
- Unions can now implement Drop, and you can now have a field in a union with ManuallyDrop
- You can now cast uninhabited enums to integers
- You can now bind by reference and by move in patterns. This allows you to selectively borrow individual components of a type. E.g
- #[derive(Debug)]
- struct Person {
- name: String,
- age: u8,
- let person = Person {
- name: String::from("Alice"),
- age: 20,
- // `name` is moved out of person, but `age` is referenced
- let Person { name, ref age } = person;
- println!("{} {}", name, age);

Compiler:
- Added tier 1* support for aarch64-unknown-linux-gnu
- Added tier 2 support for aarch64-apple-darwin
- Added tier 2 support for aarch64-pc-windows-msvc
- Added tier 3 support for mipsel-unknown-none
- Raised the minimum supported LLVM version to LLVM 9
- Output from threads spawned in tests is now captured
- Change os and vendor values to "none" and "unknown" for some targets
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- RangeInclusive now checks for exhaustion when calling contains and indexing
- ToString::to_string now no longer shrinks the internal buffer in the default implementation
ops::{Index, IndexMut} are now implemented for fixed sized arrays of any length

Stabilized APIs:
- slice::select_nth_unstable
- slice::select_nth_unstable_by
- slice::select_nth_unstable_by_key
- The following previously stable methods are now const
- Poll::is_ready
- Poll::is_pending

Cargo:
- Building a crate with cargo-package should now be independently reproducible
- cargo-tree now marks proc-macro crates
- Added CARGO_PRIMARY_PACKAGE build-time environment variable. This variable will be set if the crate being built is one the user selected to build, either with -p or through defaults
- You can now use glob patterns when specifying packages & targets

Compatibility Notes:
- Demoted i686-unknown-freebsd from host tier 2 to target tier 2 support
- Macros that end with a semi-colon are now treated as statements even if they expand to nothing
- Rustc will now check for the validity of some built-in attributes on enum variants. Previously such invalid or unused attributes could be ignored
- Leading whitespace is stripped more uniformly in documentation comments, which may change behavior. You read this post about the changes for more details
- Trait bounds are no longer inferred for associated types

Internal Only:
- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools
- rustc's internal crates are now compiled using the initial-exec Thread Local Storage model
- Calculate visibilities once in resolve
- Added system to the llvm-libunwind bootstrap config option
- Added --color for configuring terminal color support to bootstrap


Rust 1.48.0
Language:
- The unsafe keyword is now syntactically permitted on modules. This is still rejected semantically, but can now be parsed by procedural macros

Compiler:
- Stabilised the -C link-self-contained=<yes|no> compiler flag. This tells rustc whether to link its own C runtime and libraries or to rely on a external linker to find them. (Supported only on windows-gnu, linux-musl, and wasi platforms.)
- You can now use -C target-feature=+crt-static on linux-gnu targets. Note: If you're using cargo you must explicitly pass the --target flag
- Added tier 2* support for aarch64-unknown-linux-musl
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- io::Write is now implemented for &ChildStdin &Sink, &Stdout, and &Stderr.
- All arrays of any length now implement TryFrom.
- The matches! macro now supports having a trailing comma.
- Vec now implements PartialEq<[B]> where A: PartialEq.
- The RefCell::{replace, replace_with, clone} methods now all use #[track_caller].
- Stabilized APIs:
- slice::as_ptr_range
- slice::as_mut_ptr_range
- VecDeque::make_contiguous
- future::pending
- future::ready
- The following previously stable methods are now const fn's:
- Option::is_some
- Option::is_none
- Option::as_ref
- Result::is_ok
- Result::is_err
- Result::as_ref
- Ordering::reverse
- Ordering::then

Rustdoc:
- You can now link to items in rustdoc using the intra-doc link syntax. E.g. /// Uses [`std::future`] will automatically generate a link to std::future's documentation. See "Linking to items by name" for more information
- You can now specify #[doc(alias = "")] on items to add search aliases when searching through rustdoc's UI

Compatibility Notes:
- Promotion of references to 'static lifetime inside const fn now follows the same rules as inside a fn body. In particular, &foo() will not be promoted to 'static lifetime any more inside const fns
- Associated type bindings on trait objects are now verified to meet the bounds declared on the trait when checking that they implement the trait
- When trait bounds on associated types or opaque types are ambiguous, the compiler no longer makes an arbitrary choice on which bound to use
- Fixed recursive nonterminals not being expanded in macros during pretty-print/reparse check. This may cause errors if your macro wasn't correctly handling recursive nonterminal tokens
- &mut references to non zero-sized types are no longer promoted
- rustc will now warn if you use attributes like #[link_name] or #[cold] in places where they have no effect
- Updated _mm256_extract_epi8 and _mm256_extract_epi16 signatures in arch::{x86, x86_64} to return i32 to match the vendor signatures
- mem::uninitialized will now panic if any inner types inside a struct or enum disallow zero-initialization
- #[target_feature] will now error if used in a place where it has no effect
- Foreign exceptions are now caught by catch_unwind and will cause an abort. Note: This behaviour is not guaranteed and is still considered undefined behaviour, see the catch_unwind documentation for further information

Internal Only:
- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools
- Building rustc from source now uses ninja by default over make. You can continue building with make by setting ninja=false in your config.toml
- cg_llvm: fewer_names in uncached_llvm_type
- Made ensure_sufficient_stack() non-generic


Rust 1.47.0
Language:
- Closures will now warn when not used

Compiler:
- Stabilized the -C control-flow-guard codegen option, which enables Control Flow Guard for Windows platforms, and is ignored on other platforms
- Upgraded to LLVM 11
- Added tier 3* support for the thumbv4t-none-eabi target
- Upgrade the FreeBSD toolchain to version 11.4
- RUST_BACKTRACE's output is now more compact
- * Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- CStr now implements Index
- Traits in std/core are now implemented for arrays of any length, not just those of length less than 33
- ops::RangeFull and ops::Range now implement Default
- panic::Location now implements Copy, Clone, Eq, Hash, Ord, PartialEq, and PartialOrd

Stabilized APIs:
- Ident::new_raw
- Range::is_empty
- RangeInclusive::is_empty
- Result::as_deref
- Result::as_deref_mut
- Vec::leak
- pointer::offset_from
- f32::TAU
- f64::TAU
- The following previously stable APIs have now been made const
- The new method for all NonZero integers
- The checked_add,checked_sub,checked_mul,checked_neg, checked_shl, checked_shr, saturating_add, saturating_sub, and saturating_mul methods for all integers
- The checked_abs, saturating_abs, saturating_neg, and signum for all signed integers
- The is_ascii_alphabetic, is_ascii_uppercase, is_ascii_lowercase, is_ascii_alphanumeric, is_ascii_digit, is_ascii_hexdigit, is_ascii_punctuation, is_ascii_graphic, is_ascii_whitespace, and is_ascii_control methods for char and u8

Cargo:
- build-dependencies are now built with opt-level 0 by default. You can override this by setting the following in your Cargo.toml
- [profile.release.build-override]
- opt-level = 3
- cargo-help will now display man pages for commands rather just the --help text
- cargo-metadata now emits a test field indicating if a target has tests enabled
- workspace.default-members now respects workspace.exclude
- cargo-publish will now use an alternative registry by default if it's the only registry specified in package.publish

Misc:
- Added a help button beside Rustdoc's searchbar that explains rustdoc's type based search
- Added the Ayu theme to rustdoc

Compatibility Notes:
- Bumped the minimum supported Emscripten version to 1.39.20
- Fixed a regression parsing {} && false in tail expressions
- Added changes to how proc-macros are expanded in macro_rules! that should help to preserve more span information. These changes may cause compiliation errors if your macro was unhygenic or didn't correctly handle Delimiter::None
- Moved support for the CloudABI target to tier 3
- linux-gnu targets now require minimum kernel 2.6.32 and glibc 2.11
- Added the rustc-docs component. This allows you to install and read the documentation for the compiler internal APIs. (Currently only available for x86_64-unknown-linux-gnu.)

Internal Only:
- Improved default settings for bootstrapping in x.py. You can read details about this change in the "Changes to x.py defaults" post on the Inside Rust blog


Rust 1.46.0
Language:
- if, match, and loop expressions can now be used in const functions
- Additionally you are now also able to coerce and cast to slices (&[T]) in const functions
- The #[track_caller] attribute can now be added to functions to use the function's caller's location information for panic messages
- Recursively indexing into tuples no longer needs parentheses. E.g. x.0.0 over (x.0).0
- mem::transmute can now be used in static and constants. Note You currently can't use mem::transmute in constant functions

Compiler:
- You can now use the cdylib target on Apple iOS and tvOS platforms
- Enabled static "Position Independent Executables" by default for x86_64-unknown-linux-musl

Libraries:
- mem::forget is now a const fn
- String now implements From
- The leading_ones, and trailing_ones methods have been stabilised for all integer types
- vec::IntoIter now implements AsRef<[T]>
- All non-zero integer types (NonZeroU8) now implement TryFrom for their zero-able equivalent (e.g. TryFrom)
- &[T] and &mut [T] now implement PartialEq
- (String, u16) now implements ToSocketAddrs
- vec::Drain<'_, T> now implements AsRef<[T]>

Stabilized APIs:
- Option::zip
- vec::Drain::as_slice

Cargo
- Added a number of new environment variables that are now available when compiling your crate
- CARGO_BIN_NAME and CARGO_CRATE_NAME Providing the name of the specific binary being compiled and the name of the crate
- CARGO_PKG_LICENSE The license from the manifest of the package
- CARGO_PKG_LICENSE_FILE The path to the license file

Compatibility Notes:
- The target configuration option abi_blacklist has been renamed to unsupported_abis. The old name will still continue to work
- Rustc will now warn if you have a C-like enum that implements Drop. This was previously accepted but will become a hard error in a future release
- Rustc will fail to compile if you have a struct with #[repr(i128)] or #[repr(u128)]. This representation is currently only allowed on enums
- Tokens passed to macro_rules! are now always captured. This helps ensure that spans have the correct information, and may cause breakage if you were relying on receiving spans with dummy information
- The InnoSetup installer for Windows is no longer available. This was a legacy installer that was replaced by a MSI installer a few years ago but was still being built
- {f32, f64}::asinh now returns the correct values for negative numbers
- Rustc will no longer accept overlapping trait implementations that only differ in how the lifetime was bound
- Rustc now correctly relates the lifetime of an existential associated type. This fixes some edge cases where rustc would erroneously allow you to pass a shorter lifetime than expected
- Rustc now dynamically links to libz (also called zlib) on Linux. The library will need to be installed for rustc to work, even though we expect it to be already available on most systems
- Tests annotated with #[should_panic] are broken on ARMv7 while running under QEMU
- Pretty printing of some tokens in procedural macros changed. The exact output returned by rustc's pretty printing is an unstable implementation detail: we recommend any macro relying on it to switch to a more robust parsing system


Rust 1.45.2
- Fix bindings in tuple struct patterns
- Fix track_caller integration with trait objects


Rust 1.45.1
- Change log not available for this version


Rust 1.45.0
Language:
- Out of range float to int conversions using as has been defined as a saturating conversion. This was previously undefined behaviour, but you can use the {f64, f32}::to_int_unchecked methods to continue using the current behaviour, which may be desirable in rare performance sensitive situations.
- mem::Discriminant now uses T's discriminant type instead of always using u64
- Function like procedural macros can now be used in expression, pattern, and statement positions. This means you can now use a function-like procedural macro anywhere you can use a declarative (macro_rules!) macro.

Compiler:
- You can now override individual target features through the target-feature flag. E.g. -C target-feature=+avx2 -C target-feature=+fma is now equivalent to -C target-feature=+avx2,+fma
- Added the force-unwind-tables flag. This option allows rustc to always generate unwind tables regardless of panic strategy
- Added the embed-bitcode flag. This codegen flag allows rustc to include LLVM bitcode into generated rlibs (this is on by default)
- Added the tiny value to the code-model codegen flag
- Added tier 3 support* for the mipsel-sony-psp target
- Added tier 3 support for the thumbv7a-uwp-windows-msvc target
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- net::{SocketAddr, SocketAddrV4, SocketAddrV6} now implements PartialOrd and Ord
- proc_macro::TokenStream now implements Default
- You can now use char with ops::{Range, RangeFrom, RangeFull, RangeInclusive, RangeTo} to iterate over a range of codepoints. E.g. you can now write the following
- OsString now implements FromStr
- The saturating_neg method as been added to all signed integer primitive types, and the saturating_abs method has been added for all integer primitive types
- Arc, Rc now implement From<Cow<'_, T>>, and Box now implements From when T is [T: Copy], str, CStr, OsStr, or Path
- Box<[T]> now implements From<[T; N]>
- BitOr and BitOrAssign are implemented for all NonZero integer types
- The fetch_min, and fetch_max methods have been added to all atomic integer types
- The fetch_update method has been added to all atomic integer types


Rust 1.44.1
- rustfmt accepts rustfmt_skip in cfg_attr again
- Don't hash executable filenames on apple platforms, fixing backtraces
- Fix crashes when finding backtrace on macOS
- Clippy applies lint levels into different files


Rust 1.44.0
Language:
- You can now use async/.await with #[no_std] enabled
- Added the unused_braces lint

Syntax-only changes:
- Expansion-driven outline module parsing
- These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation

Compiler:
- Rustc now respects the -C codegen-units flag in incremental mode. Additionally when in incremental mode rustc defaults to 256 codegen units
- Refactored catch_unwind, to have zero-cost unless unwinding is enabled and a panic is thrown
- Added tier 3* support for the aarch64-unknown-none and aarch64-unknown-none-softfloat targets
- Added tier 3 support for arm64-apple-tvos and x86_64-apple-tvos targets

Libraries:
- Special cased vec![] to map directly to Vec::new(). This allows vec![] to be able to be used in const contexts
- convert::Infallible now implements Hash
- OsString now implements DerefMut and IndexMut returning a &mut OsStr
- Unicode 13 is now supported
- String now implements From<&mut str>
- IoSlice now implements Copy
- Vec now implements From<[T; N]>. Where N is at most 32
- proc_macro::LexError now implements fmt::Display and Error
- from_le_bytes, to_le_bytes, from_be_bytes, to_be_bytes, from_ne_bytes, and to_ne_bytes methods are now const for all integer types

Stabilized APIs:
- PathBuf::with_capacity
- PathBuf::capacity
- PathBuf::clear
- PathBuf::reserve
- PathBuf::reserve_exact
- PathBuf::shrink_to_fit
- f32::to_int_unchecked
- f64::to_int_unchecked
- Layout::align_to
- Layout::pad_to_align
- Layout::array
- Layout::extend

Cargo:
- Added the cargo tree command which will print a tree graph of your dependencies
- You can also display dependencies on multiple versions of the same crate with cargo tree -d (short for cargo tree --duplicates)
- Misc
- Rustdoc now allows you to specify --crate-version to have rustdoc include the version in the sidebar

Compatibility Notes:
- Rustc now correctly generates static libraries on Windows GNU targets with the .a extension, rather than the previous .lib
- Removed the -C no_integrated_as flag from rustc
- The file_name property in JSON output of macro errors now points the actual source file rather than the previous format of . Note: this may not point a file that actually exists on the user's system.
- The minimum required external LLVM version has been bumped to LLVM 8
- mem::{zeroed, uninitialised} will now panic when used with types that do not allow zero initialization such as NonZeroU8. This was previously a warning
- In 1.45.0 (the next release) converting a f64 to u32 using the as operator has been defined as a saturating operation. This was previously undefined behaviour, you can use the {f64, f32}::to_int_unchecked methods to continue using the current behaviour which may desirable in rare performance sensitive situations.

Internal Only:
- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools
- dep_graph Avoid allocating a set on when the number reads are small
- Replace big JS dict with JSON parsing


Rust 1.43.1
- Updated openssl-src to 1.1.1g for CVE-2020-1967
- Fixed the stabilization of AVX-512 features
- Fixed cargo package --list not working with unpublished dependencies


Rust 1.43.0
Language:
- Fixed using binary operations with &{number} (e.g. &1.0) not having the type inferred correctly
- Attributes such as #[cfg()] can now be used on if expressions

Syntax only changes:
- Allow type Foo: Ord syntactically
- Fuse associated and extern items up to defaultness
- Syntactically allow self in all fn contexts
- Merge fn syntax + cleanup item parsing
- item macro fragments can be interpolated into traits, impls, and extern blocks
- These are still rejected semantically, so you will likely receive an error but these changes can be seen and parsed by macros and conditional compilation

Compiler:
- You can now pass multiple lint flags to rustc to override the previous flags. For example; rustc -D unused -A unused-variables denies everything in the unused lint group except unused-variables which is explicitly allowed. However, passing rustc -A unused-variables -D unused denies everything in the unused lint group including unused-variables since the allow flag is specified before the deny flag (and therefore overridden).
- rustc will now prefer your system MinGW libraries over its bundled libraries if they are available on windows-gnu
- rustc now buffers errors/warnings printed in JSON

Libraries:
- Arc<[T; N]>, Box<[T; N]>, and Rc<[T; N]>, now implement TryFrom<Arc<[T]>>,TryFrom<Box<[T]>>, and TryFrom<Rc<[T]>> respectively. Note These conversions are only available when N is 0..=32.
- You can now use associated constants on floats and integers directly, rather than having to import the module. e.g. You can now write u32::MAX or f32::NAN with no imports.
- u8::is_ascii is now const.
- String now implements AsMut.
- Added the primitive module to std and core. This module reexports Rust's primitive types. This is mainly useful in macros where you want avoid these types being shadowed.
- Relaxed some of the trait bounds on HashMap and HashSet.
- string::FromUtf8Error now implements Clone + Eq.

Stabilized APIs:
- Once::is_completed
- f32::LOG10_2
- f32::LOG2_10
- f64::LOG10_2
- f64::LOG2_10
- iter::once_with

Cargo:
- You can now set config [profile]s in your .cargo/config, or through your environment
- Cargo will now set CARGO_BIN_EXE_ pointing to a binary's executable path when running integration tests or benchmarks. is the name of your binary as-is e.g. If you wanted the executable path for a binary named my-programyou would use env!("CARGO_BIN_EXE_my-program").

Misc:
- Certain checks in the const_err lint were deemed unrelated to const evaluation, and have been moved to the unconditional_panic and arithmetic_overflow lints

Compatibility Notes:
- Having trailing syntax in the assert! macro is now a hard error. This has been a warning since 1.36.0
- Fixed Self not having the correctly inferred type. This incorrectly led to some instances being accepted, and now correctly emits a hard error

Internal Only:
- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools.
- All components are now built with opt-level=3 instead of 2
- Improved how rustc generates drop code
- Improved performance from #[inline]-ing certain hot functions
- traits: preallocate 2 Vecs of known initial size
- Avoid exponential behaviour when relating types
- Skip Drop terminators for enum variants without drop glue
- Improve performance of coherence checks
- Deduplicate types in the generator witness
- Invert control in struct_lint_level


Rust 1.41.0
Language:
- You can now pass type parameters to foreign items when implementing traits. E.g. You can now write impl From for Vec {}
- You can now arbitrarily nest receiver types in the self position. E.g. you can now write fn foo(self: Box) {}. Previously only Self, &Self, &mut Self, Arc, Rc, and Box were allowed.
- You can now use any valid identifier in a format_args macro. Previously identifiers starting with an underscore were not allowed
- Visibility modifiers (e.g. pub) are now syntactically allowed on trait items and enum variants. These are still rejected semantically, but can be seen and parsed by procedural macros and conditional compilation

Compiler:
- Rustc will now warn if you have unused loop 'labels
- Removed support for the i686-unknown-dragonfly target
- Added tier 3 support* for the riscv64gc-unknown-linux-gnu target
You can now pass an arguments file passing the @path syntax to rustc. Note that the format differs somewhat from what is found in other tooling; - please see the documentation for more information
- You can now provide --extern flag without a path, indicating that it is available from the search path or specified with an -L flag
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- The core::panic module is now stable. It was already stable through std
- NonZero* numerics now implement From<NonZero*> if it's a smaller integer width. E.g. NonZeroU16 now implements From
- MaybeUninit now implements fmt::Debug

Stabilized APIs:
- Result::map_or
- Result::map_or_else
- std::rc::Weak::weak_count
- std::rc::Weak::strong_count
- std::sync::Weak::weak_count
- std::sync::Weak::strong_count

Cargo:
- Cargo will now document all the private items for binary crates by default
- cargo-install will now reinstall the package if it detects that it is out of date
- Cargo.lock now uses a more git friendly format that should help to reduce merge conflicts
- You can now override specific dependencies's build settings E.g. [profile.dev.package.image] opt-level = 2 sets the image crate's optimisation level to 2 for debug builds. You can also use [profile..build-override] to override build scripts and their dependencies

Misc:
- You can now specify edition in documentation code blocks to compile the block for that edition. E.g. edition2018 tells rustdoc that the code sample should be compiled the 2018 edition of Rust
- You can now provide custom themes to rustdoc with --theme, and check the current theme with --check-theme
- You can use #[cfg(doc)] to compile an item when building documentation


Rust 1.40.0
Language:
- You can now use tuple structs and tuple enum variant's constructors in const contexts. e.g.
pub struct Point(i32, i32);
const ORIGIN: Point = {
let constructor = Point;
constructor(0, 0)
- You can now mark structs, enums, and enum variants with the #[non_exhaustive] attribute to indicate that there may be variants or fields added in the future. For example this requires adding a wild-card branch (_ => {}) to any match statements on a non-exhaustive enum. (RFC 2008)
- You can now use function-like procedural macros in extern blocks and in type positions. e.g. type Generated = macro!()
- Function-like and attribute procedural macros can now emit macro_rules! items, so you can now have your macros generate macros
- The meta pattern matcher in macro_rules! now correctly matches the modern attribute syntax. For example (#[$m:meta]) now matches #[attr], #[attr{tokens}], #[attr[tokens]], and #[attr(tokens)]

Compiler:
- Added tier 3 support* for the thumbv7neon-unknown-linux-musleabihf target
- Added tier 3 support for the aarch64-unknown-none-softfloat target
- Added tier 3 support for the mips64-unknown-linux-muslabi64, and mips64el-unknown-linux-muslabi64 targets
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- The is_power_of_two method on unsigned numeric types is now a const function

Stabilized APIs:
- BTreeMap::get_key_value
- HashMap::get_key_value
- Option::as_deref_mut
- Option::as_deref
- Option::flatten
- UdpSocket::peer_addr
- f32::to_be_bytes
- f32::to_le_bytes
- f32::to_ne_bytes
- f64::to_be_bytes
- f64::to_le_bytes
- f64::to_ne_bytes
- f32::from_be_bytes
- f32::from_le_bytes
- f32::from_ne_bytes
- f64::from_be_bytes
- f64::from_le_bytes
- f64::from_ne_bytes
- mem::take
- slice::repeat
- todo!

Cargo:
- Cargo will now always display warnings, rather than only on fresh builds
- Feature flags (except --all-features) passed to a virtual workspace will now produce an error. Previously these flags were ignored
- You can now publish dev-dependencies without including a version.

Misc:
- You can now specify the #[cfg(doctest)] attribute to include an item only when running documentation tests with rustdoc

Compatibility Notes:
- As previously announced, any previous NLL warnings in the 2015 edition are now hard errors
- The include! macro will now warn if it failed to include the entire file. The include! macro unintentionally only includes the first expression in a file, and this can be unintuitive. This will become either a hard error in a future release, or the behavior may be fixed to include all expressions as expected.
- Using #[inline] on function prototypes and consts now emits a warning under unused_attribute lint. Using #[inline] anywhere else inside traits or extern blocks now correctly emits a hard error


Rust 1.39.0
Language:
- You can now create async functions and blocks with async fn, async move {}, and async {} respectively, and you can now call .await on async expressions.
- You can now use certain attributes on function, closure, and function pointer parameters. These attributes include cfg, cfg_attr, allow, warn, deny, forbid as well as inert helper attributes used by procedural macro attributes applied to items. e.g.
- fn len(
- #[cfg(windows)] slice: &[u16],
- #[cfg(not(windows))] slice: &[u8],
- ) -> usize {
- slice.len()
- You can now take shared references to bind-by-move patterns in the if guards of match arms. e.g.
- fn main() {
- let array: Box<[u8; 4]> = Box::new([1, 2, 3, 4]);
- match array {
- nums
- // ---- `nums` is bound by move.
- if nums.iter().sum::() == 10
- // ^------ `.iter()` implicitly takes a reference to `nums`.
- => {
- drop(nums);
- // ----------- Legal as `nums` was bound by move and so we have ownership.
- _ => unreachable!(),

Compiler:
- Added tier 3* support for the i686-unknown-uefi target
- Added tier 3 support for the sparc64-unknown-openbsd target
- rustc will now trim code snippets in diagnostics to fit in your terminal. Note Cargo currently doesn't use this feature. Refer to cargo#7315 to track this feature's progress
- You can now pass --show-output argument to test binaries to print the output of successful tests
- * Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- Vec::new and String::new are now const functions
- LinkedList::new is now a const function
- str::len, [T]::len and str::as_bytes are now const functions
- The abs, wrapping_abs, and overflowing_abs numeric functions are now const

Stabilized APIs:
- Pin::into_inner
- Instant::checked_duration_since
- Instant::saturating_duration_since

Cargo:
- You can now publish git dependencies if supplied with a version
- The --all flag has been renamed to --workspace. Using --all is now deprecated

Misc:
- You can now pass -Clinker to rustdoc to control the linker used for compiling doctests

Compatibility Notes:
- Code that was previously accepted by the old borrow checker, but rejected by the NLL borrow checker is now a hard error in Rust 2018. This was previously a warning, and will also become a hard error in the Rust 2015 edition in the 1.40.0 release
- rustdoc now requires rustc to be installed and in the same directory to run tests. This should improve performance when running a large amount of doctests
- The try! macro will now issue a deprecation warning. It is recommended to use the ? operator instead
- asinh(-0.0) now correctly returns -0.0. Previously this returned 0.0


Rust 1.38.0
Language:
- The #[global_allocator] attribute can now be used in submodules
- The #[deprecated] attribute can now be used on macros

Compiler:
- Added pipelined compilation support to rustc. This will improve compilation times in some cases. For further information please refer to the "Evaluating pipelined rustc compilation" thread
- Added tier 3 support for the aarch64-uwp-windows-msvc, i686-uwp-windows-gnu, i686-uwp-windows-msvc, x86_64-uwp-windows-gnu, and x86_64-uwp-windows-msvc targets
- Added tier 3 support for the armv7-unknown-linux-gnueabi and armv7-unknown-linux-musleabi targets
- Added tier 3 support for the hexagon-unknown-linux-musl target
- Added tier 3 support for the riscv32i-unknown-none-elf target

Libraries:
- ascii::EscapeDefault now implements Clone and Display
- Derive macros for prelude traits (e.g. Clone, Debug, Hash) are now available at the same path as the trait. (e.g. The Clone derive macro is available at std::clone::Clone). This also makes all built-in macros available in std/core root. e.g. std::include_bytes!
- str::Chars now implements Debug
- slice::{concat, connect, join} now accepts &[T] in addition to &T
- *const T and *mut T now implement marker::Unpin
- Arc<[T]> and Rc<[T]> now implement FromIterator.
- Added euclidean remainder and division operations (div_euclid, rem_euclid) to all numeric primitives. Additionally checked, overflowing, and wrapping versions are available for all integer primitives
- thread::AccessError now implements Clone, Copy, Eq, Error, and PartialEq
- iter::{StepBy, Peekable, Take} now implement DoubleEndedIterator

Stabilized APIs:
- <*const T>::cast
- <*mut T>::cast
- Duration::as_secs_f32
- Duration::as_secs_f64
- Duration::div_duration_f32
- Duration::div_duration_f64
- Duration::div_f32
- Duration::div_f64
- Duration::from_secs_f32
- Duration::from_secs_f64
- Duration::mul_f32
- Duration::mul_f64
- any::type_name

Cargo:
- Added pipelined compilation support to cargo
- You can now pass the --features option multiple times to enable multiple features

Misc:
- rustc will now warn about some incorrect uses of mem::{uninitialized, zeroed} that are known to cause undefined behaviour

Compatibility Notes:
- The x86_64-unknown-uefi platform can not be built with rustc 1.38.0
- The armv7-unknown-linux-gnueabihf platform is known to have issues with certain crates such as libc


Rust 1.37.0
Language:
- #[must_use] will now warn if the type is contained in a tuple, Box, or an array and unused.
- You can now use the cfg and cfg_attr attributes on generic parameters.
- You can now use enum variants through type alias. e.g. You can write the following:
- type MyOption = Option;
- fn increment_or_zero(x: MyOption) -> u8 {
- match x {
- MyOption::Some(y) => y + 1,
- MyOption::None => 0,
- You can now use _ as an identifier for consts. e.g. You can write const _: u32 = 5;.
- You can now use #[repr(align(X)] on enums.
- The ? Kleene macro operator is now available in the 2015 edition.

Compiler:
You can now enable Profile-Guided Optimization with the -C profile-generate and -C profile-use flags. For more information on how to use profile - guided optimization, please refer to the rustc book.
- The rust-lldb wrapper script should now work again.

Libraries:
- mem::MaybeUninit is now ABI-compatible with T.
- Stabilized APIs:
- BufReader::buffer
- BufWriter::buffer
- Cell::from_mut
- Cell<[T]>::as_slice_of_cells
- DoubleEndedIterator::nth_back
- Option::xor
- Wrapping::reverse_bits
- i128::reverse_bits
- i16::reverse_bits
- i32::reverse_bits
- i64::reverse_bits
- i8::reverse_bits
- isize::reverse_bits
- slice::copy_within
- u128::reverse_bits
- u16::reverse_bits
- u32::reverse_bits
- u64::reverse_bits
- u8::reverse_bits
- usize::reverse_bits

Cargo:
- Cargo.lock files are now included by default when publishing executable crates with executables.
- You can now specify default-run="foo" in [package] to specify the default executable to use for cargo run.

Visual Studio Code 1.57.1 (64-bit) 查看版本資訊

更新時間:2021-06-18
更新細節:

What's new in this version:

Visual Studio Code 1.57.1 (64-bit)
- May 2021 Endgame Recovery
- Scrolling on mouse click
- macOS: restore Cmd+W closing the window when all tabs are closed
- 1.57.0 (macOS): window behaves different now (fullscreen & priority issues)
- "Open New External Terminal" doesn't work if no terminal settings are present
- Entire settings file got erased on new latest update. Just FYI


Visual Studio Code 1.57.0 (64-bit)
- Workspace Trust - Extra security against code execution when browsing unfamiliar source code
- New Getting Started experience - Helps you quickly set up and learn about VS Code
- Remote Repositories - Browse and edit code without locally cloning repositories
- Terminal tabs - Tabs let you easily create, manage, and group multiple open terminals
- Edge browser debugging - Integrates the Microsoft Edge Developer Tools directly into VS Code
- JSDoc @link support - Add @link tags in your comments for fast symbol navigation
- Go to Definition for non-code files - Quickly jump to images and stylesheets
- Notebook API finalized - Notebook API for native notebook support in VS Code
- VS Code at Build 2021 blog post - Catch up with on-demand sessions featuring VS Code


Visual Studio Code 1.56.2 (64-bit)
- C# syntax highlighting incorrect in 1.56
- Use shell/shellArgs over defaultProfile if specified
- HTML files now require an extension to run
- The default Monokai highlight color is displayed incorrectly
- No longer scaling toolbar icon
- On PC 'Delete' key not working on insiders for approx last week
- Version control icons became minuscule with latest update


Visual Studio Code 1.56.1 (64-bit)
The update addresses these security issues:
- Do not invoke resolveWithInteraction over terminal settings
- Change grunt, gulp and jake task auto detection to be off by default


Visual Studio Code 1.56.0 (64-bit)
- Improved hover feedback - Helps you quickly find clickable editor actions
- Terminal profile improvements - Create a custom default terminal profile
- Debugger inline values - Display variable values inline during debugging sessions
- Notebook KaTeX support - Math support in notebook Markdown cells
- Remote - Containers volumes view - Manage mounted volumes within Docker containers
- winget installation - VS Code is available via the Windows Package Manager
- New introductory videos - Videos for getting started with VS Code as well as working with C++
- Terminal tabs preview - Get a first look at managing open terminals with the new tabs view


Visual Studio Code 1.55.2 (64-bit)
The update addresses these security issues:
- Limit set of allowed remote CLI commands bug important
- command: links should be only selectively enabled bug important
- Spawning php should use its complete disk path bug important
- Spawning npm should use its complete disk path bug important
- CSS should use variables when using editor.fontFamily bug important
- The http.proxy setting should use machine or application scope bug important


Visual Studio Code 1.55.1 (64-bit)
- Proxy agent is hijacking requests and redirecting them to localhost
- Remote extensions are not installed automatically from devcontainer.json
- Bug Sur icons glitched on non-hidpi screens
- ECONNREFUSED debugging browsers in WSL2


Visual Studio Code 1.55.0 (64-bit)
- Accessibility improvements - Multi-cursor support and increased line limit
- Updated icons for macOS Big Sur - Brand icons that match the visual style of Big Sur
- Improvements to breakpoints - Inline breakpoints menu, and more
- Editor status decorations - Editor tab status decorations are on by default
- Customize keyboard shortcuts editor - Resize columns in the keyboard shortcuts editor
- Improved remote ports management - Port forwarding autodetection, regex naming, and more
- Terminal profiles - Define profiles in terminal to conveniently launch non-default shells
- Notebook improvements - Multiple cell selection, and more customizable diff editor
- VS Code on Raspberry Pi - New topic explaining how to install VS Code on Raspberry Pi devices


Visual Studio Code 1.54.3 (64-bit)
- February Recovery 3
- VS Code is unable to activate a debugger extension because of path casing discrepancies


Visual Studio Code 1.54.2 (64-bit)
Fixed:
- Listener leak in Ports view
- Close terminal warning shows even if no terminal is open
- Command "View: Join all editor groups" not working after update
- Pick up TS 4.2.3
- Cannot find module 'worker_threads' using js debugger auto attach
- Completed tiles of "Getting Started" don't reopen
- List focus background needs proper migration
- Renaming a folder adds it to history
- FileSystemProvider extension: throwing a FileSystemError in readFile does not report to user
- Hide pty host unresponsive notification when it becomes responsive again
- Terminal pty host unresponsive after closing a VS Code window
- Prevent env var relaunch from extension owned terminals


Visual Studio Code 1.54.1
- The update addresses an issue with an extension dependency


Visual Studio Code 1.53.2 (64-bit)
Fixed:
- TS Server fatal error: Cannot read property 'indexOf' of undefined
- <> in all files
- Minimap keeps disappearing
- Fresh install won't open any windows or allow me to open any windows
- First call to activeDebugConsole.appendLine() while debugging JavaScript doesn't appear in the debug console
- Cannot unset StatusBarItem background from errorBackground
- tasks.json npm script does not work with arguments since 1.53
- v1.53 creates debug.log automatically
- The default extension for untitled files is not .txt
- Emmet suggestions bug in SASS files
- VSCode emmet SASS snippets
- IME ON at Alt+` key, Focus ALT Menu


Visual Studio Code 1.53.1 (64-bit)
Security issues:
- Bundle TypeScript 4.1.4
- Dragging files from explorer to terminal may execute a command
- Pick up new distro version and bump version


Visual Studio Code 1.53.0 (64-bit)
- Wrap tabs - Wrap editor tabs in the workbench instead of having a scrollbar
- Configure tab decorations - Add editor tab status decorations
- Customize search mode - Use the Search view or open a new Search editor
- JavaScript debugging - Support for conditional exception breakpoints and Node.js worker_threads
- Notebook UX updates - Outline view for Notebook cells, and breadcrumbs for improved navigation
- Markdown preview image auto update - Preview automatically updates when images change
- Emmet improvements - Faster performance and supporting the latest features
- Extension guidelines - Documented best practices for extension authors
- Remote Development video series - Learn to create and configure container-based environments


Visual Studio Code 1.52.1 (64-bit)
- November 2020 Recovery Endgame
- Check for all possible localhost string when checking if a tunnel already exists
- Can not set breakpoint in PHP files
- notebook status bar icon colors missing


Visual Studio Code 1.52.0 (64-bit)
- Word wrap in diff editor - Both inline and side-by-side views now support word wrapping
- New extension bisect feature - Troubleshoot which extensions are causing issues in VS Code
- Keyboard shortcuts editor improvements - Create a keybinding from the Command Palette
- Undo file operations in Explorer - Undo or redo file operations in the Explorer
- New Git commands and settings - Optimize your Version Control experience with new capabilities
- Preview editor improvements - Turn off preview editors altogether, and try new interaction models
- Sticky tab stops for spaces - Improved experience when indenting with spaces
- Improved word-based suggestions - Display word-based suggestions from other open files
- Terminal configuration support - Modify terminal settings from the terminal dropdown menu
- New Remote Development resources - Check out the new video and Learn module


Visual Studio Code 1.51.1 (64-bit)
- "Reveal In Side Bar" does not work if the file is opened from external apps
- New ThemeIcon color in tree views can pollute other nodes


Visual Studio Code 1.51.0 (64-bit)
New:
- unassigned Focus Left Editor Group (do not wrap around) workbench.action.focusLeftGroupWithoutWrap
- unassigned Focus Right Editor Group (do not wrap around) workbench.action.focusRightGroupWithoutWrap
- unassigned Focus Above Editor Group (do not wrap around) workbench.action.focusAboveGroupWithoutWrap
- unassigned Focus Below Editor Group (do not wrap around) workbench.action.focusBelowGroupWithoutWrap
- unassigned Focus Activity Bar workbench.action.focusActivityBar

Fixed:
- Windows: when deleting a folder with files that are in use, then there is no error message shown
- Should maintain row focus after deleting a file
- User input variables not working for launch configuration in multi-root workspace
- Moving a file should load the model directly with the contents it had before
- Extensions with a onDebugDynamicConfigurations are eagerly activated at startup in v1.50
- Send vscode.workspace.onWillCreateFiles/onDidCreateFiles events for folders
- Debug hover moves while expanding/collapsing


Visual Studio Code 1.50.1 (64-bit)
- relativeFileDirname` gives empty string when the Dirname equals to current working directory
- Multiple prompt to grant access to login keychain


Visual Studio Code 1.50.0 (64-bit)
- Accessible settings editor - Interact with the settings list like any other list in VS Code
- Pinned tabs improvements - Resize pinned tabs, unpin with one click, and more
- Linux ARM builds - VS Code is now available for both Linux ARMv7 and ARM64
- Improved debugging experience - Improved hover and filtering in debug console
- New JS debugger features - Toggle auto attach flows and see performance in real-time
- Panel layout improvements - New panel maximization settings and bottom panel size
- Webview Views support - Build extensions with webview views in the sidebar and panel
- Updated "Create a Dev Container" tutorial - Get started with Development Containers


Visual Studio Code 1.49.3 (64-bit)
- August Recovery Endgame 3
- (Assumed) Fix for CVE-2020-16881 can be bypassed


Visual Studio Code 1.49.2 (64-bit)
- Format modified text - Limit formatting to just the code you've changed
- Change casing on Search and Replace - Change text casing during global Search and Replace
- Source Control repositories view - Display pending changes per repository
- Filter Debug Console output - Quickly filter and find debugging output
- Improved JS debugger Auto Attach - "Smart" Auto Attach to Node.js scripts or test runners
- TypeScript optional chaining refactoring - Convert multiple checks to a concise optional chain
- JSDoc @deprecated tag support - IntelliSense clearly shows APIs marked as deprecated
- Notebook UX updates - Cell Status bar contributions, enhanced notebook diff editor


Visual Studio Code 1.49.1 (64-bit)
The update addresses these issues:
- August 2020 Recovery Endgame
- Completions which use spaces are broken after updating from July to August version
- EPIPE write failure while debugging after upgrading to 1.49
- proxy authentication does not work on 1.49


Visual Studio Code 1.49.0 (64-bit)
There are a number of updates in this version that we hope you will like, some of the key highlights include:
- Format modified text - Limit formatting to just the code you've changed
- Change casing on Search and Replace - Change text casing during global Search and Replace
- Source Control repositories view - Display pending changes per repository
- Filter Debug Console output - Quickly filter and find debugging output
- Improved JS debugger Auto Attach - "Smart" Auto Attach to Node.js scripts or test runners
- TypeScript optional chaining refactoring - Convert multiple checks to a concise optional chain
- JSDoc @deprecated tag support - IntelliSense clearly shows APIs marked as deprecated
- Notebook UX updates - Cell Status bar contributions, enhanced notebook diff editor


Visual Studio Code 1.48.2 (64-bit)
- Settings Sync to Stable - Settings Sync is now available for preview in stable
- Updated Extensions view menu - Simplified menu with additional filtering options
- New Git View submenus - Refactored overflow menu for Git in the Source Control view
- Updated in-browser debugging - Debug in the browser without writing a launch configuration
- Publish a public repository - Choose whether to publish to a public or private GitHub repository
- Notebook UX updates - New Cell menu, enhanced drag and drop
- New Remote Container topics - Learn how to attach to a container and create a new dev container
- Java lightweight mode - Start working with your Java source files more quickl


Visual Studio Code 1.48.1 (64-bit)
The update addresses these issues:
- Correct wording of the WSL recommendation
- July Recovery Endgame
- Right Click on Extension Search > Peek causes freeze
- Run Build Task List Not Sorting
- Cannot overwrite read only files anymore
- [v1.48] [Breaking] Cannot authenticate proxies
- There is no way to show the NPM scripts explorer when there is no top level package.json
- "IPersistFile::Save failed" during installation of VS Code Insiders
- Error while starting Sync: d is not iterable
- Saving untitled file always defaults to .txt


Visual Studio Code 1.48.0 (64-bit)
- Settings Sync to Stable: settings Sync is now available for preview in stable
- Updated Extensions view menu: simplified menu with additional filtering options
- New Git View submenus: refactored overflow menu for Git in the Source Control view
- Updated in-browser debugging: debug in the browser without writing a launch configuration
- Publish a public repository: choose whether to publish to a public or private GitHub repository
- Notebook UX updates: new Cell menu, enhanced drag and drop
- New Remote Container topics: learn how to attach to a container and create a new dev container
- Java lightweight mode: start working with your Java source files more quickly


Visual Studio Code 1.47.3 (64-bit)
Fixed:
- June 2020 Recovery 3 Engame
- ERR_INVALID_ARG_TYPE when testing extension on 1.47.1
- Uninstall hook not executing


Visual Studio Code 1.47.2 (64-bit)
- June 2020 Recovery 2 Engame
- Menus: Dropdown menu gets tiny when opened near the edge of the workbench
- SCM: View becomes empty, with errors in dev tools
- Snippets | Clipboard is not working
- "Proposed API is only available..." error in v1.47
- "Duplicate Workspace in New Window" just creates new window and opens workspace.json file
- Output channel Log (Window) does not appear until window reload for the first time
- Creating files will add 2 times BOM (UTF-8, 16)
- Reading from stdin via tmp file and pipe raise an exception
- Extensions issues after update to vscode 1.47.0
- [node-debugger] Debugger spams "Could not read sourcemaps" messages
- Node version detection causes issues with old Electron versions + Node >=12 on the PATH
- Double pasting in a webview with latest insiders
- Can't debug node application


Visual Studio Code 1.47.1 (64-bit)
- Accessibility improvements - New screen reader capabilities
- Windows ARM builds - Windows on ARM is now available in stable
- New JavaScript debugger - Debug in the terminal, profiling support
- Source Control unified view - All repositories displayed in a single view
- View and sort pending changes - View files as a tree or list, sort by name, path, or status
- Edit complex settings - Edit object settings from the Settings editor
- New HexEditor extension - Edit files in hexadecimal format from within VS Code
- Notebook UI updates - Improved UX and undo/redo support
- Remote Development tutorials - Learn to develop over SSH, inside Containers, and in WSL
- Java Pack Installer for macOS - Get set up to develop in Java with VS Code on macOS


Visual Studio Code 1.47.0 (64-bit)
- Accessibility improvements - New screen reader capabilities
- Windows ARM builds - Windows on ARM is now available in stable
- New JavaScript debugger - Debug in the terminal, profiling support
- Source Control unified view - All repositories displayed in a single view
- View and sort pending changes - View files as a tree or list, sort by name, path, or status
- Edit complex settings - Edit object settings from the Settings editor
- New HexEditor extension - Edit files in hexadecimal format from within VS Code
- Notebook UI updates - Improved UX and undo/redo support
- Remote Development tutorials - Learn to develop over SSH, inside Containers, and in WSL
- Java Pack Installer for macOS - Get set up to develop in Java with VS Code on macOS


Visual Studio Code 1.46.1 (64-bit)
- Accessibility improvements - Status bar navigation, easier keyboard text selection
- Flexible view and panel layout - Move and group views in the Side Bar and Panel
- Pinned editor tabs - Pin editors in the title bar to keep frequently used files handy
- Add GitHub remotes - Add GitHub remotes to your local repository
- Automatic debugger configuration - Save and modify generated debug configurations
- JavaScript CommonJS auto imports - Auto imports will now use require for CommonJS modules
- JS/TS refactorings preserve newlines - Formatting is preserved during refactoring operations
- Settings Sync preview - New Synced Machines and Data views to manage your preferences
- GitHub Issue Notebooks - Run GitHub issue queries and display results in a custom Notebook
- Windows ARM64 support - New VS Code Insiders ARM64 builds are available
- VS Code at Build 2020 - Talks on Tips&Tricks, Remote Development, and The History of VS Code


Visual Studio Code 1.46.0 (64-bit)
- Accessibility improvements - Status bar navigation, easier keyboard text selection
- Flexible view and panel layout - Move and group views in the Side Bar and Panel
- Pinned editor tabs - Pin editors in the title bar to keep frequently used files handy
- Add GitHub remotes - Add GitHub remotes to your local repository
- Automatic debugger configuration - Save and modify generated debug configurations
- JavaScript CommonJS auto imports - Auto imports will now use require for CommonJS modules
- JS/TS refactorings preserve newlines - Formatting is preserved during refactoring operations
- Settings Sync preview - New Synced Machines and Data views to manage your preferences
- GitHub Issue Notebooks - Run GitHub issue queries and display results in a custom Notebook
- Windows ARM64 support - New VS Code Insiders ARM64 builds are available
- VS Code at Build 2020 - Talks on Tips&Tricks, Remote Development, and The History of VS Code


Visual Studio Code 1.45.1 (64-bit)
- Accessibility improvements - Focus commands to navigate the workbench, status bar accessibility
- Switch editor tabs via mouse wheel - Quickly switch files in the editor using your mouse wheel
- Faster syntax highlighting - Programming language colorization is up to 3 times faster
- Custom semantic colors - Change semantic token colors through your user settings
- GitHub authentication support - Automatic GitHub authentication for GitHub repositories
- GitHub Issues integration - Inline hovers and suggestions for GitHub issues and users
- Remote Development - Container configuration recommendations, WSL 2 support
- JavaScript debugger preview - CPU profiling, improved Auto Attach to Node.js processes
- New Docker Compose topic - Learn how to use Docker Compose to work with multiple containers


Visual Studio Code 1.45.0 (64-bit)
- Accessibility improvements: focus commands to navigate the workbench, status bar accessibility
- Switch editor tabs via mouse wheel: quickly switch files in the editor using your mouse wheel
- Faster syntax highlighting:programming language colorization is up to 3 times faster
- Custom semantic colors: change semantic token colors through your user settings
- GitHub authentication support: automatic GitHub authentication for GitHub repositories
- GitHub Issues integration: inline hovers and suggestions for GitHub issues and users
- Remote Development: container configuration recommendations, WSL 2 support
- JavaScript debugger preview: CPU profiling, improved Auto Attach to Node.js processes
- New Docker Compose topic: learn how to use Docker Compose to work with multiple containers


Visual Studio Code 1.44.2 (64-bit)
The update addresses these issues:
- Show notification when extensionHostProcess.js is missing on disk
- Can't search in workspace that includes folder using a FileSystemProvider
- Git on network drive broken after upgrade to 1.44.0
- Can't select recently visited file using arrow keys
- Using spaces in symbol (editor, workspace) picker can confuse results
- Action "merge all windows" gone after update to 1.44
- Possible regression: As of 1.44 cannot open multiple files from "Go to file..." menu
- '${workspaceFolder}' can not be resolved in a multi folder workspace
- Editor stays blurred when moving panels


Visual Studio Code 1.44.1 (64-bit)
- Change log not available for this version


Visual Studio Code 1.44.0 (32-bit)
- Accessibility improvements - Easier diff view navigation, clearer role designations for UI controls
- Timeline view - See time-series events like Git commit history from within VS Code
- Better Quick Open for files - Navigate smoothly from files to symbols, filter files by folder name
- Extension Pack display - Quickly see what is bundled in an Extension Pack
- Persisted Undo/Redo stack - Undo/Redo stack preserved for reopened files
- Remote Development - Directly check out Pull Requests into containers, support for Kubernetes
- Settings Sync preview - Settings Sync now lets you share snippets and UI state across machines
- New Python tutorials - Tutorials for creating Python containers and building Data Science models


Visual Studio Code 1.43.2 (64-bit)
The update addresses these issues:
- February 2020 Recovery 2 Endgame
- The specified task cannot be tracked
- [Meta] Crash with webview after updated to 1.43.0


Visual Studio Code 1.43.1 (64-bit)
- February 2020 Recovery Endgame
- Prelaunch tasks without a command don't work the second time
- Semantic highlighting improvements for 1.43.1
- [web] Welcome views: links trigger unload
- [semantic highlighting] functions in josef.rouge-theme get wrong color
- [less] color info missing
- VSCode since 1.43 freezes on deleting line in c++ file
- When relaunching for 1.43.0 update, vscode tries to open ~80 old workspaces


Visual Studio Code 1.43.0 (64-bit)
- Search Editors - Search and save your global search results in a full-sized editor
- Draggable sash corners - Easily change the editor layout by dragging sash corners
- Linux screen reader support - VS Code now supports the Orca screen reader
- Minimap sizing options - New options to fit or fill the minimap vertical layout
- Column selection mode - Column mode toggle lets you quickly select blocks of text
- Display whitespace on selection - Render whitespace characters only in selected text
- Convert to template string - Convert concatenations to JavaScript/TypeScript template strings
- JS/TS Call Hierarchy view - Review all calls to or from a function and drill into callers of callers
- Remote Development - Support for Windows and macOS SSH hosts, SSH connection sharing
- Settings Sync preview - Settings Sync lets you share settings and keybindings across machines


Visual Studio Code 1.42.1 (64-bit)
- Rename preview: see pending renames in a diff view and easily accept or reject changes
- Open editors limit: set the maximum number of editors open at one time
- Panel placement: move the panel (Output, Terminal) to the left, right, or below the editor
- Folded code highlighting: quickly find folded regions with new background highlight
- Debug Console improvements: syntax highlighting, bracket matching, input history
- Define global tasks: per user tasks can be used across all your folders and workspaces
- Java extension updates: Java support for Data Breakpoints and Call Hierarchy view
- Remote Development: new Forwarded Ports view for mapping SSH and Containers ports
- New Containers tutorials: learn how to create and deploy Docker containers
- Preview features: first looks at the Timeline view, Search editor, semantic highlighting, and more


Visual Studio Code 1.42.0 (64-bit)
- Rename preview: see pending renames in a diff view and easily accept or reject changes
- Open editors limit: set the maximum number of editors open at one time
- Panel placement: move the panel (Output, Terminal) to the left, right, or below the editor
- Folded code highlighting: quickly find folded regions with new background highlight
- Debug Console improvements: syntax highlighting, bracket matching, input history
- Define global tasks: per user tasks can be used across all your folders and workspaces
- Java extension updates: Java support for Data Breakpoints and Call Hierarchy view
- Remote Development: new Forwarded Ports view for mapping SSH and Containers ports
- New Containers tutorials: learn how to create and deploy Docker containers
- Preview features: first looks at the Timeline view, Search editor, semantic highlighting, and more


Visual Studio Code 1.41.1 (64-bit)
- Compact folders in Explorer: Single child folders collapsed by default
- Edit left side of diff views: You can now edit both files in a difference view
- Update search results while typing: Global search results update while you type
- Problems panel improvements: Filter by problem type and limit output to the active file
- Minimap highlights errors and content changes: Quickly locate problems and changes in your file
- Terminal minimum contrast ratio: Set preferred contrast ratio for increased visibility
- HTML mirror cursor in tags: Automatic multi-cursor in matching HTML tags
- Optional chaining in JS/TS: Use the ?. operator to simplify working with nested structures
- Extract interface refactoring: Quickly extract an inline type to a TypeScript interface
- Remote - Containers extension: Better support for opening repositories in Docker containers
- Visual Studio Online: Create and connect to cloud-based development environments


Visual Studio Code 1.41.0 (64-bit)
- Compact folders in Explorer: Single child folders collapsed by default
- Edit left side of diff views: You can now edit both files in a difference view
- Update search results while typing: Global search results update while you type
- Problems panel improvements: Filter by problem type and limit output to the active file
- Minimap highlights errors and content changes: Quickly locate problems and changes in your file
- Terminal minimum contrast ratio: Set preferred contrast ratio for increased visibility
- HTML mirror cursor in tags: Automatic multi-cursor in matching HTML tags
- Optional chaining in JS/TS: Use the ?. operator to simplify working with nested structures
- Extract interface refactoring: Quickly extract an inline type to a TypeScript interface
- Remote - Containers extension: Better support for opening repositories in Docker containers
- Visual Studio Online: Create and connect to cloud-based development environments


Visual Studio Code 1.40.2 (64-bit)
The update addresses these issues:
- Insider build always starts language server with debug options
- Occluded windows just went blank
- Port 9229 in use by VS Code
- "Save Workspace As..." does not save with correct extension
- Extension Host broken
- Touch bar mac disabled on focus file
- Child_process results in ENOMEM error with empty options.env
- MacOS: File > Open no longer adds files to recently opened
- 1.40.0 has rendering lag and flickers when minimize/maximize window with custom title
- Leaving Full Screen or Zen Mode leads to wrong window dimensions
- Maximize button not working properly with auto-hide taskbar enabled
- WebViewPanel created with preserveFocus: true suffers from a focus problem


Visual Studio Code 1.40.1 (64-bit)
- Change log not available for this version


Visual Studio Code 1.39.2 (64-bit)
Fixed:
- Error icons not showing up properly
- Some Octicons not working in quick pick
- Blank screen with a reinstalled 1.39.1
- VSCode starts with disabled extensions
- Webview.asWebviewUri not working in Remote
- SCM: SVN extension decorations are misaligned
- Command line error - "Option 'proxy-server' is unknown. Ignoring."
- Enable the bracket pair colorizer V2 extension for remote
- Mac touchbar debug not working
- Invisible dirty icon
- vscode://file/... does not work any longer
- Source control showing nothing
- Backslash in folder name still not handled correctly by flattened tree view


Visual Studio Code 1.39.1 (64-bit)
- Change log not available for this version


Visual Studio Code 1.39.0 (64-bit)
- Text selections displayed in minimap: see selection regions in the minimap overview
- Toggle region folding keyboard shortcut: quickly expand and collapse regions with Toggle Fold
- Source Control tree view: display pending changes in either a list or new tree view
- Open terminal in custom working directory: add keyboard shortcuts for specific folders
- HTML ARIA attribute reference links: links to ARIA documentation directly from IntelliSense
- CSS property completions include semicolons: semicolons added as you enter CSS properties
- CSS color variables preview: color variable completions display color swatch
- Improved column breakpoint UI: view possible inline breakpoints directly in your source code
- Inline debug actions in CALL STACK view: stay in context with debug actions on hover
- Remote Explorer updates: explorer now displays WSL distros and repository containers


Visual Studio Code 1.38.1 (64-bit)
The update addresses these issues:
- code.sh: remove wsl2 workaround
- Cannot insert a < div >, automatically corrects to < /div >
- Markdown Hover images broken
- statusbar border no longer appears [statusbar.border]
- Gap in right side of window
- Grouping quick open entries is broken


Visual Studio Code 1.38.0 (64-bit)
- Preserve case for global search and replace - Keep letter casing across multi-file search/replace
- Settings editor string array validation - Checks min, max, enum values, and glob patterns
- Adjust cursor surrounding lines - Keep your cursor centered in the editor
- Copy and revert in the diff editor - Easily copy or restore deleted content
- Go to Line supports negative line numbers - Quickly jump to the end of a file
- MDN Reference link for HTML and CSS - Links to MDN documentation directly from IntelliSense
- Add missing await Quick Fix - Find overlooked awaits in asynchronous code
- Debugging data breakpoints - Debugger breaks when tracked values change
- VS Code icon repository - Official product icons available for extension authors
- Alpine Linux distro support - Both for the Remote WSL and Containers extensions


Visual Studio Code 1.37.1 (64-bit)
- Recovery build has wrong icon for release notes
- July 2019 Recovery Release Endgame
- Pasting in a Windows->Linux remote window adds additional new line characters
- 1.37 breaks the fsprovider-sample extension
- Broken vscode.ProcessExecution in Tasks API in v1.37
- Alt+click in terminal resets scroll position and prevents click-on-link
- Certain C++ files completely freeze VSCode
- 1.37 Explorer not showing any files or folders
- Diagnostics show empty parentheses if no code specified for error (regression)


Visual Studio Code 1.37.0 (64-bit)
- Full product icon refresh: new modern icons across all of VS Code
- Edit string arrays in the Settings UI: add to string arrays directly from the Settings editor
- Reveal search result in File Explorer: quickly jump to file locations in the File Explorer
- Show whitespace in selection: see whitespace characters just for selected text
- Find and Replace preserves casing: replace text without losing letter casing
- Terminal search UX improvements: more intuitive bottom-up search order for the terminal
- Better SCSS @import navigation: VS Code now checks more locations for SCSS files
- Remote Development tutorials: new step-by-step tutorials for working over SSH and in WSL


Visual Studio Code 1.36.1 (64-bit)
- Hide/show status bar items: only display your preferred status bar items
- Indent guides in explorers: clearly highlights your project's folder structure
- Better terminal shell selector: easily select the default shell to use in the Integrated Terminal
- Sequential task execution: control the order of task and subtask execution
- Jump to cursor debugging: skip code execution as you jump to a new location
- Disable debug console word wrap: lets you keep debugging output to one line
- JavaScript/TypeScript nightly builds: new extension integrates JS/TS nightly builds
- New Java installer: installs VS Code, the Java extension pack, and required Java dependencies
- Remote Development (Preview) improvements: save to local file system, drag and drop files to remotes, and more


Visual Studio Code 1.36.0 (64-bit)
- Hide/show status bar items: only display your preferred status bar items
- Indent guides in explorers: clearly highlights your project's folder structure
- Better terminal shell selector: easily select the default shell to use in the Integrated Terminal
- Sequential task execution: control the order of task and subtask execution
- Jump to cursor debugging: skip code execution as you jump to a new location
- Disable debug console word wrap: lets you keep debugging output to one line
- JavaScript/TypeScript nightly builds: new extension integrates JS/TS nightly builds
- New Java installer: installs VS Code, the Java extension pack, and required Java dependencies
- Remote Development (Preview) improvements: save to local file system, drag and drop files to remotes, and more


Visual Studio Code 1.35.1 (64-bit)
Notable improvements:
- Collapse All list and tree command with Ctrl+Left keyboard shortcut
- The history of the References view can now be cleared
- When running the Format With... command, the default formatter is now pre-selected
- When debugging is paused on a line, the whole line is read out by the screen reader
- Multiple item paste in the Explorer is run in parallel for improved performance
- The Open Folder button in an empty File Explorer is scoped to folder even on macOS

Notable fixes:
- Potential data loss for files that changed on disk meanwhile after a backup was made
- Preserve picked language for files across restarts
- Completion providers with resolve methods leak memory
- URI: Should invalidate cached _fsPath when crossing platforms
- Make workbench.dialogs.useSimplified a real setting
- Clicking anywhere on the "debug console" pane should "focus" on input box
- Breakpoint lines are not correct when saving the source file after modifying the file
- Typescript task detection is now cross-platform


Visual Studio Code 1.35.0 (64-bit)
- Updated Visual Studio Code icon: The product logo got a refresh. We hope you like it
- Go to Definition improvements: Faster navigation through multiple definitions
- Breadcrumb navigation displayed by default: Quickly go to files and symbols via breadcrumbs
- Smart selection for JavaScript/TypeScript: Expand text selection based on language semantics
- Extract to type alias TypeScript refactoring: Extract part type into its own type alias
- Integrated terminal supports true color: Correctly renders true color (24-bit) escape sequences
- Better merge conflict display: See merge conflict changes within surrounding source code
- Collapse All command for lists and explorers: One of many small but handy improvements
- Remote Development (Preview) available in Stable: You can now use the Remote Development extensions in Stable


Visual Studio Code 1.34.0 (64-bit)

Editor:
Stable CodeLens:
- VS Code now optimistically caches CodeLens locations and restores them immediately after switching editors. This fixes an issue where CodeLens lines would shift slightly when switching between editors

Languages:
Lower rank for CSS property values with vendor prefix:
- CSS property values prefixed with dash '-' (such as -moz-grid or -ms-grid), now come after grid in auto completion

Debugging:
- debug.showSubSessionsInToolBar
- We have introduced the setting debug.showSubSessionsInToolBar which controls whether the debug sub-sessions are shown in the debug tool bar. When this setting is false, the stop command on a sub-session will also stop the parent session. This setting default is false

Tasks:
Terminate all tasks:
- The Tasks: Terminate Task command has a new option to terminal all tasks if there are multiple tasks running. If this is an action you do often, you can create a keyboard shortcut for the command with the terminateAll argument

Automatically show Problems panel:
- The new revealProblems task property allows you to automatically show the Problems panel. The property values are always, never, and onProblem

Contributions to extensions:
Preview: Remote Development:
- Note: The Remote Development extensions require Visual Studio Code Insiders
- Visual Studio Code Remote Development allows you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment
- The extensions in the Remote Development extension pack run in the context of the remote workspace while VS Code feels like it does when you run locally

Vetur:
- The Vetur extension now offers semantic diagnostics, hover information, jump to definition, and find references for the JavaScript expression inside Vue's template interpolation region
- Other improvements include reduced memory usage and import path completion. You can learn more about them in the Vetur changelog

Extension authoring:
Multi-extension debugging:
- In this milestone, we've added support for debugging more than one extension at a time. This is useful if you are developing a set of tightly coupled or interdependent extensions
- Previously this feature was only surfaced via the command-line interface of VS Code, now the argument --extensionDevelopmentPath can be specified more than once. Typically --extensionDevelopmentPath is used in the launch configuration of an extension. When developing more than one extension, we recommend combining the individual extension projects into a multi-folder workspace and create a new launch configuration (stored in the workspace .code-workspace file) that uses multiple --extensionDevelopmentPath arguments for the individual extensions
- Please note that in this release, it is not possible to create a preLaunchTask that builds both extensions by combining the preLaunchTasks of the individual extension projects

Command links in notifications:
- It was always possible to include links in notification messages via the syntax [link name](http://link), but this only worked for links that open in a browser. Now you can also invoke a command from a link with the syntax [link name](command:). The command with the provided identifier will be triggered when the user clicks the link

Links in notifications allow for title:
- You can now add a title to links in notifications that will be shown when the user hovers over the link. The syntax is [link name](link "")

Proposed extension APIs:
Every milestone comes with new proposed APIs and extension authors can try them out. As always we are keen on your feedback. This is what you have to do to try out a proposed API:
- You must use Insiders because proposed APIs change frequently
- You must have this line in the package.json file of your extension: "enableProposedApi": true
- Copy the latest version of the vscode.proposed.d.ts file into your project
- Note that you cannot publish an extension that uses a proposed API. We may likely make breaking changes in the next release and we never want to break existing extensions

vscode.workspace.workspaceFile:
- There is a new workspace property returning the location of the workspace file. For example: file:///Users/name/Development/myProject.code-workspace or untitled:1555503116870 for a workspace that is untitled and not yet saved

Depending on the workspace that is opened, the value will be:
- undefined when no workspace or a single folder is opened.
- The path of the workspace file as Uri
- If the workspace is untitled, the returned URI will use the untitled: scheme

One use of the workspace file location is to call the vscode.openFolder command to open the workspace again after it has been closed:
- vscode.commands.executeCommand('vscode.openFolder', uriOfWorkspace);
- Note: It is not recommended using the workspace.workspaceFile location to write configuration data directly into the file. You can use workspace.getConfiguration().update() which will work both when a single folder is opened as well as an untitled or saved workspace
- Machine-specific settings
- If you have settings that allow users to customize an executable path and if these paths need to be scoped to the machine they are running on, you can now classify such settings as machine scoped. Extension authors set the scope property when contributing to the configuration extension point. Machine-specific settings can only be configured for User settings

Engineering:
Rewritten filesystem provider for local files:
- Extensions ave been able to provide their own filesystem implementations for custom resources (read more here). However, VS Code's own implementation for local files was not implemented with the same extension APIs. This resulted in subtle differences when dealing with local file resources compared to resources coming from extensions. Over the last two milestones, we rewrote our local file system provider to use the extension APIs for consistency

New documentation:
Python Azure Functions:
- There is a new Deploy Python to Azure Functions tutorial that describes how to create and deploy Python serverless Azure Functions

Miscellaneous:
Language Server Protocol:
The Language Server Protocol has proposed support for the following new features:
- Selection ranges: to compute selection ranges for an array of positions. Sent from client to server
- Call hierarchy: to compute a call hierarchy for a given symbol. Sent from client to server
- Progress: to initiate progress reporting from the server. Sent from server to client
- The new features are available in the next versions of the vscode-languageclient and vscode-languageserver npm modules

Notable fixes:
- Explorer Respects Trash Capability from FileSystemProvider
- Call Stack "Paused On Breakpoint" UI not visible for long thread names
- Terminal window crashes in Mac OS
- Debug Console render newlines unnecessary
- Scrolling in debug window is behaving strange
- Error revealing files in the explorer
- Report issue’ button on ‘Running extensions’ causes tens of duplicate issues


Visual Studio Code 1.33.1 (64-bit)

Fixed:
- Evironment variables not expanding in tasks
- New and delete keywords no longer highlighted in C++ file
- Formatter Settings UI shows strange default
- Adopt TypeScript 3.4.3
- Unable to select first formatter in picker
- "name" property of OutputChannel has gone
- Recent update of INSIDERS Edition made COG Wheel completely disappear
- Prettier formatting causes document to jump with insiders


Visual Studio Code 1.33.0 (64-bit)
- Easy Display Language selection: Quick Pick to choose between installed locales
- Configurable IntelliSense display: Filter out elements like keywords or remove displayed icons
- Choose default formatter: Set default document formatter by project and language
- Go to Definition locations: Open Peek view and/or navigate to primary location
- Convert to destructured parameters: New TS refactoring to use named parameter objects
- Debugging support for subsessions: See subprocesses displayed under main debug session
- Launch URI with debug session: Automatically open a browser when debugging web server code
- Install missing extension dependencies: Detect and offer to install missing dependencies
- "Remote Debugging for Node.js" topic: Learn how to attach to Node.js apps running on Azure
- Workbench: Improved Source Control view, easier list navigation with screen readers
- Integrated Terminal: ConPTY on by default on Windows, rendering performance improvements
- Languages: Disable CSS property value completions, TS improved inference and const assertions
- Extension Authoring: Finalized smart selection API, install extension command
- Engineering: Official Linux snap package, faster OSS builds with NPM package caching


Visual Studio Code 1.32.3 (64-bit)

Fixed:
- Slow startup opening a large workspace over the network candidate file-explorer freeze-slow-crash important verified
- Fix #70045 by reverting some of #67269


Visual Studio Code 1.32.2 (64-bit)
- Preview and apply color themes: Install and apply new theme extensions without reloading
- Keyboard shortcuts editor improvements: Modify keybinding 'when' conditions in the editor
- Problems panel hover commands: Apply Quick Fixes or open a Peek window directly from hovers
- Preferred Code Actions: Preferred (mostly likely) Code Actions support auto fixing common issues
- Debug Console customization: Modify font size, font family, and line height of the Debug Console
- Better IntelliSense for ARIA attributes: More detailed descriptions for HTML accessibility attributes
- Vue.js interpolations IntelliSense: The Vetur extension now supports smart completions in Vue.js interpolations
- New "Bundling Extensions" topic: Use webpack to improve your extension's load time


Visual Studio Code 1.32.1 (64-bit)
- Preview and apply color themes: Install and apply new theme extensions without reloading
- Keyboard shortcuts editor improvements: Modify keybinding 'when' conditions in the editor
- Problems panel hover commands: Apply Quick Fixes or open a Peek window directly from hovers
- Preferred Code Actions: Preferred (mostly likely) Code Actions support auto fixing common issues
- Debug Console customization: Modify font size, font family, and line height of the Debug Console
- Better IntelliSense for ARIA attributes: More detailed descriptions for HTML accessibility attributes
- Vue.js interpolations IntelliSense: The Vetur extension now supports smart completions in Vue.js interpolations
- New "Bundling Extensions" topic: Use webpack to improve your extension's load time

Visual Studio Code 1.31.1 (64-bit)
- No reload on extension install: No interruptions when you install new extensions
- Tree UI improvements: Improved Explorer navigation and filtering, horizontal scrolling
- Main menu updates: Redesigned Go actions menu, Edit menu Cut command
- Multiline Problems output: See full multiline issue details in the Problems panel
- Find All References history: Quickly rerun previous reference searches
- Semantic selection for HTML, CSS, and JSON: Expand/shrink selection based on language semantics
- Integrated Terminal reflow support: Terminal text automatically reflows as panel width changes
- Command-based user input variables: Custom user input for task and debug configuration
- Updated Extension API documentation: Completely rewritten with extension guides


Visual Studio Code 1.31.0 (64-bit)
- No reload on extension install: No interruptions when you install new extensions
- Tree UI improvements: Improved Explorer navigation and filtering, horizontal scrolling
- Main menu updates: Redesigned Go actions menu, Edit menu Cut command
- Multiline Problems output: See full multiline issue details in the Problems panel
- Find All References history: Quickly rerun previous reference searches
- Semantic selection for HTML, CSS, and JSON: Expand/shrink selection based on language semantics
- Integrated Terminal reflow support: Terminal text automatically reflows as panel width changes
- Command-based user input variables: Custom user input for task and debug configuration
- Updated Extension API documentation: Completely rewritten with extension guides


Visual Studio Code 1.30.2 (64-bit)
- Change log not available for this version


Visual Studio Code 1.30.1 (64-bit)
Fixes:
- Search view breaks after starting a search while the previous search is still running
- Can't search CRLF files with non-regex multiline search
- Fix search CRLF files with non-regex multiline search
- HTML editor not working fully bug candidate html
- Peek editor tree color tokens are broken bug candidate editor-symbols regression tree
- Can't trigger "Load more Stack Frames" with keyboard
- treeResourceNavigator: fire onSelection also for keyboard events
- "Start Debugging" asks to choose environment when triggered from main menu


Visual Studio Code 1.30.0 (64-bit)
- Multiline search improvements: Easily create multiline search patterns without using regex
- Custom title bar on Linux: The custom title and menu bar is now the default on Linux
- References view: Find All References view includes history of recent searches
- Snippet comment variables: Snippet variables insert correct comment per language
- JS/TS callback display: Now you can see the context of anonymous callbacks
- JSDoc Markdown highlighting: Including syntax highlighting for Markdown code blocks in JSDoc
- Simplified debug configuration: Better defaults and Quick Pick UI for initial launch configuration
- Run tasks on folder open: Configure tasks to run when you first open a project folder
- Choose extension version: Install earlier versions of Marketplace extensions
- Workbench: Menu scrolling and improved overflow handling, one click to open settings.json
- Languages: JS/TS renames now handle destructuring, add missing 'new' Quick Fix
- Debugging: Delete debug consoles, debug directly from the VS Code Process Explorer
- Tasks: Clear task terminal, user input for task variables, rerun last task command
- Extension Authoring: Go to Declaration support, new Signature Help context


Visual Studio Code 1.29.1 (64-bit)
- Change log not available for this version


Visual Studio Code 1.29.0 (64-bit)
- Multiline search: Search across files with regex multiline expressions
- File icons in IntelliSense: Quickly distinguish file types in IntelliSense
- Better macOS support: Full screen mode control and Mojave Dark Mode support
- Collapsible stack frames: Collapse uninteresting stack frames to clearly see your code
- Improved Loaded Scripts view: Displays related resources such as original source files
- Updated extension samples: Uniform style and structure, README, and API usage
- CI recipe for extensions: Azure Pipelines build recipe for extensions
- Preview: List All References: List All References view shows reference search results
- If you'd like to read these release notes online, go to Updates on code.visualstudio.com
- You can also check out this 1.29 release highlights video from Cloud Developer Advocate Brian Clark


Visual Studio Code 1.28.2 (64-bit)
Fixed issues:
- September 2018 Recovery 2 Endgame
- Keep spawning powershell.exe and conhost.exe
- VSCode frequently crashes when ctrl+P searching after 1.28
- debug: on restart, make sure to first disconnect and only then run the prelaunch tasks
- “Remove from recent opened” takes no effect
- Restarting the debug process fails
- Apply selection even when the items don't change
- Auto import not being placed correctly
- Code completion for import suggestion stopped working
- Intellisense - Import suggestions show up but are not inserted/loaded


Visual Studio Code 1.28.1 (64-bit)
Release highlights:
- VS Code file icons reflect file type in your OS explorer
- Tune your snippet collection per workspace
- Use Tab to easily cycle through IntelliSense suggestions
- New command to go to the location of your last edit
- Save a file without changing the existing formatting
- Better delete conflict handling, new rebase on sync option
- Rename a JS/TS file through its import path
- Quickly update a function to use async and await
- Collapse code blocks, multi-line lists, and embedded HTML
- We decided to revisit the behavior of our commands for toggling panels (Terminal, Output, Problems, Debug Console). You can follow issue 19400 for the background on the change

The old behavior was:
- Panel shows if not visible
- Panel hides if visible

The new behavior is:
- Panel shows if not visible
- Panel hides if having keyboard focus
- Panel gets focused when visible but not focused


Visual Studio Code 1.28.0 (64-bit)
Fixes:
- After formatting you need to scroll left
- Must tab through deleted tab stops in snippets
- Debug toolbar buttons disabled
- "Clear Recently Opened" should also clear editor quick pick history
- Reveal untitled file when saving
- Preserve quick open input on Escape
- UriDisplayService is missing remote share path name
- Mechanism to abort the debug launch without showing launch.json
- Debug Hover Widget - Enable the widget resizing for long items whose overflow is hidden
- Conditional breakpoint prompt should offer to enable breakpoints if breakpoint is already disabled
- Extensions: allow to right click to bring up gear menu
- Use --force arg to prevent prompts while installing extensions from CLI


Visual Studio Code 1.27.2 (64-bit)
Fixed:
- August Recovery Endgame
- Regex search and group replace
- TreeItem.iconPath with non-file Uri can be encoded incorrectly
- Breadcrumb selection is broken
- removeFromRecentlyOpened Command Broken
- [html] jquery completions no longer work
- Cannot click relative paths in terminal
- August Recovery Endgame
- VS Code doesn't work after update
- Incorrect new settings (UI) behavior after nothing was found


Visual Studio Code 1.27.1 (64-bit)
- Change log not available for this version


Visual Studio Code 1.27 (64-bit)
Highlights:
- New Settings editor UI to discover, search, and modify VS Code settings
- Fully themable title and menu bars on Windows and Linux
- Symbols highlighted when navigating with breadcrumbs
- Combined menu for creating terminals and managing tasks
- Share the same keybindings.json file across different OSs
- Import path suggestions while you type in CSS, SCSS, and Less
- Support for 'if', 'then', and 'else' schema keywords
- Loaded Scripts Explorer now available for debug extensions


Visual Studio Code 1.26.1 (64-bit)
- Addresses these issues
- Extension host terminated unexpectedly after 1.26.0 update
- Problem entries loops
- Problem Tab is all corrupted with Typescript Problems
- RG 700% CPU usage
- Opened files are not searched until file tab is clicked
- Built-in git extension disabled
- VS Code Hangs When Opening Specific PowerShell File
- VSCode hangs when opening python file
- File paths in Open Recent Menu starts with / and lower case drive letter
- Editor layout is called on every config change


Visual Studio Code 1.26.0 (64-bit)
- Change log not available for this vers

WhatsApp for Windows 2.2123.7.0 (64-bit) 查看版本資訊

更新時間:2021-06-18
更新細節: