Mp3tag 歷史版本列表
Mp3tag 是一個功能強大,但易於使用的工具來編輯常見的音頻格式的元數據,它支持 ID3v1,ID3v2.3,ID3v2.4,iTunes 的 MP4,WMA,Vorbis 的評論和 APE 標籤。它可以重命名文件的基礎上標籤信息,替換標籤和文件名中的字符或單詞,導入 / 導出標籤信息,創建播放列表等.Mp3tag 支持來自 Amazon,discogs 或 freedb 的在線數據庫查詢,允許... Mp3tag 軟體介紹更新時間:2021-03-26
更新細節:
What's new in this version:
- This new version is mainly about spring-cleaning with lots of improvements and fixes and I want to take the opportunity to detail some of the new features and changes for you. It's also first version that requires Windows 7 as a minimum operating system. It was about time.
Retry for Tag Sources:
- If no results are returned for a certain search at Tag Sources, it's now possible to retry and having the previous query already filled in. No more entering the same information twice (or trice!).
- I've also added the option to retry for error case, e.g., when the internet connection of the servers are flaky
Option to disable auto-sizing of columns in Tag Source results:
- So far, the column width for Tag Sources results has been decided based on the content that was returned from the query. While it always displays the full content, it also means that some columns are outside the dialog width and scrolling is needed. You can now disable the auto-sizing of column via the context menu of the column header.
Undo via Ctrl+Z in Tag Panel fields:
- This was quite some time in the making (I've received the first bug report on that back in Jan 2014). You can now undo text entry in Tag Panel fields without undoing the last tag-write or rename operation.
Actions and Tag Sources available via context menu:
- The file list context menu now also has the Actions and Tag Sources available via submenus. Sometimes it's just faster to trigger them from the context menu.
更新時間:2021-03-26
更新細節:
What's new in this version:
PDF24 Creator 10.0.12
- Change log not available for this version
PDF24 Creator 10.0.11
Fixed problems with UTF8 character encoding on some systems:
- Some systems had problems with the UTF8 character encoding. In the toolbox for instance some umlauts were not displayed correctly. This did not affect all systems. We investigated and fixed the problem.
Fixed problem converting images to PDF:
- A problem with the "Images to PDF" function and the newly introduced embedding of JPG files without recoding has been fixed. If an image file has a .jpg extension and the image is not actually a JPG image, then direct embedding failed with a blank page. We are now using a different technique to identify JPG images so that images with incorrect file extensions will work correctly again.
In the settings area you can now configure the "Images to PDF" function:
- The "Images to PDF" block has been added to the settings area, where you can make some settings that the "Image to PDF" function uses. Before you could only do this directly via the Windows registry. It's more comfortable that way.
JRE updated to version 15.0.2:
- The new version is not a direct benefit, but it is important for some companies to have an up-to-date version
PDF24 Creator 10.0.10
Mediabox rotation improved:
- The Mediabox rotation is used for overlaying content. Improvements had to be made here because problems occurred with certain PDF files. The function now also supports Mediabox definitions where the lower left coordinate is not in the origin. This is quite rare, but some PDFs use this possibility.
Use of metadata when converting images to PDF:
- Metadata is now also evaluated when converting images to PDF. The orientation that can be stored in the metadata is used here. Based on the determined orientation, the rotation of the page in the PDF is adjusted accordingly. In this way, the user no longer has to correct the orientation afterwards. Especially with photos that come from smartphones, the orientation is often incorrect. This improvement now simplifies the conversion of images into PDF files.
Direct embedding of JPG images in a PDF:
- JPEG images are now embedded in the PDF without re-encoding. This often makes the PDF file size much smaller and the quality remains the same. This behavior can be controlled via the registry setting Img2PDFPassThroughJPEGImages (DWORD [0|1]).
Online converter block removed from the settings area:
- The online converter block has been removed from the Settings UI, as this option is also available from the features area in the settings. The duplication is not necessary here.
Problem with transformation matrices fixed:
- When calculating transformation matrices used in PDF files, two errors have been fixed which caused problems with certain PDF files. The new calculations are now correct.
Fixed script error in the toolbox:
- We fixed some script errors in the toolbox that occurred when using certain languages such as Dutch. We had to make some changes and add extensions so that the translated text does not cause problems with the scripts.
Fixed a script error when displaying grouped results in the toolbox:
- The toolbox shows the results of an operation grouped if this is necessary. When viewing these groups, a script error occurred with certain input files. The reason for the problem was the file name. Filenames with certain characters caused this problem. We have investigated and fixed this issue.
Three untranslated text translated in the toolbox:
- In the toolbox there were still 3 untranslated texts. The texts were displayed in German. Here we have improved so that these texts now also use the translated version.
PDF24 Creator 10.0.9
Toolbox: Sign PDF tool now has separate options for stroke and fill color:
- The Sign PDF tool now has a line and fill color option in the toolbar. This is sometimes required for some signatures to completely change the color of the signature, as the automatic detection of the combined color tool sometimes does not work as expected.
Toolbox: Sign PDF tool scales large signatures better when inserting them:
- Inserting large signatures was ugly from the user's point of view, as it was tedious to scale them down to the desired size. It's better now. The signature is inserted a little smaller if it is very large, so that it is easier to move it to the right place and to change the size.
Toolbox: Blacken PDF tool renders edited pages for security:
- Previously, the information from the blackening was placed on the page as a layer. With PDF editing tools it was too easy to get rid of this layer. In order to increase security, edited pages are now also rendered to an image and the actual content of the page is replaced with the image. In this way, you can no longer remove layers to make the content below visible. This makes the PDF a bit larger, but this is the only way to guarantee security.
Toolbox: Backspace button navigation disabled:
- Users have reported that the backspace key can be used to go back to the overview page. If you now e.g. edited a PDF and used the backspace key, then you leave the edit page, which is really ugly. This issue has now also been improved.
PDF24 Creator 10.0.8
Toolbox saves last window placement:
- The toolbox now saves the last used window size and position on the screen. This way, the user can better adapt the application to the hardware he is using. Especially with large screens, some users do not want a maximized display.
Tray icon Open action improved:
- The tray icon can be used to open the PDF24 via the icon context menu or via a double-click. This behavior has been improved. If the toolbox is activated, then the toolbox is opened. If the Toolbox is not activated, then the older launcher is opened instead.
Some brush types disabled for tools in the toolbox:
- For the Edit, Blacken and Annotate tools in the Toolbox, we have disabled some brush types because they do not run correctly in the offline version. Here we need to see how to switch these brush types so that they also work in the offline version.
Importing signatures into the signing tool improved:
- Signatures that are available as images can be imported into the tool. With large images there were problems with the display, so it was difficult to import them. Here we have improved so that this is now easier.
More functions can be deactivated in the toolbox:
- More instructions have been added in the Toolbox to disable some tools there. This can be done via the Windows Registry. The registry entries have the following form: feature.toolbox.[blacken | ...] = [0 | 1] (DWORD). For example, if you want to disable the blacken tool, then set feature.toolbox.blacken = 0.
Language files updated:
- Problem with updater fixed
- The updater did not evaluate an instruction correctly, which caused problems with the detection of updates. This problem has been fixed in this version.
Reader cannot overwrite currently opened file:
- In Reader we have built in a protection so that the currently opened file cannot be overwritten. If you wanted to do this in older versions, then there were problems with saving and the newly saved file was empty.
Filter options in the toolbox have made disabled tools visible:
- In the toolbox, there are several filters that the user can use to display tools. One of the filters is the one for recently used tools. Furthermore, there is the possibility to deactivate certain functions throughout the program, e.g. if they should not be available in a company. However, the use of the filters caused that these deactivated functions were made visible. This problem is now fixed.
PDF24 Creator 10.0.7
- Change log not available for this version
PDF24 Creator 10.0.6
PDF24 Toolbox shows hint page for an incompatible system:
- The PDF24 Toolbox requires Windows 10 to run without problems. With older systems, you may need to make some changes to make the UI display properly. If an environment is detected which is not sufficient for the PDF24 Toolbox, a hint page is displayed and some options are shown. This is a better way of picking up those users who are currently experiencing errors because they are using a too old system.
PDF24 Creator 10.0.5
- Included Java VM updated to version 15
Automatic DPI reduction in the OCR tool:
- We have further improved the OCR engine in the OCR tool. Some users have reported that sometimes no text is recognized. We have investigated this and found a problem with the DPI value. The DPI value is now automatically lowered to ensure that text can be recognized. Since, depending on the way the PDF is created, there may be a problem with the size and memory limit, and Tesseract will fail if the underlying image file becomes too large, this was a necessary step. The automatic DPI adjustment prevents this, because if the PDF file has an abnormal page size, the DPI value is automatically reduced so that internal processing does not fail.
PDF24 Creator 10.0.4
Option to leave the Scanner App open:
- In the selection window to choose a scanner source, there is now also a checkbox to leave the scanner app open after the scan process. This way, you can scan several pages in a row more quickly
Option to use scanner data sources via twain_32.dll:
- The twain_32.dll is part of Windows and sometimes displays other data sources that are not currently displayed. Therefore we have now made these data sources selectable via the selection window
Scanner selection window shows sources grouped:
- The scanner selection window now shows the data sources grouped. Data sources are determined in different ways and assigned to a group. The UI displays these groups and the corresponding data sources
- Included Java VM updated to version 15
- Language files updated
PDF24 Creator 10.0.3
Fixed problems importing from scanners:
- Version 10 had problems taking to a scanner. Access to the TWAIN interface was no longer possible. The reason is the update to the x64 architecture in version 10. We have analyzed this issue in more detail and developed a workaround for this problem. Through an indirection, the PDF24 Creator can now load x86 and x64 Twain drivers and import data from these sources. The user can select the appropriate source beforehand. If there are any further problems in this area, please let us know.
PDF24 Creator 10.0.2
Fixed problems saving files with certain tools from the toolbox:
- The tools for editing, annotating, signing and redacting were not able to save certain PDF files. The save function resulted in an error and the visualization for saving files was never stopped. Users have made us aware of this problem and have sent us test files that we have analyzed. The underlying problem has been fixed and the tools now also work with the PDFs sent to us.
- More language files updated
Problems with driving scanners are still there and we are working on them:
- Those who cannot import from your scanner should still use version 9.2.2, which you can also download from the PDF24 download section. Problems caused by the switch to x64 are known and we are working on a workaround to solve this problem.
PDF24 Creator 10.0.1
Problems with loading password protected PDF files into the toolbox fixed:
- We have fixed an error when loading password protected pdf files into the toolbox. Some tools did not behave correctly with this kind of files and loading failed. This problem is fixed with version 10.0.1
Fixed problems when loading PDF files into a toolbox that contain special characters:
- An error when loading files into the Toolbox that have some special characters in the path name was fixed. The Toolbox was not able to handle this kind of files. The encoding was not implemented correctly. This has been corrected and the problem is fixed.
A bug in the overlay tool introduced in version 10.0.0 was fixed:
- We have also fixed a bug introduced in version 10.0.0 regarding the overlay PDF tool. An error message appeared with an error during file conversion. This problem is now also fixed
Fixed an error when unlocking PDFs with the unlock tool in the toolbox:
- A bug with the PDF unlock tool was fixed. The unlocked file could not be saved by the user. Instead, the locked version was saved incorrectly. Now the correct version is used when saving
An error with the used toolbox url encoding scheme was fixed:
- A bug with the URL encoding scheme used in the toolbox was also fixed. Some users could not work properly with the new Toolbox due to special characters in user names or special characters in file names
More language files updated:
- Most of the language files are now up to date
PDF24 Creator 10.0.0
PDF24 Toolbox added:
- The biggest new feature in PDF24 Creator 10 is the toolbox. The new toolbox contains many PDF tools and which makes them as easily accessible as possible. With the online PDF Tools from PDF24 we have seen that users find very simple PDF Tools great. As a result, we have constantly expanded and improved the online tools. Our goal is to offer all PDF Tools as online and offline versions in the PDF24 Creator. Since the development of the online tools is a bit faster than the development of the offline tools, there were many tools online, but they were not yet available offline. This discrepancy will now be eliminated with the PDF24 Creator 10. The new PDF24 Creator 10 gets with the toolbox all the tools that are also available online and we are proud of that. Users who cannot or do not want to use online tools for data protection reasons can now find all tools as offline version in PDF24 Creator 10.
Paths in the registry changed:
- The PDF24 Creator settings are located in the Windows Registry. With version 10 we have adapted the paths where the PDF24 Creator stores the settings. The old paths were historical, but did not contain the term PDF24, which has always been a bit unsightly. Previously the settings were saved under "SOFTWARE/PDFPrint". In Version 10, "SOFTWARE/PDF24" is now used instead. Attempts have been made in the past to change this, but so far it has never worked. The PDF24 Creator 10 is a major update, so this point is now included here.
Update to Ghostscript 9.53:
- The PDF24 Creator 10 now includes the latest version of Ghostscript. In Ghostscript itself there have been many changes in the last revisions and we were advised to update to the current version. We have done this and we have adapted the PDF24 Creator to the new Ghostscript version.
PDF24 Creator 10 is now built for 64-bit systems:
- On the one hand, we have been asked about it several times, but on the other hand it is necessary for some new components to work properly with the PDF24 Creator. All parts of the PDF24 Creator are now x64-compatible. Dependent components and programs like Ghostscript are also delivered in the 64-bit version. This means that all parts of the PDF24 Creator are designed for x64 systems
Screen Capture Tool improved:
- The Screen Capture Tool can now also save to a file. This new mode is now available in the user interface. The tool also saves recently used settings so that you can take a screenshot more quickly next time.
OCR tool usable via command line:
- Using the command line you can now also detect text in files. The command line interface for the OCR tool is described in the new PDF24 Creator Manual. Some users have asked for such a solution and we have included this feature in version 10.
PDF24 Creator Manual is now available:
- With the PDF24 Creator 10 there is now also a manual for the first time, which contains a lot of information about the PDF24 Creator. This information is especially interesting for administrators. The manual will be further improved and maintained.
Fixed a problem with the generation of PDF/A-2b files:
- We have fixes a problem with the generation of PDF/A-2b files. Validation of generated files did not pass tests. This problem is fixed now
PDF24 Creator 9.2.2
Improved:
- The pagination options have been changed so that the start offset marks only the first page on which to start pagination. The page numbers themselves are no longer influenced. In this way, the correct page number now appears on the correct page in the document. This change is useful when documents have been merged and when you need to add page numbers to the new pages.
Updated:
-The Portuguese and Portuguese-Brazilian language files were incorrectly interchanged. This has been corrected. Some other language files have also been improved
Fixed:
- A problem with the updater has been fixed. The updater could not find some updates. Some users have made us aware of this
PDF24 Creator 9.2.1
Problem with 256 Bit encryption fixed:
- Some users have reported that there are problems with 256 bit encryption. We have investigated this. The problem does not seem to affect all users, because on our test systems we could not reproduce the problem. Version 9.2.1 provides a workaround for this problem, so that the 256 encryption is running again on the computers that reported problems.
PDF24 Creator 9.2.0
Problem with PDF printer fixed:
- A recent Windows update has caused the PDF printer to stop working correctly. Print jobs were stuck in the queue. We have analyzed and fixed the problem. All users who have problems with the PDF printer should upgrade to the current version 9.2.0.
Problem with metadata and PDF/A fixed:
- Problems occurred when changing the metadata of PDF/A files. This version fixes a problem in this area
PDF printer driver description improved:
- In the PPD file that describes the PDF printer, there were some minor problems. These have been fixed. Furthermore some minor improvements were made. For example, the minimum page size has been further reduced, which is sometimes useful for label production.
Improvements when loading many files in the Creator:
- In the Creator there were improvements when loading many files. Sometimes the display was not correct and the UI became slow when several hundred files were loaded.
Downloads folder in the Creator page tree:
- The downloads folder is now listed in the page tree of the Creator. This makes it easier to find this folder, because many files come from the Internet and end up in the downloads folder.
Updater improved:
- Many improvements have been made to the Updater, which will be necessary in the future. The Updater is now much more flexible, which will be necessary when choosing the right update. In the future there will be e.g. x64 versions and the updater has to choose the right architecture.
Password request when saving a PDF:
- The output profiles have been given a new option. You can now set that passwords are queried when a PDF is created. This way you can set the passwords again and again and thus give each PDF a different password.
PDF24 Creator 9.1.1
Send as fax not working when fax printer was not installed:
- If the fax printer was not installed, the functions for sending as a fax did not work due to a missing configuration parameter. This is now fixed and you can send faxes even if the fax printer is not installed.
Fixed a bug exchanging files with the PDF24 services:
- Due to an error within a certain function, the file name was not exchanged correctly with the online services PDF24 Mail, PDF24 CloudPrint, PDF24 Fax. This led to some problems there, e.g. a missing file name in the folder for sent faxes. This problem is now fixed.
Larger timeout for QPDF unlock operation:
- Sometimes it takes a little longer than expected for QPDF to unlock PDF files. The time limit now depends on the file size, so large PDF files get a little more time to unlock.
QPDF update to version 10.0.1:
- This release brings some optimisations regarding speed
PDF24 Creator 9.1.0
OCR: Option for automatic saving in the same directory:
- With this new option, the OCR tool is able to automatically save processed files in the directory where the file is located. This option can be very useful when processing many files.
OCR: Option for automatic saving in an output directory:
- With this new option, the OCR tool is able to automatically save processed files in a directory. This option can be very useful when processing many files
OCR: Skip documents and pages with text:
- With this new option, the OCR tool is able to skip files or pages that already contain text. In this way, files are not saved with duplicate text
OCR: Number, how many files are processed in parallel, is adjustable:
- This new option allows the user to set how many files should be processed in parallel. In this way, the user can decide how heavily his computer may be used
OCR: Security prompts for unsaved files:
- When files are removed or when the application is closed and if there are unsaved files, a confirmation prompt is displayed
OCR: Menu icon for each file:
- At the end of each line of a file entry there is a menu icon with further options for the file
OCR: Show recognized text via the menu icon:
- The menu icon now contains an option to display the recognized text. This makes it easier to see which text has been recognized
OCR: Error message if language information cannot be loaded:
- Language files and language information are downloaded from the Internet due to their size. If this fails, an appropriate message is displayed. Buttons for retrying or canceling are available.
OCR: Integration of a cache, for faster reprocessing:
- The cache makes a subsequent OCR process for the same file complete faster. This is especially useful if the options are changed later and the OCR process is restarted.
OCR: Faster processing:
- File processing is much faster with this new version than before. Sometimes files are processed almost twice as fast
OCR: Tesseract Update to version 4.1.1:
- The new version of Tesseract fixes problems and brings improvements so that these new features also benefit the user
OCR: GUI revised:
- The GUI is now slightly larger so that all new elements can be displayed
- The options area uses a flow layout to allow more options to be used in this area without wasting too much space
- There is a menu icon for each file with additional functions
- Icons in the toolbar were revised
General: PDF Lib improvements:
- Further improvements have also been made to the PDF Lib, which is used internally in PDF24 for many tasks
General: Password Cache to improve decryption of many files:
- Entered passwords are stored internally in the open program and will be used automatically when further documents are loaded. If several documents have the same password, then the password does not have to be entered again for these files.
Settings: Problem with duplicate entries solved:
- There is a Reload button in the settings area PDF Printer, Automatic Save, Profiles. Using this button has resulted in duplicate entries in the selection box. This problem is solved.
Creator: Automatic folder display when loading a file via command line:
- If a file is loaded in the Creator via command line, the folder where the file is located is displayed in the file explorer
Reader: Fixed problem with date display in file information area:
- The minute in the date was not correct due to an incorrect formatting specification. This issue has been fixed
Reader: Fixed problems when loading files with special characters in the name:
- PDF files with special characters in the name could not be loaded on some systems. There was a problem with the character encoding which caused these files not to be found. This problem has been fixed.
PDF24 Creator 9.0.6
Creator: Fixed problems loading non-PDF files:
- The creator could only load PDF files, but no longer displayed other files after the conversion. This problem was hidden in the previous version. Version 9.0.6 fixes this problem.
PDF24 Creator 9.0.5
Creator: Flickering removed:
- The Creator has been further optimized and annoying flickering has been eliminated in many places. This particularly affects flickering when scrolling and when selecting / deselecting / rotating pages.
Creator: Automatic hiding of the drag & drop info:
- The drag & drop info in the right window area is now hidden if loaded documents cover this info. This optimizes the display somewhat.
Creator: Asynchronous file loading activated:
- In the Creator, files are now loaded asynchronously to the user interface. This means that the GUI is less blocked when files are loaded. Especially when inserting many PDFs there were annoying blocks.
Creator: Fixed problems with sorting the file list:
- In a few cases, the function for comparing and sorting the file list has led to inaccurate results. This little problem is now also off the table.
Notifications: display problem fixed:
- There was a problem displaying content when displaying notifications. This has been resolved.
Overlay + OCR: Improvement in combining documents:
- Further improvements were made when combining PDFs using the overlay method. In older versions, the content of some documents was not combined correctly, so that the desired result was not generated. Thanks to the optimizations, we can now combine many more documents better. This change affects the overlay function and therefore also the OCR feature, which is also uses the overlay method.
Fixed an issue with displaying some banners in customized versions:
- Users can customize the PDF24 Creator with a banner. With some banners there was a problem with the display (briefly visible and then gone). This problem should now be solved.
PDF24 Creator 9.0.4
Issues with the digital paper feature fixed:
- Users have reported problems with the digital paper function. We analyzed this and optimized the code that combines the digital paper file with the actual document. The optimized code now supports more digital paper files. If you are experiencing problems with this feature, or if you have digital paper files that do not work, you should upgrade to this release, as this release will likely fix your issues.
PDF24 Creator 9.0.3
Reset to Ghostscript 9.27:
- With the current Ghostscript version 9.50 there are problems with the transparency of the watermark and the page number feature. Therefore Ghostscript 9.27 is used again. The problems with Ghostscript 9.50 have to be solved together with the Ghostscript team.
PDF24 Creator 9.0.1
- Change log not available for this version
PDF24 Creator 9.0.0
Rotation option for paper and overlay available:
- We've added a rotation option to the Paper and Overlays option block that lets you customize the paper or overlay page orientation according to the actual document
Option to use the save file name chooser dialog in auto save mode:
- This option can be used to let the user decide where to place the current file in automatic save mode. If this option is enabled and the PDF printer is configured in automatic save mode, a dialog box appears for selecting the file name in which the user must select the save path
Merge with zipper method available in the Creator:
- There is now also the new merge with zipper method available. This new merge mode merges page after page (page one from first file, then page one from second file, ...). This tool is added to the toolbar of the app
Function to reverse the page order now available:
- The Creator has a new function to reverse the page order of a document. The function is available in the context menu of a file that was opened there. Right-click an open file or click the new menu icon, and then click the appropriate menu item. This tool is very useful for scanned documents to reverse the page order and get the backs in the correct order. This is necessary for the new zipper merge, for example.
Document toolbar of the Creator now has a burger menu item:
- This burger menu item can be used to show the context menu of a file
Re-enabled the internal file explorer of the Creator:
- We have reactivated the creator's internal explorer and added some optimizations. The file explorer can be activated or deactivated from the main menu of the program
Copy/Paste improvements in the PDF reader for form fields:
- Copy/Paste could not be used in older versions of the Reader for form fields. This is now possible and you can use Ctrl+C and Ctrl+V in form fields
PDF printer file name detection improved:
- We have improved the code that is responsible for recognizing the filename and path of the printed files. The new algorithm is slightly better
Replacement of special characters in file names:
- We found some more places where special characters in the filename were not replaced. This could lead to unsaved files or unwanted behavior. Invalid file name characters are now also replaced for files attached to a mail to avoid problems here
- Overlay and paper method improved
- We are now using a new algorithm to combine the contents of the files (digital paper and actual document), which gives better results under different conditions. The old method can be used by setting overlay.mode = "old" in the Windows registry settings
- Translaton file updates
Fix for a special PDF auto rotate pages bug:
- We found this special case that could lead to incorrectly rotated pages in PDF files and we fixed it
PDF24 Creator 8.9.0
Common: Format options dialog visually improved:
- The format options dialog is a larger component with dozens of options. Here we have room for improvement. We have optically improved the page tree on the left side and optimized some paddings and margins to make working with this component easier
Common: User settings key name changes of the assistant and creator:
- There are some options in the settings related to the PDF printer assistant and the creator. We have changed the names of these settings to the new format we introduced in other components, so that they now use the new format with a prefix followed by a period
Common: Single instance lock of the PDF24 Updater:
- We have implemented a single instance lock for the PDF24 Updater to prevent the Updater from opening twice. It does not make sense to have multiple instances of this application open
Common: More options available in the settings U:
- We have added some more options to the preferences interface. You can now also configure a fixed save directory used by the PDF printer assistant (assistant.fixedSaveDir) and you can tell the PDF printer assistant to use the name of the first file in the list when merging to a single PDF (assistant.joinFilesUseFirstName)
Common: Auto rotate pages are now enabled by default when converting PS files to PDF:
- PS files normally comes from the PDF printer, which we convert internally into the PDF format. Printing applications often adapt the orientation of pages to the standard paper formats, resulting in incorrectly rotated pages. For this reason, we have by default turned on the option to automatically rotate pages during conversion
Common: MAPI mail interface now creates modeless dialogs:
- The MAPI mail interface now creates modeless dialogs so that the user is able to work with other windows. The outlook mail interface has already used this mode
Common: Mail interface selection bug fixed:
- There was a bug in the mail interface selection code that wrongly switched back to the MAPI interface if the PDF24 mail interface was disabled through the settings
Common: Reduced wait times of command processor:
- We could reduce waiting times of the shell command processor, which is responsible for calling other applications like Ghostscript. This should in some cases lead to slightly faster results
Common: PDF printer auto save command templates:
- We have extended the PDF printer settings user interface page. We have added a selection box to select PDF printer auto save command templates to make it easier to set up a PDF printer configured in auto save mode
Common: Option NoReader=1 did not work correctly:
- With the NoReader registry setting you can control whether the PDF24 Reader is visible in the PDF24 Creator or not. This option did not work correctly in previous versions. This has been fixed
Common: Fix for a PDF security settings issue in case of an empty owner password:
- We have found a bug in the code that is responsible for applying the PDF security settings. An empty owner password leads to a small problem
Common: Update to QPDF 8.4.1:
- We had opened a ticket at the QPDF project because QPDF did not handle umlauts correctly in file names. This has been improved in QPDF 8.4.1. Internally we now use this version
Common: Update to Ghostscript 9.27:
- We had written a bug report to the Ghostscript team because older versions of Ghostscript had problems with some PDF files. The issue was font and color changes during PDF file reprocessing. The new version fixes this
Common: Optimized PDF password encoding:
- We have optimized the PDF password encoding when locking or unlocking pdf files to fix potential encoding issues with some readers
Assistant: Option for fixed save directory:
- The assistant now understands an option to use a fixed save directory when saving files to disk. This is the "assistant.fixedSaveDir" option that you can also configure via the settings interface
Assistant: Remembers last save directory:
- The assistant now remembers the last save directory, but only if the "assistant.fixedSaveDir" option is not used and if no directory is associated with the current file
Assistant: Special case for files stored in the temporary files directory:
- If the directory of a file is TEMP, then we do not set this directory as initial folder in the file selection dialog
PDF24 Creator 8.8.2
Faster language selection field in the OCR tool:
- We have over 100 languages available for selection in the OCR tool, which can be selected via the selection box. The list is now long and the loading time of the list was slightly higher than it should be, which was not so easy to use when working fast. We have optimized here. The language selection box is now fast again.
Correction for an un-inserted OCR text layer in previously compressed PDF files:
- In previously compressed PDF files, we were unable to merge the OCR text layer with the actual PDF. Here we have also optimized to eliminate this problem. OCR is now also possible with PDF files that were previously compressed.
Correction for overlay / underlay for PDF files with compressed PDF objects:
- Merging a PDF with compressed objects was problematic and we had problems with it. This problem has been solved and we are now able to merge PDF files here as well. This feature is the basis for the paper and overlay feature in the software.
Correction for Overlay / Underlay using the "Repeat Last Page" feature:
- The problem has crept in one of the last versions. If the option "Repeat last page" was used, the two PDFs were not merged correctly. This problem is now also out of the world.
更新時間:2021-03-26
更新細節:
What's new in this version:
Topaz Video Enhance AI 2.1.0
Major Features:
- Artemis MQ/LQ have been updated, with dehaloing removed (introduced in v11). Artemis MQ/LQ v12 should not produce the hazy look found in v11, and is now more similar to v10 with quality improvements.
- Two new Artemis models: Artemis Dehalo and Artemis Strong Dehalo v1. These models specifically address the oversharpening problem, and should have less of a hazy look than Artemis MQ/LQ v11.
- Dione TV/TD have been updated, with dehaloing removed (introduced in v2). Dione TV/TD should not produce the hazy look found in v2, and has a similar look to v1 with quality improvements.
- Two new Dione models: Dione Dehalo and Strong Dehalo v1. These models address the oversharpening problem with previous versions, and should introduce less haze than previous versions.
- Playback toolbar has been overhauled to be more flexible, fully functional, and easy to use
- More preview modes: Choose between single view, split view, and side-by-side view
Improvements:
- When opening videos, only the first one is selected to prevent accidental editing of added videos
- Continuous scrolling, with ability to input a specific zoom amount
- Added ability to change the number of previewed frames in Preferences
- Added ability to change the preview panel’s background color, chooseable from Preferences
- Added ability to change the video playback toolbar’s docked position to above or below the preview panel
- Preview panel now bounds the preview video correctly within it’s borders
- Controls panel has been cleaned up and made more consistent as to not appear as cluttered
- Redesigned video thumbnails to make the selection box and clear button more visible
- Added filename to video thumbnail
- Most actions have shortcuts now
- Removed the “Are you sure?” quit dialog
- Grain settings, Dione interlaced mode, MOV selection, and MP4 Compression Factor have all been added to the command-line interface
- Dione interlaced mode has been added to the CLI
- MOV selection has been added to the CLI
- Compression Factor has been added to the CLI
- Preferences dialog now shows a confirmation icon when a setting has been updated
- Zoom Original has been removed, to reduce confusion in the previewing experience
- “Reset default settings” has been added to the Process menu on Windows and Mac
- Preview panel now remembers what portion of the video you were panned to between each video
Fixed:
- Window resizing should now be much faster
- Grain settings should stick when loading auto-save, and apply correctly to “Save Default”
- Grain textbox input should work in 0.1 values
- “Don’t Show Again” checkbox should work correctly in the System Compatibility dialog
- Fixed a typo in the “Continue Processing” dialog
Topaz Video Enhance AI 2.0.0
Major Features:
- Two new model updates: Artemis v11, and Dione v2
- Artemis LQ and MQ v11 evolve from Artemis v10 with added ability to handle over-sharpening artifacts in medium or low-quality progressive input videos
- Dione TV and TD v2 are enhanced from v1 that also remove over-sharpening artifacts in medium or low quality interlaced input videos
- UI has been updated and overhauled to provide for a better experience
Improvements:
- Menu toolbar has been added on Mac
- When multiple videos are selected, settings in the right panel now apply to all selected videos
- Able to open videos in their containing folder when videos are done processing
- Model parameters and post process settings have been changed to sliders to provide for better fine-tuning
- Reset Settings button has been added
- Output FPS has been added to the footer at the bottom of the program
- Reset Trim button has been added to the scrubbing toolbar
Topaz Video Enhance AI 1.9.0
Changes:
- New Dione-DV/TV/TD v1 models for de-interlacing/enhancing/upscaling analog videos
- Update Artemis HQ/LQ/MQ to v10
- Add adaptive grain parameters to reduce “plastic” looking output
- Support reading .dv, .vob and .mxf video files
- Change the “scale” to a real number for setting precise output dimensions
- Improved processing speed on certain systems
- The installer has an option to keep existing models
Bug fixes:
- All GPU mode no longer causes model loading error
- Fixed model parameters change inconsistent problem
Topaz Video Enhance AI 1.8.1
Fixes:
- Fixed deleting video from batch processing causes all thumbnails to disappear
- Fixed when selecting more than one image for inputting image sequence, each image was importing as a separate item to batch process, now the image sequence will import as one item into batch to be processed as an image sequence
更新時間:2021-03-26
更新細節:
What's new in this version:
Added:
- SFTP Connections - Add option to force Key-Based Authentication
- New 'From Clipboard' button in Set GPS Coordinates dialog that interprets text as GPS coordinates
- Support for transparent layer for TIFFs. User-defined background color
- “Add to Master” keyword list button to the Keywords panel which changes to “Overwrite Master” when the Modifier Key (Shift on Windows, Option on macOS) is held down. Add to Master will add the current list of keywords to the Master Keywords list. Overwrite will confirm that you want to replace the entire Master Keywords list with the list of keywords in the Keywords panel
- “Load from Master” button in the Keywords panel now has a Modifier Key alternative that will “Merge from Master” which will only add the keywords from the Master Keywords list that don’t already exist in the Keywords panel
- XMP is now embedded directly into HEIC and HIF files rather than using an XMP sidecar file
- iPhone 12 Max DNG file support. DNG files previously damaged from earlier versions can be fixed by using the Revert TIFF-based RAW command
- Evaluate variables when Pasting IPTC snapshot to selected photos. Sequence, and Code Replacements are also evaluated
- Rotate PMLib.log at startup
Fixed:
- Metadata field popup menus remove all instances of a string, including substring matches
- Software Update link to download latest build is not HTTPS
- Unable to Import Uploader connection settings when no setting exists
- Rename examples do not show effect of 'Renaming method' in Files page of Preferences, specifically the always add digit/letter variants
- Fixed issue with expanding XMP in HIF files
- Wrong height/width for some DNG files (Apple proRAW)
- Unable to save BMP as JPEG
- Duplicate XMP is now ignored in TIFF-based RAW files
Added: New command-line switch to output the machine ID. /machine will produce the machine ID.
- Opening File picker from Metadata windows always goes to 'This PC'
- Legacy MAX_PATH limitation
- Export templates failing to copy folders
- Opening a contact sheet on a server share produces a contact sheet window with no tab
- Drag and drop opening of a server share folder fails with an error
- Drag folder from Navigator to Favorites is not creating a Favorites entry
- Contact Sheet path doesn't update after folder move in Navigator and Favorites
- Cannot unpack certain preferences files. When preferences are exported with SMTP settings, the .PMX file cannot be unpacked
更新時間:2021-03-26
更新細節:
What's new in this version:
Fixed:
- Exporting or printing a dashboard as a PDF could cause missing data lines on a map
- The filled map with zip code polygons would not line up correctly with the background map layer for the state of New Mexico
- Errors that occurred when connecting to SharePoint Lists would not display in the user interface
更新時間:2021-03-26
更新細節:
What's new in this version:
New features:
- Show the login roles that are members of a group role be shown when examining a group role
- Make the container distribution a multi-arch build with x86_64 and Arm64 support
- Make ‘kerberos’ an optional feature in the Python wheel, to avoid the need to install MIT Kerberos on the system by default
- Added ‘–replace’ option in Import server to replace the list of servers with the newly imported one
- Added zoom scaling options with keyboard shortcuts in runtime
Housekeeping:
- Use schema qualification while accessing the catalog objects
- Make the ‘Save Data Changes’ icon to be more intuitive
Fixed:
- Fixed alignment issue under preferences for the German language
- Fixed color issue on the statistics tab for collection node in the safari browser
- Fixed an issue where adding/updating records fails if the table name contains percent sign
- Ensure that autovacuum and analyze scale factors should be editable with more than two decimals
- Fixed an issue where % displayed twice in explain analyze for query and table
- Rename text ‘table’ with ‘relation’ in the statistic tab for explain analyze
- Fixed an issue where the properties tab for collection nodes is unresponsive after switching the tabs
- Fixed an issue where the Save button is enabled for functions/procedures by default when open the properties dialog
- Fixed an issue where hanging symlinks in a directory cause select file dialog to break
- Allow underscores in the Windows installation path
- Remove the “launch now” option in the Windows installer, as UAC could cause it to run as an elevated user
- Ensure that cell content being auto selected when editing the cell data
- Ensure that SQL formatter should not add extra tabs and format the SQL correctly
- Fixed encoding issue when database encoding set to SQL_ASCII and name of the column is in ASCII character
- Ensure that the user should be able to kill the session from Dashboard if the user has a ‘pg_signal_backend’ role
- Ensure that the view/edit data panel should not be opened for unsupported nodes using the keyboard shortcut
- Ensure PGADMIN_DEFAULT_EMAIL looks sane when initialising a container deployment
- Improve the web setup script for Linux to make the platform detection more robust and overrideable
- Ensure that SQL formatter should not use tab size if ‘Use spaces?’ set to false
- Fixed an issue where the user is unable to create a subscription if the host/IP address for connection is 127.0.0.1
- Ensure that proper error message should be shown on the properties and statistics tab in case of insufficient privileges for a subscription
- Fixed an issue where the ‘Create Slot’ option is disabled in case of the same IP/host provided but the port is different
- Ensure the Python interpreter used by the runtime ignores user site-packages
- Fixed an issue where the user is not able to change the connection in Query Tool when any SQL file is opened
- Ensure that the venv activation scripts have the correct path in them on Linux
- Fixed an issue where schema diff showing wrong SQL when comparing triggers with different when clause
- Ensure that the template database should be visible while creating the database
- Fixed string index out of range error where the dependent tab is in focus and selecting any publication or table
- Fixed an issue where the dependent tab throwing an error when selecting any login/group role
- Fixed an issue where the incorrect values visible in the dependents tab for publication
- Fixed an issue where copy/paste rows in view data paste the wrong value for boolean type
- Ensure that the primary key should be visible properly in the table dialog
- Ensure that toggle buttons are accessible by most screen readers
- Fixed an issue where the top menu disappears when entering into the full screen for minimum screen resolution
- Ensure that the grantor name should be visible properly for the security tab in the table dialog
更新時間:2021-03-26
更新細節:
What's new in this version:
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.
更新時間:2021-03-24
更新細節:
What's new in this version:
Fixed:
- An error would sometimes occur when creating a PostgreSQL extract that reported, "An error occurred while communicating with the PostgreSQL data source 'influencer_v4 (ALL)'. Error Code: 1A7DD10C. ERROR: function min(json) does not exist. Error while executing the query. Unable to create extract."
- An error could occur when an attempt was made to connect to a .tds file and an Oracle schema was selected. The error would display as follows: "Internal Error - An unexpected error occurred and the operation could not be completed. Error Code: 6EA18A9E."
- Dimensions and Measures could be missing when a workbook was opened that was created with a custom SQL Salesforce data connection
- It would sometimes not be possible to create an empty extract using a calculated field with aggregate data. The error would display as follows, "Internal Error - An unexpected error occurred and the operation could not be completed. Error Code: 6EA18A9E. Unable to create extract."
- Extracted data could show incorrect when using SQL Server table collation Japanese_90_CI_AS.
- A crosstab to PDF export sometimes had duplicated row dividers
- When a workbook used a percentile in the custom sort of a table calculation, the workbook save would fail. The save would produce the error "Save workbook failed. Error Code: CA8336D0."
更新時間:2021-03-21
更新細節:
更新時間:2021-03-18
更新細節:
What's new in this version:
crypto:
- add optional callback to crypto.sign and crypto.verify
- support JWK objects in create*Key
deps:
- switch openssl to quictls/openssl
- update to [email protected]
fs:
- improve fsPromises writeFile performance
- improve fsPromises readFile performance
lib:
- implement AbortSignal.abort()
node-api:
- define version 8
worker:
- add setEnvironmentData/getEnvironmentData