VueScan 歷史版本列表
VueScan 是一款掃描程序,可與大多數高質量平板和膠片掃描儀配合使用,生成具有彩色保真度和色彩平衡的掃描。它非常易於使用,並且還具有用於恢復專業攝影師使用的褪色,批量掃描和其他功能的高級功能. 選擇版本:VueScan 9.6.01(32 位)VueScan 9.6.01(64 位) VueScan 軟體介紹VueScan (32-bit)VueScan (64-bit)
更新時間:2021-02-12
更新細節:
What's new in this version:
- Web wallpaper wrong size on startup if Javascript resize event is not handled.
更新時間:2021-02-12
更新細節:
更新時間:2021-02-12
更新細節:
What's new in this version:
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<T> 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<char>
- 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<File> 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.
更新時間:2021-02-12
更新細節:
What's new in this version:
VueScan 9.7.47 (64-bit)
- Fixed problem with adding/deleting pages from PDF file on Windows
- Added “PDF - PDF tools” command
- Improved recognition of ScanJet 4850 vs. ScanJet 4890 (same USB Product ID)
VueScan 9.7.46 (64-bit)
Fixed problem with film scanning with Genesys Logic scanners:
- Canon 4400F
- Canon 5600F
- Canon 8400F
- Canon 8600F
- OpticFilm 7200
- OpticFilm 7200i
- OpticFilm 7300
- OpticFilm 7400
- OpticFilm 7500i
- OpticFilm 7600i
- OpticFilm 8100
- OpticFilm 8200i
- ScanJet 4850
- ScanJet 4890
- ScanJet G4010
- ScanJet G4050
- Fixed problem with occasional smearing at start of scan with some OpticFilm scanners
- Fixed problem with recognition of ScanJet 4850 and ScanJet 4890
VueScan 9.7.45 (64-bit)
- Added three levels of ‘Filter - Sharpen’
- Fixed problem with PIE/Reflecta scanners when connected with Firewire
- Changed ‘Input - Options’ to ‘Basic’, ‘Standard’ and ‘Professional’
- When using ‘Basic’, displays only two tabs - Input and Prefs
- Added default folder and output files to Input tab
VueScan 9.7.44 (64-bit)
- Numerous user interface improvements
- Changed ‘Input - Options’ to ‘Basic options’, ‘Standard options’, ‘Advanced options’
- When using ‘Basic options’, displays only three tabs - Input, Output, Prefs
- Remembers current tab when exiting and restarting VueScan
- Removed default folder and output files from Input tab - now only in Output tab
- When output file name doesn’t contain ‘NNN+’ or ‘*’, always prompts for name
- Removed ‘Output - Auto file name’ option (was confusing)
- Added ‘Output - Center captions’
VueScan 9.7.43 (64-bit)
- Added support for one line or two line captions
- Controlled by ‘Output - Caption 1’ and ‘Output - Caption 2’
- Uses black letters on a white background
- Text is anti-aliased so it looks good
- Text can contain non-English letters (i.e. Cyrillic, Japanese, Chinese)
- Uses smaller font if caption is too long to fit
- Appended at the bottom of JPEG, TIFF and PDF files
- To disable, set to zero-length line
- Useful when scanning photos, slides and negatives to add info
- Easy to delete later with an image editor
VueScan 9.7.42 (64-bit)
- Set ‘Prefs - Network scanners’ to choose how to find network scanners
- Use ‘mDNS’ to search the network for scanners (default)
Use ‘Manual’ to manually enter info about a scanner:
- Set ‘Prefs - IP address’ to the IP address of the scanner
- Get the USB Vendor ID and USB Product ID from the supported scanners list
- Set ‘Prefs - USB Vendor ID’
- Set ‘Prefs - USB Product ID’
- Re-do the ‘Scanner - Find scanners’ command
VueScan 9.7.40 (64-bit)
Added support for ‘Input - Lamp’ on scanners with two lamps:
- Epson Perfection V600
- Epson Perfection V700
- Epson Perfection V750
- Epson Perfection V800
- Epson Perfection V850
- HP Scanjet G4010
- HP Scanjet G4050
VueScan 9.7.39 (64-bit)
- Faster return to home with Canon 4400F (5 sec instead of 15 sec)
- More accurate maximum scan size with some older Brother scanners
- Fixed problem with HP ScanJet 5590 Duplex Feeder
- Fixed problem on Windows changing PDF files while Adobe Acrobat is open
- Fixed problem with scanner profiling on Linux
- Added support for Canon MF110/MF910 series
VueScan 9.7.38 (64-bit)
- Fixed problem with Canon 4400F
- Fixed problem with Canon 8400F
- Fixed problem with HP ScanJet 4850
- Fixed problem with HP ScanJet 4890
- Fixed problem with ‘Crop Multi crop’ on flatbed scanners
- Fixed problem with ‘Input Show texture’ on some Epson scanners
- Added support for Dell 1760nw
- Variety of small improvements and bug fixes
- Small improvements for Czech translations
- Small improvements for German translations
- More detailed tips for solving problem with not finding scanners
VueScan 9.7.37 (64-bit)
Automatically finds film strip length on some Nikon scanners:
- CoolScan III / LS-30
- CoolScan IV ED / LS-40
- CoolScan V ED / LS-50
- CoolScan 2000 / LS-2000
- CoolScan 4000 ED / LS-4000
- CoolScan 5000 ED / LS-5000
Faster scanning on some Canon scanners:
- CanoScan 5600F
- CanoScan 8400F
- LiDE 90
- Doesn’t delete ocr_xx.bin files when upgrading
- Improved detection of HP ScanJet 4850 and HP ScanJet 4890
VueScan 9.7.36 (64-bit)
Improved reliabilty and scan speed for some Nikon film scanners:
- CoolScan V ED
- CoolScan 5000 ED
- LS-50
- LS-5000
- Improved scans with Canon CanoScan 5600F
- Improved scans with Canon CanoScan 8400F
- Fixed a variety of small problems with various scanners
VueScan 9.7.35 (64-bit)
Added support for 16 new HP scanners:
- HP Deskjet 2300
- HP Deskjet 2700
- HP Deskjet 4100
- HP Deskjet Ink Advantage 2300
- HP Deskjet Ink Advantage 2700
- HP Deskjet Ink Advantage 4100
- HP Deskjet Plus 4100
- HP Deskjet Plus 6000
- HP Deskjet Plus 6400
- HP ENVY 6000
- HP ENVY Pro 6400
- HP Scanjet Flow 5000 s5
- HP Scanjet Flow n7000 snw1
- HP Scanjet Pro 2000 s2
- HP Scanjet Pro 3000 s4
- HP Scanjet Pro n4000 snw1
VueScan 9.7.34 (64-bit)
Added support for 38 new Epson scanners:
- Epson DS-535H
- Epson EP-712A
- Epson EP-812A
- Epson EP-882A
- Epson EP-982A3
- Epson EP-M552T
- Epson ET-15000
- Epson ET-16650
- Epson ET-5800
- Epson ET-5850
- Epson ET-5880
- Epson EW-452A
- Epson EW-M5610FT
- Epson EW-M752T
- Epson L14150
- Epson L15160
- Epson L6550
- Epson L6570
- Epson L6580
- Epson LX-10010MF
- Epson LX-10050KF
- Epson LX-10050MF
- Epson LX-6050MF
- Epson LX-7550MF
- Epson PX-M6712FT
- Epson PX-M7080FX
- Epson PX-M7090FX
- Epson PX-M791FT
- Epson WF-C20600
- Epson WF-C20750
- Epson WF-C21000
- Epson WF-C878R
- Epson WF-C878RB
- Epson WF-C879R
- Epson WF-M20590
- Epson XP-3100
- Epson XP-8600
- Epson XP-970
Fixed:
- problem with Brother DCP-9020CDW
- problem with Canon LiDE 35
- problem with Canon TS8200 at 1200 dpi
- problem with HP Scanjet N6010
- problem with multi-page option set to ‘Front/Back’
- problem on Windows when home directory contains non-ASCII characters
VueScan 9.7.33 (64-bit)
- Improved options in Filter tab, especially ‘Filter Infrared clean’
- Improved support for some older Canon flatbed/film scanners
- Increased scan area for Plustek OpticFilm scanners to 28 mm high
- Improved preview speed on Canon 5600F
Fixed:
- problem with lamp warmup on some older Genesys Logic scanners
- problem with document feeder on Brother MFC-J6945DW
- problem with Brother HL-L scanners
- problem with some Avision document scanners
VueScan 9.7.32 (64-bit)
Fixed problem with ‘Crop Multi crop’ on flatbed scanners:
- Lets you scan multiple photos at a time on a flatbed
- Works best if photos are aligned to an edge to keep straight
Added support for ‘Input Mode’ set to ‘Light box’:
- Lets you illuminate film with a backlight
- Works in black/white with Canon LiDE scanners
- Works with Genesys Logic flatbed scanners
- Canon 4400F
- Canon 5600F
- Canon 8400F
- Canon 8600F
- Canon LiDE 35
- Canon LiDE 40
- Canon LiDE 50
- Canon LiDE 60
- Canon LiDE 80
- Canon LiDE 100
- Canon LiDE 110
- Canon LiDE 120
- Canon LiDE 200
- Canon LiDE 210
- Canon LiDE 220
- Canon LiDE 700F
- HP ScanJet 2300c
- HP ScanJet 2400c
- HP ScanJet 3670
- HP ScanJet 4850C
- HP ScanJet G4010
- HP ScanJet G4050
- Plustek OpticBook 3600
- Plustek OpticPro ST12
- Plustek OpticPro ST24
- UMAX Astra 4500
- Visioneer OneTouch 7100
- Xerox OneTouch 2400
- Fixed problem when ‘Filter Sharpen’ was set
VueScan 9.7.31 (64-bit)
- Improved user interface - integrated wxWidgets 3.1.4
- Added support for Plustek OpticFilm 120 Pro
- Fixed problem with Plustek OpticFilm 7200i
VueScan 9.7.30 (64-bit)
- Improved scan quality with Plustek OpticFilm scanners
- Improved scan quality with Canon LiDE scanners
- Added support for Epson ET-16600
- Added support for Canon Pixma G4010 document feeder
- Added support for Fujitsu fi-7800
- Added support for Fujitsu fi-7900
- Fixed problem with selecting multiple files in ‘Input Files’
- Fixed problem with Brother MFC-J4620DW
- Fixed problem with Canon MG5700
- Fixed problem with Canon TR8500 at 1200 dpi
- Fixed problem with Fujitsu S1500
- Closes Adobe Acrobat Reader if preventing VueScan from adding pages to PDF file
VueScan 9.7.29 (64-bit)
- Improved support for 53 scanners that use Genesys Logic chips
- Plustek OpticFilm scanners between 2x and 3x faster
- Scanning is quieter and faster
VueScan 9.7.28 (64-bit)
- Improved support for 53 scanners that use Genesys Logic chips
- Supported on all versions of Windows, Mac OS X and Linux
- If the vendor driver is installed, use ‘Prefs Disable scanners’ to use this driver
- Faster scanning by reducing lamp movement
- Faster lamp warmup by keeping non-LED lamps warm
- Improved scan quality with improved shading correction
- Buttons on scanner supported by “Prefs Button N action”
- Added support for exposure control
- Faster scans by reducing the backtracking when scanner faster than USB
Supported scanners are:
- Canon 4400F
- Canon 5600F
- Canon 8400F
- Canon 8600F
- Canon LiDE 35
- Canon LiDE 40
- Canon LiDE 50
- Canon LiDE 60
- Canon LiDE 80
- Canon LiDE 100
- Canon LiDE 110
- Canon LiDE 120
- Canon LiDE 200
- Canon LiDE 210
- Canon LiDE 220
- Canon LiDE 700F
- HP ScanJet 2300c
- HP ScanJet 2400c
- HP ScanJet 3670
- HP ScanJet 4850C
- HP ScanJet G4010
- HP ScanJet G4050
- Medion MD5345
- Medion MD6228
- Medion MD6471
- Panasonic KV-SS080
- Pentax DSmobile 600
- Plustek OpticBook 3600
- Plustek OpticBook 3800
- Plustek OpticFilm 7200
- Plustek OpticFilm 7200i
- Plustek OpticFilm 7300
- Plustek OpticFilm 7400
- Plustek OpticFilm 7500i
- Plustek OpticFilm 7600i
- Plustek OpticFilm 8100
- Plustek OpticFilm 8200i
- Plustek OpticPro ST12
- Plustek OpticPro ST24
- Syscan DocketPORT 465
- Syscan DocketPORT 467
- Syscan DocketPORT 485
- Syscan DocketPORT 487
- Syscan DocketPORT 665
- Syscan DocketPORT 685
- UMAX Astra 4500
- Visioneer OneTouch 7100
- Visioneer Roadwarrior
- Visioneer Strobe XP200
- Visioneer Strobe XP300
- Visioneer XP100 Rev3
- Xerox OneTouch 2400
- Xerox Travelscanner 100
VueScan 9.7.27 (64-bit)
- Improved scan quality with some Fujitsu scanners (including ScanSnap S1500)
- Improved scan quality with Canon P-208
- Support for some Plustek OpticFilm scanners on Windows, Mac OS X and Linux
No need for Plustek drivers with these scanners:
- OpticFilm 7200 (serial number 5A15XXXXXXXX)
- OpticFilm 7200i
- OpticFilm 7300
- OpticFilm 7500i
- OpticFilm 7400
- OpticFilm 7600i
- OpticFilm 8100
- OpticFilm 8200i
Added support for 4800 dpi with some Canon scanners:
- Canon LiDE 110
- Canon LiDE 210
- Canon LiDE 220
VueScan 9.7.26 (64-bit)
Added support for additional Genesys Logic scanners:
- Plustek OpticFilm 7400
- Plustek OpticFilm 8100
Improved support for Genesys Logic scanners:
- Canon 4400F (flatbed up to 600 dpi)
- Canon 8400F
- Canon 8600F
- Canon LiDE 35
- Canon LiDE 40
- Canon LiDE 50
- Canon LiDE 60
- Canon LiDE 80
- Canon LiDE 100
- Canon LiDE 110
- Canon LiDE 120
- Canon LiDE 200
- Canon LiDE 210
- Canon LiDE 220
- Plustek OpticFilm 7200i
- Plustek OpticFilm 7300
- Plustek OpticFilm 7500i
- HP ScanJet 2300c
- HP ScanJet 4850 (flatbed up to 400 dpi)
- HP ScanJet G4010 (flatbed only)
- HP ScanJet G4050 (flatbed only)
VueScan 9.7.25 (64-bit)
- After document feeder PDF scans, opens view of folder instad of file
- Added support for TIFF and DNG files between 2 GBytes and 4 GBytes
- Fixed problem with Brother MFC-260C
VueScan 9.7.24 (64-bit)
Released a32 and a64 versions for ARM Linux:
- Raspberry Pi 2 (32-bit only)
- Raspberry Pi 3 (32-bit and 64-bit)
- Raspberry Pi 4 (32-bit and 64-bit)
- Fixed problem with Canon DR-3080CII
VueScan 9.7.23 (64-bit)
- Fixed problem with Canon LiDE 120
- Fixed problem with Fujitsu fi-7260 and fi-7280
- Added support for Fujitsu fi-800R
Added support for Canon MF260 series:
- MF264dw
- MF267dw
- MF269dw
VueScan 9.7.22 (64-bit)
Improved support for some Genesys Logic scanners:
- Canon 4400F (flatbed up to 600 dpi)
- Canon 8400F
- Canon 8600F
- Canon LiDE 50
- Canon LiDE 60
- Canon LiDE 80
- Canon LiDE 100
- Canon LiDE 110
- Canon LiDE 120
- Canon LiDE 200
- Canon LiDE 210
- Canon LiDE 220
- Plustek OpticFilm 7200i
- Plustek OpticFilm 7300
- Plustek OpticFilm 7500i
- HP ScanJet 2300c
- HP ScanJet 4850 (flatbed up to 400 dpi)
- Improved Polish translation
VueScan 9.7.21 (64-bit)
- Fixed problem with HP LaserJet MFP M426
- Fixed problem with button polling and some Epson scanners
- Fixed problem with PIE PrimeFilm 7250 Pro3 and Reflecta RPS 7200
- Fixed problem with Brother MFC-L2740DW
- Fixed problems with some Fujitsu scanners
- Added support for turning off lamp with some Avision scanners
VueScan 9.7.20 (64-bit)
Added support for 11 new Brother MFPs:
- DCP-J981N
- DCP-J982N
- DCP-T310
- DCP-T510W
- DCP-T710W
- DCP-T810W
- DCP-T910DW
- MFC-J1605DN
- MFC-J903N
- MFC-J998DN
- MFC-T4500DW
- Fixed problem with some PIE/Reflecta scanners
VueScan 9.7.19 (64-bit)
Added support for 112 new Canon MFPs:
- E3300
- E3340
- E3370
- E3390
- E3391
- E4200
- E4210
- E4240
- E4270
- E4280
- E4290
- G6000
- G6010
- G6011
- G6020
- G6030
- G6040
- G6050
- G6060
- G6065
- G6070
- G6080
- G6090
- G6091
- G6092
- G7000
- G7010
- G7011
- G7020
- G7030
- G7040
- G7050
- G7060
- G7065
- G7070
- G7090
- G7091
- G7092
- GM4000
- GM4010
- GM4011
- GM4030
- GM4040
- GM4050
- GM4070
- GM4090
- GM4092
- TR9530
- TS3300
- TS3310
- TS3320
- TS3322
- TS3325
- TS3327
- TS3329
- TS3340
- TS3350
- TS3351
- TS3352
- TS3355
- TS3360
- TS3365
- TS3370
- TS5300
- TS5320
- TS5330
- TS5340
- TS5350
- TS5351
- TS5352
- TS5353
- TS5360
- TS5365
- TS5370
- TS5380
- TS5390
- TS5391
- TS5392
- TS6230
- TS6280
- TS6300
- TS6320
- TS6330
- TS6340
- TS6350
- TS6351
- TS6360
- TS6365
- TS6370
- TS6380
- TS6390
- TS6391
- TS6392
- TS7330
- TS8230
- TS8280
- TS8300
- TS8320
- TS8330
- TS8340
- TS8350
- TS8351
- TS8352
- TS8360
- TS8370
- TS8380
- TS8390
- TS8391
- TS8392
- TS9580
- XK60
- XK80
VueScan 9.7.18 (64-bit)
- If 'Output | Auto file name' is off, always ask for file name
- Improved .rpm file for Red Hat Linux
VueScan 9.7.17 (64-bit)
Added support for new Canon scanners:
- iR1643
- MF440
- MF540
- MF641
- MF642
- MF643
- MF644
- MF645
- MF741
- MF742
- MF743
- MF744
- MF745
- MF746
- WG7140
- WG7150
- WG7240
- WG7250
- WG7440
- WG7450
- WG7540
- WG7550
- WG7740
- WG7750
- WG7840
- WG7850
- WG7940
- WG7950
VueScan 9.7.16 (64-bit)
- Fixed problems with some Genesys Logic scanners
- Canon 4400F (flatbed up to 600 dpi)
- Canon 8400F
- Canon 8600F
- Canon LiDE 50
- Canon LiDE 60
- Canon LiDE 80
- Canon LiDE 100
- Canon LiDE 110
- Canon LiDE 120
- Canon LiDE 200
- Canon LiDE 210
- Canon LiDE 220
- Plustek OpticFilm 7200i
- Plustek OpticFilm 7300
- Plustek OpticFilm 7500i
- HP ScanJet 2300c
- HP ScanJet 4850 (flatbed up to 400 dpi)
- Added support for Canon DR-850M
- Added support for in-scanner auto skew with some Epson scanners
- Fixed problem with some Brother document scanners
VueScan 9.7.15 (64-bit)
- Reduced size of JPEG files 10% (optimization of entropy coding)
- Reduced size of color text files (JPEG and PDF)
- Support batch scanning mix of 8.5x11, 8.5x14 and 8.5x17 media sizes
- Fixed problem with some newer and Reflecta scanners
VueScan 9.7.14 (64-bit)
- Fixed problem with plugging/unplugging USB scanners
- Fixed problem with 'Scanner | Find scanners' command
- Fixed problem with 'Input | Media size' set to 'Auto'
- Added support for Plustek OpticFilm 135i on Windows and Mac OS X
VueScan 9.7.13 (64-bit)
- Added support for inexpensive video film scanners on Mac OS X
- Fixed problem with some Avision scanners
- Added support for Plustek OpticBook 3800L
- Added support for document feeder on Fujitsu M4097
- Several small bug fixes
VueScan 9.7.12 (64-bit)
Added support for plugging/unplugging USB scanners while running:
- Recovers from computer sleeping and waking
Added 'Scanners | Find scanners' command:
- Searches local networks for WiFi and ethernet scanners
- Searches for attached Firewire and SCSI scanners
VueScan 9.7.11 (64-bit)
- Significantly improved scan speed of many Brother scanners
VueScan 9.7.10 (64-bit)
- Improved scan quality with older Fujitsu ScanSnap scanners: S500, S500M, S510, S510M, S1500
- Improved scan quality with older Fujitsu fi-series scanners
- Fixed problem with 'Color | Brightness' with document scanners
VueScan 9.7.09 (64-bit)
- Fixed problem with some Brother printer/scanner/copiers
- Fixed problem with some Epson document scanners
Improved scan quality with 6 Fujitsu ScanSnap scanners:
- S300
- S300M
- S1100
- S1100i
- S1300
- S1300i
VueScan 9.7.08 (64-bit)
- Added support for setting 'Input | Media size' to 'Custom'
- Added support for Brother MFC-J775DW
- Fixed problems with macOS 10.15 (Catalina)
- Fixed problem with Canon 4400F
- Fixed problem with Brother DCP-L2535DW
- Fixed problem with 'Input | Batch list' not appearing
- Fixed problem with 'Color | White point (%)'
VueScan 9.7.07 (64-bit)
- Faster scanning with some document scanners
- Fixed problem with some document scanners
- Fixed problem with 'Output | PDF multi page' set to 'Front/Back'
- Fixed problem with duplex scans with Samsung CLX-6260
- Reduced JPEG artifacts with some document scanners
- Faster startup when USB scanner being used by another program
VueScan 9.7.06 (64-bit)
New:
- Faster scanning with high-speed document scanners
- Solved problems with some Genesys Logic scanners
(Overlaps scanning with saving to disk):
- Fujitsu document scanners
- Canon DR-series document scanners
- Epson DS-series document scanners
- Newer HP document scanners
- Samsung document scanners
- Kyocera and other office document scanners
VueScan 9.7.05 (64-bit)
- Faster scanning with Genesys Logic scanners (remembers calibration)
- Preliminary support for transparency scans with Genesys Logic
VueScan 9.7.04 (64-bit)
- Fixed problem with some Genesys Logic scanners
- Added support for Brother MFC-L2685DW
VueScan 9.7.03 (64-bit)
Added support for 6 new Canon DR-series document scanners:
- DR-C230
- DR-C340
- DR-M260
- DR-G2090
- DR-G2110
- DR-G2140
VueScan 9.7.02 (64-bit)
- Improved support for sliders in B/W histogram
- Fixed problem with Fujitsu S500 and S500M
- Fixed problems with some Samsung scanners when awoken from sleep
- Fixed assorted small problems
VueScan 9.7.01 (64-bit)
Improved built-in drivers for some genesys logic scanners:
- Canon 8400F (no infrared yet)
- Canon 8600F (no infrared yet)
- Plustek OpticFilm 7200i (preliminary)
- Other OpticFilm scanners will be supported in the next months
VueScan 9.6.47 (64-bit)
- Improved support for loading .ini files from function keys
- (Files are assigned to function keys in alphabetical order)
- Fixed problem with crop box sometimes rotating unexpectedly
- Fixed problem with some AirPrint/Scan (eSCL) scanners
VueScan 9.6.46 (64-bit)
- Added support for Extended Edition
- Raw file name now also appears in Input tab
- Enabled all color space options in trial version
VueScan 9.6.45 (64-bit)
- Added support for 46 new Epson scanners: EC-4020, EC-4030, EC-4040, ES-60WB, ES-60WW, ET-2720, ET-2760, ET-3710, ET-3760, ET-4700, ET-4760, ET-M2140, ET-M2170, ET-M3140, ET-M3170, ET-M3180, L3100, L3160, L364, L382, L5190, L7160, L7180, PX-M270FT, PX-M270T, PX-M7110F, PX-M7110FP, PX-M880FX, PX-M885F, ST-2000, ST-3000, ST-4000, ST-M3000, WF-2810, WF-2830, WF-2850, WF-3730, WF-C579R, WF-C579RB, WF-C8610, WF-C8690B, WF-M20590, XP-2100, XP-4100, XP-6100, XP-7100
VueScan 9.6.44 (64-bit)
Added support for 34 new HP scanners:
- Color LaserJet Pro MFP M478fcdn
- Color LaserJet Pro MFP M478fcdw
- Color LaserJet Pro MFP M479dw
- Color LaserJet Pro MFP M479fcdn
- Color LaserJet Pro MFP M479fcdw
- Color LaserJet Pro MFP M479fdn
- Color LaserJet Pro MFP M479fdw
- Color LaserJet Pro MFP M479fnw
- Laser NS MFP 1005
- Laser NS MFP 1005w
- LaserJet Enterprise Flow MFP M528c
- LaserJet Enterprise Flow MFP M528z
- LaserJet Enterprise MFP M528dn
- LaserJet Enterprise MFP M528f
- LaserJet Managed Flow MFP E52645c
- LaserJet Managed MFP E52645dn
- LaserJet Pro MFP M329dn
- LaserJet Pro MFP M329dw
- LaserJet Pro MFP M428c1
- LaserJet Pro MFP M428c2
- LaserJet Pro MFP M428c3
- LaserJet Pro MFP M428c4
- LaserJet Pro MFP M428dw
- LaserJet Pro MFP M428fdn
- LaserJet Pro MFP M428fdw
- LaserJet Pro MFP M428m
- LaserJet Pro MFP M429dw
- LaserJet Pro MFP M429fdn
- LaserJet Pro MFP M429fdw
- Neverstop Laser MFP 1200a
- Neverstop Laser MFP 1200w
- Smart Tank 500 series
- Smart Tank 530 series
- Smart Tank Plus 570 series
- Fixed problem with some Samsung document feeders
- Improved color scans on flatbeds and document feeders
VueScan 9.6.43 (64-bit)
- Fixed problem with some network scanners (hang on startup) (some HP Laserjet scanners, also AirPrint scanners)
VueScan 9.6.42 (64-bit)
-Improved responsiveness with many document feeders (most Epson and HP scanners, also AirPrint scanners)
VueScan 9.6.41 (64-bit)
- Change log not available for this version
VueScan 9.6.40 (64-bit)
Added support for 25 new HP scanners:
- Officejet 8010
- Officejet 8020
- Officejet 9010
- Officejet Pro 8020
- Officejet Pro 8030
- Officejet Pro 9010
- Officejet Pro 9020
- Smart Tank 510
- Smart Tank 610
- Smart Tank Plus 550
- Smart Tank Plus 650
- Color LaserJet Managed Flow MFP E67660z
- Color LaserJet Managed MFP E67650dh
- Color LaserJet Managed MFP E77422a
- Color LaserJet Managed MFP E77422dn
- Color LaserJet Managed MFP E77422dv
- Color LaserJet Managed MFP E77428dn
- LaserJet Managed Flow MFP E62675z
- LaserJet Managed MFP E62655dn
- LaserJet Managed MFP E62665hs
- LaserJet Managed MFP E62665hs
- LaserJet MFP E72425a
- LaserJet MFP E72425dn
- LaserJet MFP E72425dv
- LaserJet MFP E72430dn
VueScan 9.6.39 (64-bit)
Added full support for 42 PIE/Reflecta film scanners:
- Braun FilmScan 120
- Kodak RFS 3600
- PIE ColorScan 3600
- PIE NatureScan
- PIE PowerFilm
- PIE PowerSlide 3600
- PIE PowerSlide 3650
- PIE PowerSlide 5000
- PIE PowerSlide X
- PIE PrimeFilm 120
- PIE PrimeFilm 120 Pro
- PIE PrimeFilm 1800 LAB
- PIE PrimeFilm 3600 Pro
- PIE PrimeFilm 3610 AFL
- PIE PrimeFilm 3650 LAB
- PIE PrimeFilm 3650 Pro3
- PIE PrimeFilm 3650U
- PIE PrimeFilm 7200
- PIE PrimeFilm 7250 Pro3
- PIE PrimeFilm 7250U
- PIE PrimeFilm X
- PIE PrimeFilm XA
- PIE PrimeFilm XAs
- PIE PrimeFilm XE
- PIE PrimeFilm XEs
- PIE PrimeHisto XE
- Reflecta CrystalScan 3600
- Reflecta CrystalScan 7200
- Reflecta DigitDia 3600
- Reflecta DigitDia 4000
- Reflecta DigitDia 5000
- Reflecta DigitDia 6000
- Reflecta DigitDia 7000
- Reflecta MF 5000
- Reflecta ProScan 10T
- Reflecta ProScan 3600
- Reflecta ProScan 4000
- Reflecta ProScan 7200
- Reflecta RPS 10M
- Reflecta RPS 3600
- Reflecta RPS 7200
- Uniscan FS120ICE
- All scanners work on Windows, Windows ARM, Mac OS X and Linux
- Full support for 6400 dpi, 7200 dpi and 10000 dpi scans
- Negative scans are faster
- Preview scans are faster
- Gray scans are faster
- Auto focus is more accurate (done with 16 bits instead of 8 bits)
- Multi sampling is improved
- Multi exposure is improved
- Multi sampling and multi exposure can be combined
- Scanning is often quieter
- Adds support for much longer exposure times (i.e. histology samples)
- No need to install CyberView X
- Supports older PIE scanners on all operating systems
- Used scanners can often be purchased on ebay.com for less than $200
- These scanners are now comparable to Nikon CoolScan scanners
VueScan 9.6.38 (64-bit)
- Improved support for PIE and Reflecta film scanners without CyberView X
- Fixed problem with some Epson document scanners
Added support for 8 new Epson scanners:
- DS-70
- DS-80W
- DS-870
- DS-970
- ES-50
- ES-55R
- ES-60W
- ES-65WR
VueScan 9.6.37 (64-bit)
- Improved support for many Brother scanners
- Improved support for PIE and Reflecta scanners without CyberView X
VueScan 9.6.36 (64-bit)
- Improved scan speed when 'Input | Media size' is 'Auto'
- Improved recognition when 'Input | Media' is set to 'Auto'
- Added support for Xerox Patriot D40 document scanner
- Fixed assorted small problems
- Added preliminary support for PIE and Reflecta scanners without CyberView
VueScan 9.6.35 (64-bit)
- Improved automatic media size detection
- Fixed problem with some Epson DS-series scanners
- Double-click with right mouse button sets color balance to default
- Fixed assorted small problems
Improved 'Input | Media' set to 'Color text':
- Produces much smaller JPEG, PDF and TIFF files
- Reduces visibility of wrinkles in paper
- Detected when 'Input | Media' set to 'Auto'
VueScan 9.6.34 (64-bit)
- Improved automatic cropping
- Improved automatic media detection
- Fixed problem with 'Prefs | Beep when done'
- Improved support for AirPrint/Scan (eSCL) scanners
- Improved support for some HP scanners
- Fixed problem with some Epson DS-series scanners and Fine mode
- Fixed problem with AVision AW-210
VueScan 9.6.33 (64-bit)
- Improved automatic cropping
- Improved cropping with black scanner lid
- Improved support for Epson DS-series scanners
- Improved support for some HP printer/scanner/copiers
- Fixed problem on Linux after running VueScan two times
VueScan 9.6.32 (64-bit)
- Improved automatic cropping
- Improved automatic media detection
- Fixed problem with Canon DR-M140 color
VueScan 9.6.31 (64-bit)
- Faster scan speed on flatbed and document feeder
- Improved automatic media detection
VueScan 9.6.30 (64-bit)
Improved support for automatic media size detection:
- More accurate automatic cropping on flatbed and feeder
- Faster scanning using flatbed with smaller images
- Stops scanning before lamp scans the whole flatbed
- Useful for photos, credit cards and other small scans
- Works with flatbed and document feeder
- Added a few standard crop sizes, including credit cards
- Fixed problem with some Epson plugins on Linux
VueScan 9.6.29 (64-bit)
Improved support for automatic media size detection:
- Detects most type of scans
- Set 'Input | Media size' to 'Auto' to enable
- Alternatively, set 'Crop | Crop size' to 'Auto' to enable
- Works with flatbed and document feeder
- Useful for scanning photos and odd sized papers
- Fixed problem with some options forgotten if VueScan crashes
VueScan 9.6.28 (64-bit)
Added support for 44 HP printer/scanner/copiers:
- Color LaserJet Managed Flow MFP E77822z
- Color LaserJet Managed Flow MFP E77825z
- Color LaserJet Managed Flow MFP E77830z
- Color LaserJet Managed Flow MFP E87640z
- Color LaserJet Managed Flow MFP E87640z
- Color LaserJet Managed Flow MFP E87660z
- Color LaserJet Managed MFP E77822dn
- Color LaserJet Managed MFP E77830dn
- Color LaserJet Managed MFP E87640dn
- Color LaserJet Managed MFP E87650dn
- Color LaserJet Managed MFP E87660dn
- Color LaserJet Pro MFP M179fw
- Color LaserJet Pro MFP M278cw
- Color LaserJet Pro MFP M278dn
- Color LaserJet Pro MFP M278nw
- Color LaserJet Pro MFP M279fdw
- Color LaserJet Pro MFP M280c2
- Color LaserJet Pro MFP M280cnw
- Color LaserJet Pro MFP M280nw
- Color LaserJet Pro MFP M281dne
- Ink Tank 310
- Ink Tank Wireless 410
- LaserJet Managed Flow MFP E72525z
- LaserJet Managed Flow MFP E72530z
- LaserJet Managed Flow MFP E72535z
- LaserJet Managed Flow MFP E82550z
- LaserJet Pro MFP M148dw
- LaserJet Pro MFP M148fdw
- LaserJet Pro MFP M149dw
- LaserJet Pro MFP M149fdw
- LaserJet Pro MFP M28a
- LaserJet Pro MFP M28w
- LaserJet Pro MFP M29a
- LaserJet Pro MFP M29w
- LaserJet Pro MFP M30a
- LaserJet Pro MFP M30c
- LaserJet Pro MFP M30cw
- LaserJet Pro MFP M30w
- LaserJet Pro MFP M31a
- LaserJet Pro MFP M31c
- LaserJet Pro MFP M31cw
- LaserJet Pro MFP M31w
- Smart Tank 350
- Smart Tank Wireless 450
Fixed problem with some older scanners:
- HP ScanJet 3800
- HP ScanJet 3970
- HP ScanJet 4070
- HP ScanJet 4370
- HP ScanJet G2710
- HP ScanJet G3010
- HP ScanJet G3110
- UMAX Astra 4900
- BenQ 5550
- Fixed problem with some PIE and Reflecta scanners
- Fixed problem with some Brother scanners on Linux
VueScan 9.6.27 (64-bit)
- Added support for automatic media size detection
- Set 'Input | Media size' to 'Auto' to enable
- Works with flatbed and document feeder
- If scanning full pages, will crop off white areas
- Useful for scanning photos and odd sized papers
- Fixed problem with some Brother scanners
- Fixed problem with some Fujitsu scanners
- Fixed problem with some HP scanners
- Fixed problem with some Minolta scanners
- Fixed problem with Epson ET-7700 scan quality
VueScan 9.6.26 (64-bit)
- Added support for 8 Fujitsu portable scanners: fi-60F, fi-65F, ScanSnap S1100, ScanSnap S1100i, ScanSnap S1300, ScanSnap S1300i, ScanSnap S300, ScanSnap S300M
- Fixed problem with some Brother printer/scanner/copiers
- Fixed problem with some Canon LiDE scanners on Windows
VueScan 9.6.25 (64-bit)
Added support for 4 new Canon scanners:
- TR4500
- TS6200
- TS8200
- TS9500
Fixed:
- Fixed problem with some Epson printer/scanner/copiers
- Fixed problem with some HP printer/scanner/copiers
- Fixed duplex scanning with Samsung CLX-6200
- Fixed problem with Brother MFC-L2700DW
VueScan 9.6.24 (64-bit)
- Improved color with some Epson ESC/I-2 scanners
- Faster startup with some USB scanners
- Fixed problem with HP ScanJet 4400c and 4470c
VueScan 9.6.23 (64-bit)
- Improved support for AirPrint/Scan (eSCL) scanners
- Faster reaction to Cancel button on Mac OS X and Linux
- Canon LiDE 300 and LiDE 400
- Most newer HP printer/scanner/copiers
- Most newer HP document scanners
- Support for most AirPrint/Scan (eSCL) scanners over USB
- Support for future eSCL scanners without upgrading VueScan
VueScan 9.6.22 (64-bit)
- Added support for Canon LiDE 300 and LiDE 400
- Added support for Fujitsu iX1500
Added support for 29 new Brother scanners:
- DCP-9030CDN
- DCP-J572DW
- DCP-J572N
- DCP-J577N
- DCP-L3510CDW
- DCP-L3517CDW
- DCP-L3550CDW
- DCP-L3551CDW
- HL-L3290CDW
- MFC-9150CDN
- MFC-9350CDW
- MFC-J491DW
- MFC-J497DW
- MFC-J5630CDW
- MFC-J5845DW
- MFC-J5945DW
- MFC-J6545DW
- MFC-J6583CDW
- MFC-J6945DW
- MFC-J6947DW
- MFC-J6983CDW
- MFC-J6997CDW
- MFC-J6999CDW
- MFC-L3710CW
- MFC-L3730CDN
- MFC-L3735CDN
- MFC-L3745CDW
- MFC-L3750CDW
- MFC-L3770CDW
VueScan 9.6.21 (64-bit)
- Fixed problem with some PIE and Reflecta scanners on Mac OS X
- Fixed problem with some Fujitsu scanners (especially fi-4120)
- Fixed problem with some HP ScanJet document scanners
- Fixed problem with some newer AVision scanners (especially AD280F)
- Added support for "Input | Overscan" with some AVision scanners
VueScan 9.6.20 (64-bit)
- Improved support for some older Brother scanners
- Added support for installing Photoshop CC 2019 plugin
Added support for 'Input | Page border' option:
- For scanners that can add a 5 mm white border around a scan
- Currently only supports some Epson DS-series scanners
You can lock options settings by write-protecting vuescan.ini:
- This lets you set up starting options for any user
- This can be used to implement a 'Kiosk mode'
- This can be used to set up a scanning user account
VueScan 9.6.19 (64-bit)
- Improved support for changing color theme while running
- Added support for Cut/Copy/Paste on Mac (Apple-X/Apple-C/Apple-V))
- Added support for 'Input | Overscan'
- For photos - puts a border around scans
- Supports most Fujitsu fi-series and iX-series scanners
- Supports most Epson document scanners
- Added support for 'Input | Double feed detect'
- For scanners that have ultrasonic double-feed detection
- Supports most Fujitsu fi-series and iX-series scanners
- Supports most Canon DR-series document scanners
VueScan 9.6.18 (64-bit)
- Improved user interface (integrated wxWidgets 3.1)
VueScan 9.6.17 (64-bit)
- Improved support for PIE and Reflecta scanners
- Improved support for color themes on Windows, Mac and Linux
- Assorted small bug fixes
- Added support for new Brother scanners: DCP-J1100DW, DCP-J772DW, DCP-J774DW, DCP-J972N, DCP-J973N, DCP-J978N, DCP-J988N, MFC-J1300DW, MFC-J1500N, MFC-J690DW, MFC-J890DW, MFC-J893N, MFC-J895DW, MFC-J898N, MFC-J995DW
VueScan 9.6.16 (64-bit)
- Added support for new Epson scanners: DS-1610 , DS-535 , DS-775 , EP-30VA , EP-709A , EP-710A , EP-711A , EP-810A , EP-811A , EP-880A , EP-881A , EP-979A3 , ES-300WR , ES-500WR , ET-2710 , ET-8700 , L3110 , L3150 , L380 , LX-10000F , LX-7000F , PX-M380F , PX-M381FL , PX-M7070FX , PX-M884F , PX-M886FL , WF-2860 , WF-C17590 , WF-C20590 , WF-C5710 , WF-C5790 , WF-C8690 , WF-C869R , XP-250 , XP-350 , XP-450
VueScan 9.6.15 (64-bit)
- Fixed an assortment of small problems
- Added support for new Canon scanners: G2010 series, G3010 series, G4010 series, XK50, XK70
VueScan 9.6.14 (64-bit)
- Fixed problem on some high-resolution Windows displays
- Fixed problem with some WIA scanners on Windows
- Added support for user-specified watermarks
- Use 'Output | Watermark 1' and 'Output | Watermark 2'
- Set 'Input | Options' to 'Professional' to use this
VueScan 9.6.13 (64-bit)
- Improved automatic cropping of photos
Improved batch scanning of photos:
- Best using scanner with straight feeding, without bending
- Best to feed in long direction for minimal skew
- Best to scan photos to JPEG
- Tape black paper to lid if using flatbed (helps scan white borders)
- Open scanner and clean glass if you get vertical stripes
- (Future version of VueScan will improve 'Input | Auto skew')
Best scanners for batch scanning photos:
- Fujitsu document scanners
- Canon DR-series
- Brother ADS-series
- Avision document scanners
- Epson FF-640
- Epson GT-S50
- Epson GT-S80
- Epson ES-400
- Epson ES-500
- Epson DS-530
- Epson DS-575
VueScan 9.6.12 (64-bit)
- If set to 'Off', one file per scan is produced
- If set to 'On', one file can have any number of pages
If set to 'Blank page', a blank page causes a new file to be started:
- Option enabled if 'Input | Mode' set to 'Doc Feeder' or 'Duplex Feeder'
- Blank pages are not saved
If set to 'Front/Back', the front and back of a duplex scan saved per file:
- Option enabled if 'Input | Mode' set to 'Duplex Feeder'
- Useful for scanning postcards (two sided)
- Useful for batch scanning photos, with writing on the back of some
- Useful for scanning two-sided pages to separate files
- If 'Input | Blank page removal' is set, a blank side isn't saved. Useful if only some photos or pages have writing on the back
Enhanced multi page options:
- Output | TIFF multi page
- Output | JPEG multi page
- Output | PDF multi page
- Output | OCR text multi page
When scanning photos, set 'Input | Media size' to photo size or larger:
- Also set 'Crop | Crop size' to photo size
VueScan 9.6.11 (32-bit)
- Changed default button to Scan/Scan+ for some flatbed scans
- Turned off 'Prefs | Auto load options' by default (unless vuescan.ini exists), (this solves problems when accidentally changing options settings)
- Added support for Xerox DocuMate 4440
- Fixed problem with Canon MG5600 at 1200 dpi
VueScan 9.6.10 (64-bit)
- Significantly improved automatic cropping
VueScan 9.6.08 (64-bit)
- Fixed problem with Canon MX520
- Fixed problem with some eSCL (AirPrint/Scan) scanners
- Fixed problem with HP Scanjet Pro 2500 f1
- Fixed problem with PIE PowerSlide X
- Fixed miscellaneous small problems
VueScan 9.6.07 (64-bit)
- Improved support for WIA scanners on Windows
- Added support for using script for 'Prefs | Viewer'
- Can use .bat file on Windows
- Can use .sh or .csh file on Mac OS X and Linux
- Added support for higher resolution scans on some Epson document scanners
- Faster termination of transparency scan on Epson scanners with lamp covered
- Fixed miscellaneous small problems
VueScan 9.6.06 (64-bit)
- Improved support for some HP printer/scanner/copiers
- Fixed problem when both USB and networked scanners connected
VueScan 9.6.05 (64-bit)
- Reduced size of color PDF files by 30% to 50%
- Changed default setting for Doc Feeder to B/W text
- Fixed problem with duplex with AirPrint/eSCL MFPs
VueScan 9.6.04 (64-bit)
- Fixed problems with AirPrint/eSCL MFPs
Added support for networked business MFPs:
- Gestetner
- infotec
- Konica Minolta
- Lanier
- NRG
- Ricoh
- Savin
VueScan 9.6.03 (64-bit)
- Added support for scanning from AirPrint MFPs
- Several hundred new models supported
- Works on Windows, Mac OS X and Linux
- Faster scanning with some networked MFPs
- User interface improvements
VueScan 9.6.02 (64-bit)
Added support for 2 new Epson printer/scanner/copiers:
- WF-7710
- WF-7720
Added support for 37 new Brother printer/scanner/copiers:
- DCP-7090
- DCP-7095D
- DCP-7190D
- DCP-7195DW
- DCP-B7500D
- DCP-B7520DW
- DCP-B7530DN
- DCP-B7535DW
- DCP-L2510D
- DCP-L2530DW
- DCP-L2535D
- DCP-L2535DW
- DCP-L2537DW
- DCP-L2550DN
- DCP-L2550DW
- DCP-L2551DN
- FAX-L2710D
- HL-L2390DW
- HL-L2395DW
- MFC-7390
- MFC-7490D
- MFC-7890DN
- MFC-7895DW
- MFC-B7700D
- MFC-B7715DW
- MFC-B7720DN
- MFC-L2690DW
- MFC-L2710DN
- MFC-L2710DW
- MFC-L2713DW
- MFC-L2715D
- MFC-L2715DW
- MFC-L2717DW
- MFC-L2730DN
- MFC-L2730DW
- MFC-L2750DW
- MFC-L2770DW
VueScan 9.6.01 (64-bit)
- User interface easier to use
- Added VueScan a64 for Windows 10 ARM
- Added 'Help | Update' command to install VueScan updates
- No longer show tips dialog on startup
VueScan 9.5.94 (64-bit)
Added support for e-mailing the most recent scan:
- Use 'EMail' button (next to 'View' button) to send e-mail
- You're prompted to enter 'Email To:' and 'Email Subject:'
- Requires Professional Edition
- Uses http://appmail.hamrick.com to send email
- Scans are forwarded, not written to our server's hard drive
- On Linux, you need to install curl (/usr/bin/curl)
VueScan 9.5.93 (64-bit)
- Added support for Epson XP-6000
- Fixed problem with network-connected HP LaserJet MFP M278-M281
- Fixed problem with 1200 dpi scans with some LaserJet MFPs
- Fixed problem with some Brother scanners
- Fixed problem with Plustek OpticSlim 1180 on Mac OS X
- Fixed problem with Nikon LS-8000/LS-9000 focusing
Under-the-hood improvements:
- Updated Windows compiler to Visual Studio 2017
- Added drivers for Windows 10 ARM (untested)
- Updated Linux build to use Ubuntu 16.04 LTS
VueScan 9.5.92 (64-bit)
- Added support for HP LaserJet MFP M278-281
- Improved finding networked scanners on some slow networks
- Improved handling of end of page with Avision scanners
- Improved scan speed with Fujitsu fi-6770
- Improved support for Plustek OpticFilm 135
- Fixed problem with some Epson ESC/I-2 document scanners
- Fixed problem with saving to multiple files with long names
- Fixed problem with HP ScanJet 4p document feeder
- Fixed problem with some Brother scanners
VueScan 9.5.91 (64-bit)
- Changed to only show 'Save' and 'Save+' when not already saved
- Improved ADF centering with some Epson scanners
- Fixed problem with some Epson ESC/I-2 document scanners
Added support for 11 new HP scanners:
- Deskjet 2200
- Deskjet 2600
- Deskjet 5000
- Deskjet 5200
- ENVY 5000
- ENVY Photo 6200
- ENVY Photo 7100
- ENVY Photo 7800
- Officejet 5200
- Officejet Pro 7720
- Officejet Pro 7730
VueScan 9.5.90 (64-bit)
- Faster startup with some scanners
- Improved support for 35 Epson ESC/I-2 document scanners
- (also adds support for these scanners on Mac OS X and Linux)
- DS-1630
- DS-1660W
- DS-320
- DS-360W
- DS-40
- DS-410
- DS-50000
- DS-510
- DS-520
- DS-5500
- DS-560
- DS-570W
- EP-879A
- ES-200
- ES-300W
- ES-400
- ES-500W
- ET-2700
- ET-2750
- ET-3700
- ET-4750
- ET-7700
- FF-640
- PX-M680F
- PX-M780F
- PX-M781F
- PX-M860F
- WF-3720
- WF-4720
- WF-4730
- WF-4740
- WF-6530
- WF-6590
- WF-8510
- WF-R8590
VueScan 9.5.89 (64-bit)
- Significantly improved automatic cropping
- Fixed problem with Canon DR-3080CII
- Fixed problem with HP LaserJet M426 and M427 with USB
- Added support for 8 Epson printer/scanner/copiers
- ET-2700
- ET-2750
- ET-3700
- ET-3750
- ET-4750
- ET-7700
- ET-7750
- XP-8500
VueScan 9.5.88 (64-bit)
- Added support for auto cropping with black background
Added support for 7 Canon printer/scanner/copiers:
- TS3100 series
- TS5100 series
- TS6100 series
- TS8100 series
- TS9100 series
- TR7500 series
- TR8500 series
VueScan 9.5.87 (64-bit)
Added support for 172 Avision scanners:
- AD125
- AD215W
- AD250
- AH118
- AH125
- AH130
- AH135
- AH225
- AH235
- AH240
- AH245
- AH255
- AH260
- AH2600
- AH330
- AH3400
- AH360
- AH380
- AH50
- AH610
- AH617
- AH620
- AH625
- AH640
- AI130
- AI140
- AI150
- AI160
- AI170
- AI180
- AI180+
- AI2010
- AI260
- AI280
- AI3000
- AI370
- AI370
- AI380
- AI390
- AI530
- AI550
- AI620
- AN230W
- AT130
- AT160
- AT185
- AT200
- AT260
- AT270
- AT300
- AT313
- AT320A
- AT322
- AT360
- AT366
- AT500
- AT510
- AT580
- AT580U
- AT650
- AT660
- AT83
- AV1860
- AV188
- AV220G
- AV280
- AV3200U+
- AV3220U
- AV50F+
- AV5200
- AV5400
- AV750
- AV8300
- AV830S
- AW1230
- AW1260
- AW1620
- AW1810
- AW1820
- AW1900
- AW2000
- AW2860
- AW570
- AW6100
- AW6120
- AW6160
- AW6200
- AW6280
- AW6300
- DSL3200
- DSL3930
- DSL8160
- DSL8280
- FB1200+
- FB1600
- FBH1000
- FBH2000
- FBH2100
- FBH2200E
- FBH5000
- FBH6100
- FBH6300
- FBH6350E
- FBH6380E
- FBZ160
- FBZ360
- FZ90
- WinMage C100
- WinMage C100+
- WinMage C200
- WinMage C500
- WinMage C500+
- WinMage C600
- WinMage C700
- WinMage D120
- WinMage D120+
- WinMage D220
- WinMage D520
- WinMage D520+
- WinMage D6000
- WinMage D650
- WinMage E1000
- WinMage E1000+
- WinMage E2000
- WinMage E5000
- WinMage E5000+
- WinMage F1300
- WinMage F5300
- WinMage F5300+
- WinMage G1100
- WinMage G2100
- WinMage G5100
- WinMage G7100
- WinMage G7120
- WinMage L1250
- WinMage L2230
- WinMage L5100
- WinMage L5250
- WinMage L6250
- WinMage L7250
- WinMage L7280
- WinMage L7280+
- WinMage L7350
- WinMage M110
- WinMage M1160
- WinMage M1200
- WinMage M1360
- WinMage M1600
- WinMage M1800
- WinMage M2100
- WinMage M2200
- WinMage M2480
- WinMage M2580E
- WinMage M3000
- WinMage M3200
- WinMage Q2120E
- WinMage Q2200E
- WinMage Q520
- WinMage Q7100
- WinMage Q7250
- WinMage Q8150
- WinMage S125
- WinMage S125+
- WinMage S525
- WinMage T110
- WinMage T230
- WinMage T510
- WinMage U315
- WinMage U350
- WinMage U370
- WinMage U380
- WinMage U390
VueScan 9.5.86 (64-bit)
- Fixed problem with changed output file types when restarting
- Fixed problem with some newer Avision scanners when scanning text
- Fixed problem with mirroring on Canon DR-F120 and DR-C240
- Fixed problem with Brother MFC-L2740DW
- Fixed problem on Windows when full path name longer than 256
- Fixed problem on Windows with temporary files not deleted on exit
VueScan 9.5.85 (64-bit)
- Fixed problem with Brother MFC-J6930DW duplex scans
- Fixed problem with HP Officejet Pro 8730 duplex scans
- Fixed problem with Epson WF-3720 on Windows
- Fixed problem with Xerox 3635MFP on Windows
- Fixed problem with Canon DR-F120 scanner
VueScan 9.5.84 (64-bit)
- Fixed problem with some Canon DR-series scanners
- Faster scanning with some Fujitsu document scanners
VueScan 9.5.83 (64-bit)
- Change log not available for this version
VueScan 9.5.82 (64-bit)
- Improved scan speed with some Samsung scanners
- Added support for film strips up to 100 frames on PIE/Reflecta scanners
- Fixed problem with some Brother scanners
- Fixed problem with some Fujitsu scanners on Windows
- Fixed hangs on Windows when some networked scanners turned off
- Fixed hangs with some types of webcams
VueScan 9.5.81 (64-bit)
- Added support for Epson L485 and L486
Added support for legal-size scans (14 inches) with:
- Genius ColorPage SF600
- Iris Iriscan Express 2
- Plustek OpticSlim M12
- Fixed problem with some Canon DR-series scanners
- Improved scan speed with Fujitsu fi-6140Z
- Added support for auto-focus on Epson Expression 12000
- Fixed problem with some Fujitsu scanners on Windows
- SP-25
- fi-6120ZLA
- fi-6125ZLA
- fi-6130ZLA
- fi-6135ZLA
- fi-6140ZLA
- fi-6220ZLA
- fi-6225ZLA
- fi-6230ZLA
- fi-6235ZLA
- fi-6240ZLA
VueScan 9.5.80 (64-bit)
- Improved scan quality with some Minolta film scanners
- Added support for HP Deskjet 3700
- Added support for duplex scanning with some Samsung scanners
- Fixed problem with Microtek ArtixScan 120tf
- Fixed problem with Brother ADS-1500W and ADS-1600W
VueScan 9.5.79 (64-bit)
Added support for 14 Epson printer/scanner/copiers:
- DS-320
- L385
- L386
- PX-M680F
- PX-M780F
- PX-M781F
- WF-3720
- WF-4720
- WF-4730
- WF-4740
- XP-240
- XP-243
- XP-245
- XP-247
Added support for 12 Canon printer/scanner/copiers:
- iR C3020
- iR C3025
- MF631C
- MF632C
- MF633C
- MF634C
- MF635C
- MF731C
- MF732C
- MF733C
- MF734C
- MF735C
VueScan 9.5.78 (64-bit)
- Fixed problem with automatic detection of color scans
- Fixed problem with duplex on HP Officejet Pro 8720
- Fixed problem with duplex on Brother ADS-2800W
- Fixed problem with reading multi-page TIFF files
更新時間:2021-02-10
更新細節:
更新時間:2021-02-09
更新細節:
更新時間:2021-02-08
更新細節:
What's new in this version:
Improvements:
- Add the GDevelop games showcase in a tab of the new project window
- Improve the start page a link to the Youtube channel, more icons and a link to the showcase
- Submit your game to the showcase here!
- Add normalize expression, map a value between min and max to a value between 0 and 1
- Add condition to check if any key is released
- Add help link for AdMob actions and conditions
Fixed:
- Fix Tilemap not refreshed when the JSON file changed and a tileset JSON is also set
- Fix Tilemap not showing the specified layer in "index" mode
- Fix Tilemap not working in the web-app
- Fix fullscreen not working on certain browsers
- Fix Firebase action to sign in with 3rd party providers in a browser
- Fix middle-click drag not working in Yarn editor
- Fix rare layout glitches after resizing the window
更新時間:2021-02-08
更新細節:
更新時間:2021-02-03
更新細節:
更新時間:2021-01-31
更新細節:
What's new in this version:
New features:
- Add Tilemap: an object to display tile-based maps made using Tiled
- Read the step-by-step explanations on how to use this object
- Download Tiled mapeditor.org to author your own map/objects. You can also try other editors like LDtk, but you'll need to export to the Tiled format, and use Tiled to save as JSON
- Rotated tiles are supported, as well as a limited set of feature from Tiled including animated tiles. Not all Tiled features are supported though - read the documentation to know more
- Two new examples using Tilemap have been added
- Add support for isometry in the top-down movement behavior
- Add an option to choose: classic top-down movement, isometry, 2:1 isometry or isometry with a custom angle
- Add actions, conditions and expressions for Shape Painter
- Expressions to get the color of the outline or filling
- Expressions to get the opacity of the outline, filling and size of the outline
- Conditions/actions to check/change the usage of relative coordinates
Improvements:
- Improve the search bar when adding an action/condition to search in all the existing actions and conditions
- This includes the object actions and conditions. If one is selected, the object can be chosen as a parameter
- This should improve the search experience for both new and advanced users
- This should reduce confusions for users searching for an action/condition and not finding it because they have not chosen an object first
- The AdMob actions have been changed (after an internal upgrade to fix issues on iOS)
- Banners can't be overlayed on the game anymore. They are displayed either above or below
- New conditions are now available to check if interstitials, banners or reward videos encountered an error when loading
- A new action is available to enable (or disable) the test mode for all ads at once.
- App Id are now separated, with one for Android and one for iOS. Don't forget to update them before exporting your app, otherwise it would get terminated when started
- Upgrade Yarn Editor (integrated dialogue editor) to its latest version
- Add "Procedural generation" example
The wiki now contains automatically generated reference pages for all features of GDevelop:
- Automatically generated reference pages for all the "official extensions" that are part of GDevelop. They are listing all the actions, conditions and expressions
- The page listing all the "community" extensions is now displaying icons and more details
- Add menu item to move up and down parameters of functions and behavior methods
- Added a preference to toggle the visibility of menu bar in preview windows
- By default, the menu bar is now hidden in previews (like in exported games)
- Update readmes and docs to mention TypeScript
Bug-fixes:
- Prevent files being overwritten when a resource is copied to the project folder
- Ensure the conditions column has a minimum size, to make them readable even when a lot of sub-events are used
- Fix new events received before old events in the p2p extension
- Also add an expression to get the sender name
- Also refactor the code internally to allow usage from JavaScript
- Fix crash when using Pathfinding::DestinationX() and related expressions
- Fix potential crashes because of bad content in the clipboard
- Fix platformer object behavior not working properly when the object also has the platform behavior
- Fix being unable to select any behavior other than the first one in the action/condition editor, when an object has multiple behaviors
- Fix long variable or object names overflowing out of the Events Sheet
- Fix crash when lights used with obstacles in some conditions
- Fix URLs not opening in the system browser in previews or exported games
- Fix missing translation markers
- Fix Space Shooter tutorial link
- Fix potential crash/memory corruption when updating an extension
- Fix various wordings/typos
Internal changes:
- The whole game engine ("GDJS") and extensions for the game engine are now written in TypeScript
- This makes the game engine and the extensions more robust, preventing bugs and regressions
- Export sourcemaps of the game engine/extensions in previews
- Convert the p2p extension to Typescript
- Add documentation of extensions in the generated GDJS documentation
- Rework objects recycling to be opt-in with a reinitialize method
- Add instructions about npm installation issue on WIndows