PostgreSQL (64-bit) 歷史版本列表
PostgreSQL 64 位是一個功能強大的開源對象關係數據庫系統。它擁有超過 15 年的積極開發和經過驗證的架構,在可靠性,數據完整性和正確性方面贏得了良好聲譽。它運行在所有主要的操作系統上,包括 Linux,UNIX(AIX,BSD,HP-UX,SGI IRIX,Mac OS X,Solaris,Tru64)和 Windows。  PostgreSQL 64 位是一個功能強大的對象... PostgreSQL (64-bit) 軟體介紹更新時間:2021-11-12
更新細節:
What's new in this version:
Visual Studio Code 1.62.2 (64-bit)
Fixed:
- Always use a command line flag together with ELECTRON_RUN_AS_NODE
- Git operation hangs due to empty string in $GIT_ASKPASS
- Resolve shell environment failed on 1.62.1
- 1.62.1 - Sanity testing Mac server is failing
- WSL Extension instalation failure
- SetDecorations using contentText do not render on non ASCII lines
- Custom task problemMatcher results not appearing in problems panel when problem is on the first line
- Never prompted to select a kernel in Notebooks
- Semantic highlighting flickers on 1.62.0 and later
- Editors - pathsToEditors should ignore folders
- Crash on opening large files with bracket pair colorization
- Close Remote Connection blocked due to a veto from terminal
Visual Studio Code 1.62.1 (64-bit)
The update addresses this security:
- Always use a command line flag together with ELECTRON_RUN_AS_NODE
Visual Studio Code 1.62.0 (64-bit)
Visual Studio Code for the Web - vscode.dev (Preview):
- This iteration, we released a preview of Visual Studio Code for the Web. Visual Studio Code for the Web provides a zero-install experience running entirely in your browser, allowing you to quickly and safely browse source code repositories and make lightweight code changes. To get started, go to https://vscode.dev in your browser.
- VS Code for the Web has many of the features of VS Code desktop that you love, including search and syntax highlighting, along with extension support to work on your codebase. In addition to opening repositories, forks, and pull requests from source control providers like GitHub and Azure Repos, you can also work with code that is stored on your local machine.
- Not all extensions can run when VS Code is in the browser. Extensions that are purely declarative, such as themes, snippets, or grammars, can run unmodified in the browser. However, extensions that need to run code must be updated by the extension authors. We'd like to say thank you to the extension authors that already have published their extensions as web extensions.
Workbench:
Settings editor accessibility:
We made various Settings editor accessibility improvements:
- The Settings editor scrolls back to the top after performing a search, so the user does not end up midway through the search results after each search.
- The settings scope switcher is accessible via keyboard.
- Deprecated setting text blocks display an icon. Previously, the deprecated text was distinguished from the rest of the setting text only by color.
- More UI elements within the Settings editor have the setting ID as their name.
Updated search icons:
- The search icons are now the same weight and the match whole word icon was updated to be more distinguishable from the rest.
Parameter hint highlight:
- VS Code now highlights the current parameter in the parameter hint and the color can be themed via editorHoverWidget.highlightForeground
Editor:
Improved bracket pair guides:
- We continued iterating on bracket pair guides. Horizontal lines now outline the scope of a bracket pair. Also, vertical lines now depend on the indentation of the code that is surrounded by the bracket pair.
- Bracket pair guides can be enabled by setting editor.guides.bracketPairs to true (defaults to false). We added a third option "active" to only show a bracket pair guide for the active bracket pair.
- The new setting editor.guides.bracketPairsHorizontal controls if and when to render horizontal guides (defaults to active).
- New themable colors editorBracketPairGuide.background{1,...,6} and editorBracketPairGuide.activeBackground{1,...,6} can be used to customize the color of bracket pair guides
Customizable bracket pairs:
- You can now configure bracket pairs for a specific programming language through settings. editor.language.bracketPairs can be used to configure which bracket characters should be matched. If set, editor.language.colorizedBracketPairs independently configures which bracket pairs are colorized when bracket pair colorization or bracket pair guides are enabled.
Display hovers above or below the current line:
- You can now choose between displaying IntelliSense hovers above (default) or below the current line. By setting editor.hover.above to false, hovers will render below the current line.
Unicode directional formatting characters:
- To address CVE-2021-42574, VS Code now renders Unicode directional formatting characters by default. Consider the following text snippet.
- The above text snippet contains two explicit directional formatting characters, U+202E (RIGHT-TO-LEFT OVERRIDE) and U+202C (POP DIRECTIONAL FORMATTING). These characters can influence Unicode's Bidirectional Algorithm and could be used to craft source code that renders differently than what compilers would execute.
- The special rendering of these directional formatting characters can be turned off by setting editor.renderControlCharacters to false. The setting editor.renderControlCharacters is now true by default.
Extensions:
Verified extension publishers:
- VS Code now shows if the domains of an extension publisher are verified by the Visual Studio Marketplace
- If you are an extension author, more details about how to become a verified publisher can be found in the Publishing Extensions topic
Terminal:
New default keybindings for special characters:
- The following keybindings were added that are typically supported in other terminals:
- ctrl+shift+2: Inputs the null character (0x00).
- ctrl+shift+6: Inputs the record separator character (0x1E).
- ctrl+/: Inputs the unit separator character (0x1F).
Languages:
- Configure how HTML completes attributes:
- There is a new setting html.completion.attributeDefaultValue that lets you choose how values are filled in when an HTML attribute is completed:
- doublequotes: The value is placed in double quotes (default)
- singlequotes: The value is placed in single quotes
- empty: The value is left empty
Emmet improvements:
- The new Emmet: Update Tag command (editor.emmet.action.updateTag) updates the placeholder with the HTML tag to be updated.
- The extension also activates now when one tries to run any Emmet command. This change should fix an issue where some commands were not found when run from the Command Palette, while also keeping the activation event list more precise so that Emmet does not start up unnecessarily, such as in an empty workspace.
- For multi-root workspaces, Emmet now sources snippets from all workspace folders, rather than just the first one. As a result, custom snippets from all workspace folders will be suggested when editing an applicable file in the workspace.
Notebooks:
Find and Replace supports capturing groups:
- The Find and Replace widget in the notebook editor now supports regular expression capturing groups
- In the short video below, replace uses the first (and only) captured text ('a')
Better selection of output renderers and mimetypes:
- Notebook cells can output multiple types of data (mimetypes) that can be rendered in different ways both by VS Code itself and extensions. Previously, VS Code had basic memoization (caching) of the selected renderer for a mimetype, and you could manually configure your preferred mimetypes using the notebook.displayOrder setting. However, VS Code wasn't particularly smart about picking the best renderer for a mimetype, and preferred mimetypes had to be updated manually.
- Now, preferred renderers are cached on a per-notebook type, level in the workspace. Additionally, if you switch to view a different mimetype, that preference will be updated in-memory for the VS Code session, and you can use the Notebook: Save Mimetype Display Order command to easily update the notebook.displayOrder setting to the working preference.
Contributions to extensions:
Jupyter:
- Kernels
- In order to make it easier to identify kernels, the Jupyter extension now groups kernels in the kernel picker.
- You can now filter the list of kernels displayed in the kernel picker, either globally or on a workspace basis. This is helpful if you have a large number of kernels installed but usually only work with a subset.
- To manage the list of kernels displayed, you can use the command Jupyter: Filter Kernels from the Command Palette.
Interactive Window:
- Automatic cell creation when running the last cells in an Interactive Window using Shift+Enter can now be configured via the setting jupyter.newCellOnRunLast. If you don't want the default behavior to add a new cell, you can set jupyter.netCellOnRunLast to false.
ESLint:
- A new version of the ESLint extension has shipped. Major improvements are:
- Extended support for ESLint version 8.x.
- The ability to define the rule set that is applied during code action on save and format via the setting eslint.codeActionsOnSave.rules.
GitHub Pull Requests and Issues:
- Work continues on the GitHub Pull Requests and Issues extension, which allows you to work on, create, and manage pull requests and issues. Check out the changelog for the 0.32.0 release of the extension to see the highlights.
Remote Development:
- Work continues on the Remote Development extensions, which allow you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.
Feature highlights in 1.62 include:
- New setting remote.SSH.foldersSortOrder to sort SSH targets alphabetically or by recent use.
- Windows Subsystem for Linux indicator lets you quickly know whether you are using WSL 1 or WSL 2.
- Advanced container configuration videos covering how to persist bash history and work with monorepos.
Preview features:
TypeScript 4.5 support:
This update adds support for the upcoming TypeScript 4.5 release. The TypeScript 4.5 beta announcement post has more information about the new language and tooling features. Some tooling highlights:
- Method signature completions.
- JSX attribute completions.
- More accurate reference counts for the references CodeLens.
- To start using the TypeScript 4.5 nightly builds, install the TypeScript Nightly extension.
- Please share your feedback and let us know if you run into any bugs with TypeScript 4.5.
- Extension authoring:
- Emoji support in file decorations
- The file decorations API now supports emojis as badge texts.
MarkdownString.supportHtml:
- The new supportHtml property on MarkdownString enables rendering of a safe subset of raw HTML that appears inside the Markdown text.
- The supportHtml property defaults to false. When disabled, VS Code will strip out any raw HTML tags that appear in the Markdown text.
Engineering:
File watching changes:
- File watching in VS Code changed to a new library, thanks to the work of the Parcel team with their @parcel/watcher. We will gradually roll out this change to all users in the upcoming weeks. Linux users will be happy to learn that the files.watcherExclude now applies natively so that the number of file handles VS Code needs open for file watching can be greatly reduced.
- The existing files.legacyWatcher setting was changed to an enumeration with these values:
- on - The new file watcher will never be used.
- off - The new file watcher will always be used.
- default - The new file watcher will only be used when you open multi-root workspaces (via a .code-workspace file).
- You should not notice any difference in your day to day work, but if file watching is broken for you, please report an issue.
Progress for Electron sandbox support:
- As we continue to make the VS Code workbench ready for enabling Electron's sandbox, we made progress on moving Node.js file services out of the workbench window into a different process. The same is true for the file watcher that no longer forks from the workbench window, but from a background process. This change is enabled by default in VS Code Insiders and will be the default in Stable for our November release.
Notable fixes:
- 73061: Enumerable properties mixed with regular properties
- 130868: Emmet suggestions list missing entries after adding custom snippets.json
- 131966: Emmet unable to expand abbreviation with onclick attribute
- 135110: Support different border settings for vertical or horizontal layouts, for in-group editor splitting
Visual Studio Code 1.61.2 (64-bit)
The update addresses these issues:
- Web: Handles may contain slashes at the end
- Focus of commit message textbox swaps when files are changed meanwhile
Visual Studio Code 1.61.1 (64-bit)
Fixed:
- Process handles leaked by pty host on windows
- September 2021 Recovery Endgame
- High CPU Usage: Every VS Code window eats 5+% CPU, even idle, even in the background
- Empty HoverWidget is visible at startup
- New Telemetry Level should respect my prior settings
- Source Control bug when creating or changing branch in the workspace
Visual Studio Code 1.61.0 (64-bit)
- Split editors within the same group - Quickly create side-by-side editors for the same file
- Locked editor groups - Select editor types to automatically lock in an editor group
- Better display of deleted and readonly files - Tab decorations highlight deleted and readonly files
- Bracket pair guides - Display vertical guides to link matching bracket pairs
- Fixed terminal dimensions - Set an active terminal's width and height
- Jupyter Notebook improvements - Table of Contents view, full debugging support
- Platform-specific extensions - Publish different extension versions for Windows, macOS, and Linux
- Virtual Workspaces extension guide - Learn how to update your extension for virtual environments
- Advanced container configuration - Tips, code samples, and videos to help configure development containers
Visual Studio Code 1.60.2 (64-bit)
The update addresses these issues:
- The GitHub.codespaces extension gets activated twice when creating a new codespace
- Bundle TS 4.4.3
- ugust 2021 Endgame Recovery 2 endgame-plan
- Codespaces: Debugging is broken
- Automatic language detection overrides openTextDocument API language parameter
- Undo stops working after focusing webview
Visual Studio Code 1.60.1 (64-bit)
Fixed:
- npm script not work in default terminal
- Context menu command "Open in Integrated Terminal" does not use Default Profile
- Go to Symbol in Workspace
- Allow also setting the language_info in a notebook
- Show Log from Container Creation Progress notification has no effect
- SSH Remote fails to connect
- Inline-suggestion appearing at previous cursor location
- August 2021 Endgame Recovery
- v1.60: "Auto language select" feature sets "CoffeeScript" language in "Git commit" files
- Powershell console opens every time I launch VS Code with a project
- Unable to save notebook when executing a long running cell
Visual Studio Code 1.60.0 (64-bit)
- Automatic language detection - Programming language detected when you paste into VS Code
- Built-in fast bracket colorization - Fast bracket matching and colorization for large files
- Settings editor syntax highlighting - Rich syntax highlighting for setting description code blocks
- Custom terminal glyph rendering - Better display of box drawing and block element characters
- Set debugging Watch values - Change watched values during a debugging session
- Notebook improvements - Markdown link navigation, faster rendering of large outputs
- JavaScript/TypeScript inlay hints - Inline hints for parameter names and types, and more
- Locked editor group preview - Keep a preferred editor layout by locking the editor group
- Python extension testing updates - Better support for test discovery, navigation, and status
- Web extension authors guide - Learn how to update your extension for VS Code in the browser
Visual Studio Code 1.59.1 (64-bit)
Fixed:
- Notebooks cannot be opened on 1.59
- Authentication decryption error
- tasks.onDidEndTaskProcess is called too many times in VS Code v1.59
- Perma-hang/crash on M1 MBP with universal build
- July 2021 Endgame Recovery
- Stdout generated raw data file not in expected format.
- Typing repeated dots in js expands to first suggestion
Visual Studio Code 1.59.0 (64-bit)
- Extensions view improvements - Rich extension detail hovers, new runtime status tab
- Settings editor validation - Quickly find editing errors for object-based settings
- Drag and drop terminals - Move terminals across windows to both editor and panel areas
- Extended theme customization - Customize multiple color themes at once
- Built-in support for Jupyter notebooks - Open .ipynb files directly in VS Code
- Notebook UI improvements - Display first line of collapsed cells, Undo/Redo per cell
- Testing API finalized - Native support for running tests in VS Code with built-in Test Explorer
- Debug Disassembly view preview - Display disassembled C++ code in VS Code
- Live Preview extension - Live HTML preview within VS Code with JavaScript debugging support
- Remote - Containers devcontainer CLI - Command line interface for working with development containers
Visual Studio Code 1.58.2 (64-bit)
Fixed:
- June 2021 Endgame Recovery 2
- Only acquire workspace storage locks on the remote extension host
- Remote extension will not work if it depends on a local UI one
- Terminal is tiny when extensions create and show them
- When multiple ghost text parts have line breaks, the first line of the ghost text gets deleted
- Using command line to open vscode causes code warning
- Trust and Continue dialog need two clicks on Continue to go away
- VS Code Terminal doesn't autofocus
- MacOS: Could not move terminal into editor area after first move
Visual Studio Code 1.58.1 (64-bit)
The update addresses these security issues:
- Improves Git security with untrusted workspaces bug git important
- Don't use guessable nonces in webview
- Update distro hash
Visual Studio Code 1.58.0 (64-bit)
- Terminals in the editor - Create or move terminals into the editor area
- Workspace Trust - Quickly customize Workspace Trust settings, disable Restricted Mode banner
- Editor scroll bar customization - Set bar visibility and width, click navigation behavior
- Markdown preview KaTeX support - Math support in the Markdown preview
- Settings editor improvements - Support for multiple checkboxes and enumeration dropdowns
- Sticky debug environment choice - Debugger remembers your previous environment choice
- Jupyter Interactive window - Run Jupyter code directly in an interactive window
- Jupyter notebook debugging - Debug Jupyter notebook code from within VS Code
- 'Open in VS Code' badge - Lets visitors quickly open your GitHub repo in VS Code
- Data Science tutorials - Learn about Jupyter Notebooks, PyTorch, and more
Visual Studio Code 1.57.1 (64-bit)
- May 2021 Endgame Recovery
- Scrolling on mouse click
- macOS: restore Cmd+W closing the window when all tabs are closed
- 1.57.0 (macOS): window behaves different now (fullscreen & priority issues)
- "Open New External Terminal" doesn't work if no terminal settings are present
- Entire settings file got erased on new latest update. Just FYI
Visual Studio Code 1.57.0 (64-bit)
- Workspace Trust - Extra security against code execution when browsing unfamiliar source code
- New Getting Started experience - Helps you quickly set up and learn about VS Code
- Remote Repositories - Browse and edit code without locally cloning repositories
- Terminal tabs - Tabs let you easily create, manage, and group multiple open terminals
- Edge browser debugging - Integrates the Microsoft Edge Developer Tools directly into VS Code
- JSDoc @link support - Add @link tags in your comments for fast symbol navigation
- Go to Definition for non-code files - Quickly jump to images and stylesheets
- Notebook API finalized - Notebook API for native notebook support in VS Code
- VS Code at Build 2021 blog post - Catch up with on-demand sessions featuring VS Code
Visual Studio Code 1.56.2 (64-bit)
- C# syntax highlighting incorrect in 1.56
- Use shell/shellArgs over defaultProfile if specified
- HTML files now require an extension to run
- The default Monokai highlight color is displayed incorrectly
- No longer scaling toolbar icon
- On PC 'Delete' key not working on insiders for approx last week
- Version control icons became minuscule with latest update
Visual Studio Code 1.56.1 (64-bit)
The update addresses these security issues:
- Do not invoke resolveWithInteraction over terminal settings
- Change grunt, gulp and jake task auto detection to be off by default
Visual Studio Code 1.56.0 (64-bit)
- Improved hover feedback - Helps you quickly find clickable editor actions
- Terminal profile improvements - Create a custom default terminal profile
- Debugger inline values - Display variable values inline during debugging sessions
- Notebook KaTeX support - Math support in notebook Markdown cells
- Remote - Containers volumes view - Manage mounted volumes within Docker containers
- winget installation - VS Code is available via the Windows Package Manager
- New introductory videos - Videos for getting started with VS Code as well as working with C++
- Terminal tabs preview - Get a first look at managing open terminals with the new tabs view
Visual Studio Code 1.55.2 (64-bit)
The update addresses these security issues:
- Limit set of allowed remote CLI commands bug important
- command: links should be only selectively enabled bug important
- Spawning php should use its complete disk path bug important
- Spawning npm should use its complete disk path bug important
- CSS should use variables when using editor.fontFamily bug important
- The http.proxy setting should use machine or application scope bug important
Visual Studio Code 1.55.1 (64-bit)
- Proxy agent is hijacking requests and redirecting them to localhost
- Remote extensions are not installed automatically from devcontainer.json
- Bug Sur icons glitched on non-hidpi screens
- ECONNREFUSED debugging browsers in WSL2
Visual Studio Code 1.55.0 (64-bit)
- Accessibility improvements - Multi-cursor support and increased line limit
- Updated icons for macOS Big Sur - Brand icons that match the visual style of Big Sur
- Improvements to breakpoints - Inline breakpoints menu, and more
- Editor status decorations - Editor tab status decorations are on by default
- Customize keyboard shortcuts editor - Resize columns in the keyboard shortcuts editor
- Improved remote ports management - Port forwarding autodetection, regex naming, and more
- Terminal profiles - Define profiles in terminal to conveniently launch non-default shells
- Notebook improvements - Multiple cell selection, and more customizable diff editor
- VS Code on Raspberry Pi - New topic explaining how to install VS Code on Raspberry Pi devices
Visual Studio Code 1.54.3 (64-bit)
- February Recovery 3
- VS Code is unable to activate a debugger extension because of path casing discrepancies
Visual Studio Code 1.54.2 (64-bit)
Fixed:
- Listener leak in Ports view
- Close terminal warning shows even if no terminal is open
- Command "View: Join all editor groups" not working after update
- Pick up TS 4.2.3
- Cannot find module 'worker_threads' using js debugger auto attach
- Completed tiles of "Getting Started" don't reopen
- List focus background needs proper migration
- Renaming a folder adds it to history
- FileSystemProvider extension: throwing a FileSystemError in readFile does not report to user
- Hide pty host unresponsive notification when it becomes responsive again
- Terminal pty host unresponsive after closing a VS Code window
- Prevent env var relaunch from extension owned terminals
Visual Studio Code 1.54.1
- The update addresses an issue with an extension dependency
Visual Studio Code 1.53.2 (64-bit)
Fixed:
- TS Server fatal error: Cannot read property 'indexOf' of undefined
- <> in all files
- Minimap keeps disappearing
- Fresh install won't open any windows or allow me to open any windows
- First call to activeDebugConsole.appendLine() while debugging JavaScript doesn't appear in the debug console
- Cannot unset StatusBarItem background from errorBackground
- tasks.json npm script does not work with arguments since 1.53
- v1.53 creates debug.log automatically
- The default extension for untitled files is not .txt
- Emmet suggestions bug in SASS files
- VSCode emmet SASS snippets
- IME ON at Alt+` key, Focus ALT Menu
Visual Studio Code 1.53.1 (64-bit)
Security issues:
- Bundle TypeScript 4.1.4
- Dragging files from explorer to terminal may execute a command
- Pick up new distro version and bump version
Visual Studio Code 1.53.0 (64-bit)
- Wrap tabs - Wrap editor tabs in the workbench instead of having a scrollbar
- Configure tab decorations - Add editor tab status decorations
- Customize search mode - Use the Search view or open a new Search editor
- JavaScript debugging - Support for conditional exception breakpoints and Node.js worker_threads
- Notebook UX updates - Outline view for Notebook cells, and breadcrumbs for improved navigation
- Markdown preview image auto update - Preview automatically updates when images change
- Emmet improvements - Faster performance and supporting the latest features
- Extension guidelines - Documented best practices for extension authors
- Remote Development video series - Learn to create and configure container-based environments
Visual Studio Code 1.52.1 (64-bit)
- November 2020 Recovery Endgame
- Check for all possible localhost string when checking if a tunnel already exists
- Can not set breakpoint in PHP files
- notebook status bar icon colors missing
Visual Studio Code 1.52.0 (64-bit)
- Word wrap in diff editor - Both inline and side-by-side views now support word wrapping
- New extension bisect feature - Troubleshoot which extensions are causing issues in VS Code
- Keyboard shortcuts editor improvements - Create a keybinding from the Command Palette
- Undo file operations in Explorer - Undo or redo file operations in the Explorer
- New Git commands and settings - Optimize your Version Control experience with new capabilities
- Preview editor improvements - Turn off preview editors altogether, and try new interaction models
- Sticky tab stops for spaces - Improved experience when indenting with spaces
- Improved word-based suggestions - Display word-based suggestions from other open files
- Terminal configuration support - Modify terminal settings from the terminal dropdown menu
- New Remote Development resources - Check out the new video and Learn module
Visual Studio Code 1.51.1 (64-bit)
- "Reveal In Side Bar" does not work if the file is opened from external apps
- New ThemeIcon color in tree views can pollute other nodes
Visual Studio Code 1.51.0 (64-bit)
New:
- unassigned Focus Left Editor Group (do not wrap around) workbench.action.focusLeftGroupWithoutWrap
- unassigned Focus Right Editor Group (do not wrap around) workbench.action.focusRightGroupWithoutWrap
- unassigned Focus Above Editor Group (do not wrap around) workbench.action.focusAboveGroupWithoutWrap
- unassigned Focus Below Editor Group (do not wrap around) workbench.action.focusBelowGroupWithoutWrap
- unassigned Focus Activity Bar workbench.action.focusActivityBar
Fixed:
- Windows: when deleting a folder with files that are in use, then there is no error message shown
- Should maintain row focus after deleting a file
- User input variables not working for launch configuration in multi-root workspace
- Moving a file should load the model directly with the contents it had before
- Extensions with a onDebugDynamicConfigurations are eagerly activated at startup in v1.50
- Send vscode.workspace.onWillCreateFiles/onDidCreateFiles events for folders
- Debug hover moves while expanding/collapsing
Visual Studio Code 1.50.1 (64-bit)
- relativeFileDirname` gives empty string when the Dirname equals to current working directory
- Multiple prompt to grant access to login keychain
Visual Studio Code 1.50.0 (64-bit)
- Accessible settings editor - Interact with the settings list like any other list in VS Code
- Pinned tabs improvements - Resize pinned tabs, unpin with one click, and more
- Linux ARM builds - VS Code is now available for both Linux ARMv7 and ARM64
- Improved debugging experience - Improved hover and filtering in debug console
- New JS debugger features - Toggle auto attach flows and see performance in real-time
- Panel layout improvements - New panel maximization settings and bottom panel size
- Webview Views support - Build extensions with webview views in the sidebar and panel
- Updated "Create a Dev Container" tutorial - Get started with Development Containers
Visual Studio Code 1.49.3 (64-bit)
- August Recovery Endgame 3
- (Assumed) Fix for CVE-2020-16881 can be bypassed
Visual Studio Code 1.49.2 (64-bit)
- Format modified text - Limit formatting to just the code you've changed
- Change casing on Search and Replace - Change text casing during global Search and Replace
- Source Control repositories view - Display pending changes per repository
- Filter Debug Console output - Quickly filter and find debugging output
- Improved JS debugger Auto Attach - "Smart" Auto Attach to Node.js scripts or test runners
- TypeScript optional chaining refactoring - Convert multiple checks to a concise optional chain
- JSDoc @deprecated tag support - IntelliSense clearly shows APIs marked as deprecated
- Notebook UX updates - Cell Status bar contributions, enhanced notebook diff editor
Visual Studio Code 1.49.1 (64-bit)
The update addresses these issues:
- August 2020 Recovery Endgame
- Completions which use spaces are broken after updating from July to August version
- EPIPE write failure while debugging after upgrading to 1.49
- proxy authentication does not work on 1.49
Visual Studio Code 1.49.0 (64-bit)
There are a number of updates in this version that we hope you will like, some of the key highlights include:
- Format modified text - Limit formatting to just the code you've changed
- Change casing on Search and Replace - Change text casing during global Search and Replace
- Source Control repositories view - Display pending changes per repository
- Filter Debug Console output - Quickly filter and find debugging output
- Improved JS debugger Auto Attach - "Smart" Auto Attach to Node.js scripts or test runners
- TypeScript optional chaining refactoring - Convert multiple checks to a concise optional chain
- JSDoc @deprecated tag support - IntelliSense clearly shows APIs marked as deprecated
- Notebook UX updates - Cell Status bar contributions, enhanced notebook diff editor
Visual Studio Code 1.48.2 (64-bit)
- Settings Sync to Stable - Settings Sync is now available for preview in stable
- Updated Extensions view menu - Simplified menu with additional filtering options
- New Git View submenus - Refactored overflow menu for Git in the Source Control view
- Updated in-browser debugging - Debug in the browser without writing a launch configuration
- Publish a public repository - Choose whether to publish to a public or private GitHub repository
- Notebook UX updates - New Cell menu, enhanced drag and drop
- New Remote Container topics - Learn how to attach to a container and create a new dev container
- Java lightweight mode - Start working with your Java source files more quickl
Visual Studio Code 1.48.1 (64-bit)
The update addresses these issues:
- Correct wording of the WSL recommendation
- July Recovery Endgame
- Right Click on Extension Search > Peek causes freeze
- Run Build Task List Not Sorting
- Cannot overwrite read only files anymore
- [v1.48] [Breaking] Cannot authenticate proxies
- There is no way to show the NPM scripts explorer when there is no top level package.json
- "IPersistFile::Save failed" during installation of VS Code Insiders
- Error while starting Sync: d is not iterable
- Saving untitled file always defaults to .txt
Visual Studio Code 1.48.0 (64-bit)
- Settings Sync to Stable: settings Sync is now available for preview in stable
- Updated Extensions view menu: simplified menu with additional filtering options
- New Git View submenus: refactored overflow menu for Git in the Source Control view
- Updated in-browser debugging: debug in the browser without writing a launch configuration
- Publish a public repository: choose whether to publish to a public or private GitHub repository
- Notebook UX updates: new Cell menu, enhanced drag and drop
- New Remote Container topics: learn how to attach to a container and create a new dev container
- Java lightweight mode: start working with your Java source files more quickly
Visual Studio Code 1.47.3 (64-bit)
Fixed:
- June 2020 Recovery 3 Engame
- ERR_INVALID_ARG_TYPE when testing extension on 1.47.1
- Uninstall hook not executing
Visual Studio Code 1.47.2 (64-bit)
- June 2020 Recovery 2 Engame
- Menus: Dropdown menu gets tiny when opened near the edge of the workbench
- SCM: View becomes empty, with errors in dev tools
- Snippets | Clipboard is not working
- "Proposed API is only available..." error in v1.47
- "Duplicate Workspace in New Window" just creates new window and opens workspace.json file
- Output channel Log (Window) does not appear until window reload for the first time
- Creating files will add 2 times BOM (UTF-8, 16)
- Reading from stdin via tmp file and pipe raise an exception
- Extensions issues after update to vscode 1.47.0
- [node-debugger] Debugger spams "Could not read sourcemaps" messages
- Node version detection causes issues with old Electron versions + Node >=12 on the PATH
- Double pasting in a webview with latest insiders
- Can't debug node application
Visual Studio Code 1.47.1 (64-bit)
- Accessibility improvements - New screen reader capabilities
- Windows ARM builds - Windows on ARM is now available in stable
- New JavaScript debugger - Debug in the terminal, profiling support
- Source Control unified view - All repositories displayed in a single view
- View and sort pending changes - View files as a tree or list, sort by name, path, or status
- Edit complex settings - Edit object settings from the Settings editor
- New HexEditor extension - Edit files in hexadecimal format from within VS Code
- Notebook UI updates - Improved UX and undo/redo support
- Remote Development tutorials - Learn to develop over SSH, inside Containers, and in WSL
- Java Pack Installer for macOS - Get set up to develop in Java with VS Code on macOS
Visual Studio Code 1.47.0 (64-bit)
- Accessibility improvements - New screen reader capabilities
- Windows ARM builds - Windows on ARM is now available in stable
- New JavaScript debugger - Debug in the terminal, profiling support
- Source Control unified view - All repositories displayed in a single view
- View and sort pending changes - View files as a tree or list, sort by name, path, or status
- Edit complex settings - Edit object settings from the Settings editor
- New HexEditor extension - Edit files in hexadecimal format from within VS Code
- Notebook UI updates - Improved UX and undo/redo support
- Remote Development tutorials - Learn to develop over SSH, inside Containers, and in WSL
- Java Pack Installer for macOS - Get set up to develop in Java with VS Code on macOS
Visual Studio Code 1.46.1 (64-bit)
- Accessibility improvements - Status bar navigation, easier keyboard text selection
- Flexible view and panel layout - Move and group views in the Side Bar and Panel
- Pinned editor tabs - Pin editors in the title bar to keep frequently used files handy
- Add GitHub remotes - Add GitHub remotes to your local repository
- Automatic debugger configuration - Save and modify generated debug configurations
- JavaScript CommonJS auto imports - Auto imports will now use require for CommonJS modules
- JS/TS refactorings preserve newlines - Formatting is preserved during refactoring operations
- Settings Sync preview - New Synced Machines and Data views to manage your preferences
- GitHub Issue Notebooks - Run GitHub issue queries and display results in a custom Notebook
- Windows ARM64 support - New VS Code Insiders ARM64 builds are available
- VS Code at Build 2020 - Talks on Tips&Tricks, Remote Development, and The History of VS Code
Visual Studio Code 1.46.0 (64-bit)
- Accessibility improvements - Status bar navigation, easier keyboard text selection
- Flexible view and panel layout - Move and group views in the Side Bar and Panel
- Pinned editor tabs - Pin editors in the title bar to keep frequently used files handy
- Add GitHub remotes - Add GitHub remotes to your local repository
- Automatic debugger configuration - Save and modify generated debug configurations
- JavaScript CommonJS auto imports - Auto imports will now use require for CommonJS modules
- JS/TS refactorings preserve newlines - Formatting is preserved during refactoring operations
- Settings Sync preview - New Synced Machines and Data views to manage your preferences
- GitHub Issue Notebooks - Run GitHub issue queries and display results in a custom Notebook
- Windows ARM64 support - New VS Code Insiders ARM64 builds are available
- VS Code at Build 2020 - Talks on Tips&Tricks, Remote Development, and The History of VS Code
Visual Studio Code 1.45.1 (64-bit)
- Accessibility improvements - Focus commands to navigate the workbench, status bar accessibility
- Switch editor tabs via mouse wheel - Quickly switch files in the editor using your mouse wheel
- Faster syntax highlighting - Programming language colorization is up to 3 times faster
- Custom semantic colors - Change semantic token colors through your user settings
- GitHub authentication support - Automatic GitHub authentication for GitHub repositories
- GitHub Issues integration - Inline hovers and suggestions for GitHub issues and users
- Remote Development - Container configuration recommendations, WSL 2 support
- JavaScript debugger preview - CPU profiling, improved Auto Attach to Node.js processes
- New Docker Compose topic - Learn how to use Docker Compose to work with multiple containers
Visual Studio Code 1.45.0 (64-bit)
- Accessibility improvements: focus commands to navigate the workbench, status bar accessibility
- Switch editor tabs via mouse wheel: quickly switch files in the editor using your mouse wheel
- Faster syntax highlighting:programming language colorization is up to 3 times faster
- Custom semantic colors: change semantic token colors through your user settings
- GitHub authentication support: automatic GitHub authentication for GitHub repositories
- GitHub Issues integration: inline hovers and suggestions for GitHub issues and users
- Remote Development: container configuration recommendations, WSL 2 support
- JavaScript debugger preview: CPU profiling, improved Auto Attach to Node.js processes
- New Docker Compose topic: learn how to use Docker Compose to work with multiple containers
Visual Studio Code 1.44.2 (64-bit)
The update addresses these issues:
- Show notification when extensionHostProcess.js is missing on disk
- Can't search in workspace that includes folder using a FileSystemProvider
- Git on network drive broken after upgrade to 1.44.0
- Can't select recently visited file using arrow keys
- Using spaces in symbol (editor, workspace) picker can confuse results
- Action "merge all windows" gone after update to 1.44
- Possible regression: As of 1.44 cannot open multiple files from "Go to file..." menu
- '${workspaceFolder}' can not be resolved in a multi folder workspace
- Editor stays blurred when moving panels
Visual Studio Code 1.44.1 (64-bit)
- Change log not available for this version
Visual Studio Code 1.44.0 (32-bit)
- Accessibility improvements - Easier diff view navigation, clearer role designations for UI controls
- Timeline view - See time-series events like Git commit history from within VS Code
- Better Quick Open for files - Navigate smoothly from files to symbols, filter files by folder name
- Extension Pack display - Quickly see what is bundled in an Extension Pack
- Persisted Undo/Redo stack - Undo/Redo stack preserved for reopened files
- Remote Development - Directly check out Pull Requests into containers, support for Kubernetes
- Settings Sync preview - Settings Sync now lets you share snippets and UI state across machines
- New Python tutorials - Tutorials for creating Python containers and building Data Science models
Visual Studio Code 1.43.2 (64-bit)
The update addresses these issues:
- February 2020 Recovery 2 Endgame
- The specified task cannot be tracked
- [Meta] Crash with webview after updated to 1.43.0
Visual Studio Code 1.43.1 (64-bit)
- February 2020 Recovery Endgame
- Prelaunch tasks without a command don't work the second time
- Semantic highlighting improvements for 1.43.1
- [web] Welcome views: links trigger unload
- [semantic highlighting] functions in josef.rouge-theme get wrong color
- [less] color info missing
- VSCode since 1.43 freezes on deleting line in c++ file
- When relaunching for 1.43.0 update, vscode tries to open ~80 old workspaces
Visual Studio Code 1.43.0 (64-bit)
- Search Editors - Search and save your global search results in a full-sized editor
- Draggable sash corners - Easily change the editor layout by dragging sash corners
- Linux screen reader support - VS Code now supports the Orca screen reader
- Minimap sizing options - New options to fit or fill the minimap vertical layout
- Column selection mode - Column mode toggle lets you quickly select blocks of text
- Display whitespace on selection - Render whitespace characters only in selected text
- Convert to template string - Convert concatenations to JavaScript/TypeScript template strings
- JS/TS Call Hierarchy view - Review all calls to or from a function and drill into callers of callers
- Remote Development - Support for Windows and macOS SSH hosts, SSH connection sharing
- Settings Sync preview - Settings Sync lets you share settings and keybindings across machines
Visual Studio Code 1.42.1 (64-bit)
- Rename preview: see pending renames in a diff view and easily accept or reject changes
- Open editors limit: set the maximum number of editors open at one time
- Panel placement: move the panel (Output, Terminal) to the left, right, or below the editor
- Folded code highlighting: quickly find folded regions with new background highlight
- Debug Console improvements: syntax highlighting, bracket matching, input history
- Define global tasks: per user tasks can be used across all your folders and workspaces
- Java extension updates: Java support for Data Breakpoints and Call Hierarchy view
- Remote Development: new Forwarded Ports view for mapping SSH and Containers ports
- New Containers tutorials: learn how to create and deploy Docker containers
- Preview features: first looks at the Timeline view, Search editor, semantic highlighting, and more
Visual Studio Code 1.42.0 (64-bit)
- Rename preview: see pending renames in a diff view and easily accept or reject changes
- Open editors limit: set the maximum number of editors open at one time
- Panel placement: move the panel (Output, Terminal) to the left, right, or below the editor
- Folded code highlighting: quickly find folded regions with new background highlight
- Debug Console improvements: syntax highlighting, bracket matching, input history
- Define global tasks: per user tasks can be used across all your folders and workspaces
- Java extension updates: Java support for Data Breakpoints and Call Hierarchy view
- Remote Development: new Forwarded Ports view for mapping SSH and Containers ports
- New Containers tutorials: learn how to create and deploy Docker containers
- Preview features: first looks at the Timeline view, Search editor, semantic highlighting, and more
Visual Studio Code 1.41.1 (64-bit)
- Compact folders in Explorer: Single child folders collapsed by default
- Edit left side of diff views: You can now edit both files in a difference view
- Update search results while typing: Global search results update while you type
- Problems panel improvements: Filter by problem type and limit output to the active file
- Minimap highlights errors and content changes: Quickly locate problems and changes in your file
- Terminal minimum contrast ratio: Set preferred contrast ratio for increased visibility
- HTML mirror cursor in tags: Automatic multi-cursor in matching HTML tags
- Optional chaining in JS/TS: Use the ?. operator to simplify working with nested structures
- Extract interface refactoring: Quickly extract an inline type to a TypeScript interface
- Remote - Containers extension: Better support for opening repositories in Docker containers
- Visual Studio Online: Create and connect to cloud-based development environments
Visual Studio Code 1.41.0 (64-bit)
- Compact folders in Explorer: Single child folders collapsed by default
- Edit left side of diff views: You can now edit both files in a difference view
- Update search results while typing: Global search results update while you type
- Problems panel improvements: Filter by problem type and limit output to the active file
- Minimap highlights errors and content changes: Quickly locate problems and changes in your file
- Terminal minimum contrast ratio: Set preferred contrast ratio for increased visibility
- HTML mirror cursor in tags: Automatic multi-cursor in matching HTML tags
- Optional chaining in JS/TS: Use the ?. operator to simplify working with nested structures
- Extract interface refactoring: Quickly extract an inline type to a TypeScript interface
- Remote - Containers extension: Better support for opening repositories in Docker containers
- Visual Studio Online: Create and connect to cloud-based development environments
Visual Studio Code 1.40.2 (64-bit)
The update addresses these issues:
- Insider build always starts language server with debug options
- Occluded windows just went blank
- Port 9229 in use by VS Code
- "Save Workspace As..." does not save with correct extension
- Extension Host broken
- Touch bar mac disabled on focus file
- Child_process results in ENOMEM error with empty options.env
- MacOS: File > Open no longer adds files to recently opened
- 1.40.0 has rendering lag and flickers when minimize/maximize window with custom title
- Leaving Full Screen or Zen Mode leads to wrong window dimensions
- Maximize button not working properly with auto-hide taskbar enabled
- WebViewPanel created with preserveFocus: true suffers from a focus problem
Visual Studio Code 1.40.1 (64-bit)
- Change log not available for this version
Visual Studio Code 1.39.2 (64-bit)
Fixed:
- Error icons not showing up properly
- Some Octicons not working in quick pick
- Blank screen with a reinstalled 1.39.1
- VSCode starts with disabled extensions
- Webview.asWebviewUri not working in Remote
- SCM: SVN extension decorations are misaligned
- Command line error - "Option 'proxy-server' is unknown. Ignoring."
- Enable the bracket pair colorizer V2 extension for remote
- Mac touchbar debug not working
- Invisible dirty icon
- vscode://file/... does not work any longer
- Source control showing nothing
- Backslash in folder name still not handled correctly by flattened tree view
Visual Studio Code 1.39.1 (64-bit)
- Change log not available for this version
Visual Studio Code 1.39.0 (64-bit)
- Text selections displayed in minimap: see selection regions in the minimap overview
- Toggle region folding keyboard shortcut: quickly expand and collapse regions with Toggle Fold
- Source Control tree view: display pending changes in either a list or new tree view
- Open terminal in custom working directory: add keyboard shortcuts for specific folders
- HTML ARIA attribute reference links: links to ARIA documentation directly from IntelliSense
- CSS property completions include semicolons: semicolons added as you enter CSS properties
- CSS color variables preview: color variable completions display color swatch
- Improved column breakpoint UI: view possible inline breakpoints directly in your source code
- Inline debug actions in CALL STACK view: stay in context with debug actions on hover
- Remote Explorer updates: explorer now displays WSL distros and repository containers
Visual Studio Code 1.38.1 (64-bit)
The update addresses these issues:
- code.sh: remove wsl2 workaround
- Cannot insert a < div >, automatically corrects to < /div >
- Markdown Hover images broken
- statusbar border no longer appears [statusbar.border]
- Gap in right side of window
- Grouping quick open entries is broken
Visual Studio Code 1.38.0 (64-bit)
- Preserve case for global search and replace - Keep letter casing across multi-file search/replace
- Settings editor string array validation - Checks min, max, enum values, and glob patterns
- Adjust cursor surrounding lines - Keep your cursor centered in the editor
- Copy and revert in the diff editor - Easily copy or restore deleted content
- Go to Line supports negative line numbers - Quickly jump to the end of a file
- MDN Reference link for HTML and CSS - Links to MDN documentation directly from IntelliSense
- Add missing await Quick Fix - Find overlooked awaits in asynchronous code
- Debugging data breakpoints - Debugger breaks when tracked values change
- VS Code icon repository - Official product icons available for extension authors
- Alpine Linux distro support - Both for the Remote WSL and Containers extensions
Visual Studio Code 1.37.1 (64-bit)
- Recovery build has wrong icon for release notes
- July 2019 Recovery Release Endgame
- Pasting in a Windows->Linux remote window adds additional new line characters
- 1.37 breaks the fsprovider-sample extension
- Broken vscode.ProcessExecution in Tasks API in v1.37
- Alt+click in terminal resets scroll position and prevents click-on-link
- Certain C++ files completely freeze VSCode
- 1.37 Explorer not showing any files or folders
- Diagnostics show empty parentheses if no code specified for error (regression)
Visual Studio Code 1.37.0 (64-bit)
- Full product icon refresh: new modern icons across all of VS Code
- Edit string arrays in the Settings UI: add to string arrays directly from the Settings editor
- Reveal search result in File Explorer: quickly jump to file locations in the File Explorer
- Show whitespace in selection: see whitespace characters just for selected text
- Find and Replace preserves casing: replace text without losing letter casing
- Terminal search UX improvements: more intuitive bottom-up search order for the terminal
- Better SCSS @import navigation: VS Code now checks more locations for SCSS files
- Remote Development tutorials: new step-by-step tutorials for working over SSH and in WSL
Visual Studio Code 1.36.1 (64-bit)
- Hide/show status bar items: only display your preferred status bar items
- Indent guides in explorers: clearly highlights your project's folder structure
- Better terminal shell selector: easily select the default shell to use in the Integrated Terminal
- Sequential task execution: control the order of task and subtask execution
- Jump to cursor debugging: skip code execution as you jump to a new location
- Disable debug console word wrap: lets you keep debugging output to one line
- JavaScript/TypeScript nightly builds: new extension integrates JS/TS nightly builds
- New Java installer: installs VS Code, the Java extension pack, and required Java dependencies
- Remote Development (Preview) improvements: save to local file system, drag and drop files to remotes, and more
Visual Studio Code 1.36.0 (64-bit)
- Hide/show status bar items: only display your preferred status bar items
- Indent guides in explorers: clearly highlights your project's folder structure
- Better terminal shell selector: easily select the default shell to use in the Integrated Terminal
- Sequential task execution: control the order of task and subtask execution
- Jump to cursor debugging: skip code execution as you jump to a new location
- Disable debug console word wrap: lets you keep debugging output to one line
- JavaScript/TypeScript nightly builds: new extension integrates JS/TS nightly builds
- New Java installer: installs VS Code, the Java extension pack, and required Java dependencies
- Remote Development (Preview) improvements: save to local file system, drag and drop files to remotes, and more
Visual Studio Code 1.35.1 (64-bit)
Notable improvements:
- Collapse All list and tree command with Ctrl+Left keyboard shortcut
- The history of the References view can now be cleared
- When running the Format With... command, the default formatter is now pre-selected
- When debugging is paused on a line, the whole line is read out by the screen reader
- Multiple item paste in the Explorer is run in parallel for improved performance
- The Open Folder button in an empty File Explorer is scoped to folder even on macOS
Notable fixes:
- Potential data loss for files that changed on disk meanwhile after a backup was made
- Preserve picked language for files across restarts
- Completion providers with resolve methods leak memory
- URI: Should invalidate cached _fsPath when crossing platforms
- Make workbench.dialogs.useSimplified a real setting
- Clicking anywhere on the "debug console" pane should "focus" on input box
- Breakpoint lines are not correct when saving the source file after modifying the file
- Typescript task detection is now cross-platform
Visual Studio Code 1.35.0 (64-bit)
- Updated Visual Studio Code icon: The product logo got a refresh. We hope you like it
- Go to Definition improvements: Faster navigation through multiple definitions
- Breadcrumb navigation displayed by default: Quickly go to files and symbols via breadcrumbs
- Smart selection for JavaScript/TypeScript: Expand text selection based on language semantics
- Extract to type alias TypeScript refactoring: Extract part type into its own type alias
- Integrated terminal supports true color: Correctly renders true color (24-bit) escape sequences
- Better merge conflict display: See merge conflict changes within surrounding source code
- Collapse All command for lists and explorers: One of many small but handy improvements
- Remote Development (Preview) available in Stable: You can now use the Remote Development extensions in Stable
Visual Studio Code 1.34.0 (64-bit)
Editor:
Stable CodeLens:
- VS Code now optimistically caches CodeLens locations and restores them immediately after switching editors. This fixes an issue where CodeLens lines would shift slightly when switching between editors
Languages:
Lower rank for CSS property values with vendor prefix:
- CSS property values prefixed with dash '-' (such as -moz-grid or -ms-grid), now come after grid in auto completion
Debugging:
- debug.showSubSessionsInToolBar
- We have introduced the setting debug.showSubSessionsInToolBar which controls whether the debug sub-sessions are shown in the debug tool bar. When this setting is false, the stop command on a sub-session will also stop the parent session. This setting default is false
Tasks:
Terminate all tasks:
- The Tasks: Terminate Task command has a new option to termina
更新時間:2021-11-02
更新細節:
What's new in this version:
Align with Scala 3:
- Update TASTy reader to support Scala 3.1
- Allow import x.{*, given} under -Xsource:3
- Allow case in pattern bindings even without -Xsource:3
- Deprecate top-level wildcard type parameters
JDK and Java compatibility:
- Support JDK 18
- Support JDK 16 records in Java sources
- Allow concrete private interface methods in Java sources
- Use StringConcatFactory for string concatenation on JDK 9+
Android compatibility:
- Add ClassValueCompat to support systems without java.lang.ClassValue (such as Android)
- For Android compatibility, make Statics.releaseFence() also catch NoSuchMethodException for java.lang.invoke.VarHandle.releaseFence() call
Concurrency:
- Fix asymmetric failure behavior of Future#{zip,zipWith,traverse,sequence} by making them fail fast regardless of ordering
Collections:
- Make ArrayBuffer's iterator fail fast when buffer is mutated
- Fix ArrayOps bugs (by avoiding ArraySeq#array, which does not guarantee element type)
- Deprecate IterableOps.toIterable
Other changes:
- Accept supplementary Unicode characters in identifiers
- Improve tab completion and code assist in REPL
更新時間:2021-11-01
更新細節:
更新時間:2021-10-01
更新細節:
What's new in this version:
- PostgreSQL 14 brings a variety of features that help developers and administrators deploy their data-backed applications. PostgreSQL continues to add innovations on complex data types, including more convenient access for JSON and support for noncontiguous ranges of data. This latest release adds to PostgreSQL's trend on improving high performance and distributed data workloads, with advances in connection concurrency, high-write workloads, query parallelism and logical replication.
- "This latest release of PostgreSQL advances our users' ability to manage data workloads at scale, enhances observability, and contains new features that help application developers," said Magnus Hagander, a PostgreSQL Core Team member. "PostgreSQL 14 is a testament to the dedication of the global PostgreSQL community in addressing feedback and continuing to deliver innovative database software that is deployed by organizations large and small."
- PostgreSQL, an innovative data management system known for its reliability and robustness, benefits from over 25 years of open source development from a global developer community and has become the preferred open source relational database for organizations of all sizes.
JSON Conveniences and Multiranges:
- PostgreSQL has supported manipulating JSON data since the release of PostgreSQL 9.2, though retrieval of values used a unique syntax. PostgreSQL 14 now lets you access JSON data using subscripts, e.g. a query like SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; now works. This aligns PostgreSQL with syntax that is commonly recognized for retrieving information from JSON data. The subscripting framework added to PostgreSQL 14 can be generally extended to other nested data structures, and is also applied to the hstore data type in this release.
- Range types, also first released in PostgreSQL 9.2, now have support for noncontiguous ranges through the introduction of the "multirange" data type. A multirange is an ordered list of ranges that are nonoverlapping, which lets developers write simpler queries for dealing with complex sequences of ranges. The range types native to PostgreSQL (dates, times, numbers) support multiranges, and other data types can be extended to use multirange support.
Performance Improvements for Heavy Workloads:
- PostgreSQL 14 provides a significant throughput boost on workloads that use many connections, with some benchmarks showing a 2x speedup. This release continues on the recent improvements to the management of B-tree indexes by reducing index bloat on tables with frequently updated indexes.
- PostgreSQL 14 introduces the ability to pipeline queries to a database, which can significantly improve performance over high latency connections or for workloads with many small write (INSERT/UPDATE/DELETE) operations. As this is a client-side feature, you can use pipeline mode with any modern PostgreSQL database with the version 14 client or a client driver built with version 14 of libpq.
Enhancements for Distributed Workloads:
- Distributed PostgreSQL databases stand to benefit from PostgreSQL 14. When using logical replication, PostgreSQL can now stream in-progress transactions to subscribers, with significant performance benefits for applying large transactions on subscribers. PostgreSQL 14 also adds several other performance enhancements to the logical decoding system that powers logical replication.
- Foreign data wrappers, which are used for working with federated workloads across PostgreSQL and other databases, can now leverage query parallelism in PostgreSQL 14. This release implements this ability in the postgres_fdw, the foreign data wrapper that interfaces with other PostgreSQL databases.
- In addition to supporting query parallelism, postgres_fdw can now bulk insert data on foreign tables and import table partitions with the IMPORT FOREIGN SCHEMA directive.
Administration and Observability:
- PostgreSQL 14 extends its performance gains to the vacuuming system, including optimizations for reducing overhead from B-Trees. This release also adds a vacuum "emergency mode" that is designed to prevent transaction ID wraparound. ANALYZE, used to collect database statistics, now runs significantly faster in PostgreSQL 14 due to its own performance improvements.
- Compression for PostgreSQL's TOAST system, which is used to store larger data like blocks of text or geometries, can now be configured. PostgreSQL 14 adds LZ4 compression for TOAST columns while retaining support for pglz compression.
- PostgreSQL 14 adds several new features to help with monitoring and observability, including the ability to track the progress of COPY commands, write-ahead-log (WAL) activity, and statistics on replication slots. Enabling compute_query_id lets you uniquely track a query through several PostgreSQL features, including pg_stat_activity, EXPLAIN VERBOSE, and more.
SQL Performance, Conformance, and Convenience:
- Query planning and execution benefit from enhancements in PostgreSQL 14. This release includes several improvements to PostgreSQL's query parallelism support, including better performance of parallel sequential scans, the ability for PL/pgSQL to execute parallel queries when using the RETURN QUERY command, and enabling REFRESH MATERIALIZED VIEW to execute parallel queries. Additionally, queries that use nested loop joins may see performance benefits through additional caching that is added in PostgreSQL 14.
- Extended statistics can now be used in PostgreSQL 14 for expressions. Additionally, window functions can now benefit from incremental sorts, a feature introduced in PostgreSQL 13.
- Stored procedures, which allow for transaction control in a block of code, can now return data by using OUT parameters.
- PostgreSQL 14 introduces the ability to "bin", or align, timestamps to a particular interval using the date_bin function. This release also adds the SQL conforming SEARCH and CYCLE clauses to help with ordering and cycle detection for recursive common table expressions.
Security Enhancements:
- PostgreSQL 14 makes it convenient to assign read-only and write-only privileges to users on tables, views, and schemas using the pg_read_all_data and pg_write_all_data predefined roles
- Additionally, this release now makes the standards-compliant SCRAM-SHA-256 password management and authentication system the default on new PostgreSQL instances
更新時間:2021-08-13
更新細節:
What's new in this version:
- Fix mis-planning of repeated application of a projection step
- The planner could create an incorrect plan in cases where two ProjectionPaths were stacked on top of each other. The only known way to trigger that situation involves parallel sort operations, but there may be other instances. The result would be crashes or incorrect query results. Disclosure of server memory contents is also possible. (CVE-2021-3677)
- Disallow SSL renegotiation more completely
- SSL renegotiation has been disabled for some time, but the server would still cooperate with a client-initiated renegotiation request. A maliciously crafted renegotiation request could result in a server crash (see OpenSSL issue CVE-2021-3449). Disable the feature altogether on OpenSSL versions that permit doing so, which are 1.1.0h and newer.
- Restore the Portal-level snapshot after COMMIT or ROLLBACK within a procedure
- This change fixes cases where an attempt to fetch a toasted value immediately after COMMIT/ROLLBACK would fail with errors like “no known snapshots” or “missing chunk number 0 for toast value”.
- Some extensions may attempt to execute SQL code outside of any Portal. They are responsible for ensuring that an outer snapshot exists before doing so. Previously, not providing a snapshot might work or it might not; now it will consistently fail with “cannot execute SQL without an outer snapshot or portal”.
- Avoid misbehavior when persisting the output of a cursor that's reading a non-stable query
- Previously, we'd always rewind and re-read the whole query result, possibly getting results different from the earlier execution, causing great confusion later. For a NO SCROLL cursor, we can fix this by only storing the not-yet-read portion of the query output, which is sufficient since a NO SCROLL cursor can't be backed up. Cursors with the SCROLL option remain at hazard, but that was already documented to be an unsafe option to use with a non-stable query. Make those documentation warnings stronger.
- Also force NO SCROLL mode for the implicit cursor used by a PL/pgSQL FOR-over-query loop, to avoid this type of problem when persisting such a cursor during an intra-procedure commit.
- Reject SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE
- This should be disallowed, just as FOR UPDATE with a plain GROUP BY is disallowed, but the test for that failed to handle empty grouping sets correctly. The end result would be a null-pointer dereference in the executor.
- Reject cases where a query in WITH rewrites to just NOTIFY
- Such cases previously crashed.
- In numeric multiplication, round the result rather than failing if it would have more than 16383 digits after the decimal point (Dean Rasheed)
- Fix corner-case errors and loss of precision when raising numeric values to very large powers (Dean Rasheed)
- Fix division-by-zero failure in to_char() with EEEE format and a numeric input value less than 10^(-1001) (Dean Rasheed)
- Fix pg_size_pretty(bigint) to round negative values consistently with the way it rounds positive ones (and consistently with the numeric version) (Dean Rasheed, David Rowley)
- Make pg_filenode_relation(0, 0) return NULL rather than failing (Justin Pryzby)
- Make ALTER EXTENSION lock the extension when adding or removing a member object
- The previous coding allowed ALTER EXTENSION ADD/DROP to occur concurrently with DROP EXTENSION, leading to a crash or corrupt catalog entries.
- Fix ALTER SUBSCRIPTION to reject an empty slot name (Japin Li)
- When cloning a partitioned table's triggers to a new partition, ensure that their enabled status is copied (Álvaro Herrera)
- Avoid alias conflicts in queries generated for REFRESH MATERIALIZED VIEW CONCURRENTLY (Tom Lane, Bharath Rupireddy)
- This command failed on materialized views containing columns with certain names, notably mv and newdata.
- Fix PREPARE TRANSACTION to check correctly for conflicting session-lifespan and transaction-lifespan locks
- A transaction cannot be prepared if it has both session-lifespan and transaction-lifespan locks on the same advisory-lock ID value. This restriction was not fully checked, which could lead to a PANIC during PREPARE TRANSACTION.
- Fix misbehavior of DROP OWNED BY when the target role is listed more than once in an RLS policy
- Skip unnecessary error tests when removing a role from an RLS policy during DROP OWNED BY
- Notably, this fixes some cases where it was necessary to be a superuser to use DROP OWNED BY.
- Re-allow old-style Windows locale names in CREATE COLLATION commands
- Previously we were failing because the operating system can't provide version information for such locales. At some point we may decide to require version information, but no such policy exists yet, so re-allow the case for now.
- Disallow whole-row variables in GENERATED expressions
- Use of a whole-row variable clearly violates the rule that a generated column cannot depend on itself, so such cases have no well-defined behavior. The actual behavior frequently included a crash.
- Fix usage of tableoid in GENERATED expressions
- Some code paths failed to provide a valid value for this system column while evaluating a GENERATED expression.
- Don't store a “fast default” when adding a column to a foreign table
- The fast default is useless since no local heap storage exists for such a table, but it confused subsequent operations. In addition to suppressing creation of such catalog entries in ALTER TABLE commands, adjust the downstream code to cope when one is incorrectly present.
- Allow index state flags to be updated transactionally (Michael Paquier, Andrey Lepikhov)
- This avoids failures when dealing with index predicates that aren't really immutable. While that's not considered a supported case, the original reason for using a non-transactional update here is long gone, so we may as well change it.
- Avoid corrupting the plan cache entry when CREATE DOMAIN or ALTER DOMAIN appears in a cached plan
- Make walsenders show their latest replication commands in pg_stat_activity
- Previously, a walsender would show its latest SQL command, which was confusing if it's now doing some replication operation instead. Now we show replication-protocol commands on the same footing as SQL commands.
- Make pg_settings.pending_restart show as true when the pertinent entry in postgresql.conf has been removed (Álvaro Herrera)
- Pending_restart correctly showed the case where an entry that cannot be changed without a postmaster restart has been modified, but not where the entry had been removed altogether.
- On 64-bit Windows, allow the effective value of work_mem times hash_mem_multiplier to exceed 2GB
- This allows hash_mem_multiplier to be used for its intended purpose of preventing large hash aggregations from spilling to disk, even when “large” means multiple gigabytes.
- Fix mis-planning of queries involving regular tables that are inheritance children of foreign tables
- SELECT FOR UPDATE and related commands would fail with assertion failures or “could not find junk column” errors in such cases.
- Fix pullup of constant function-in-FROM results when the FROM item is marked LATERAL
- Fix corner-case failure of a new standby to follow a new primary
- Under a narrow combination of conditions, the standby could wind up trying to follow the wrong WAL timeline.
- Update minimum recovery point when WAL replay of a transaction abort record causes file truncation (Fujii Masao)
- File truncation is irreversible, so it's no longer safe to stop recovery at a point earlier than that record. The corresponding case for transaction commit was fixed years ago, but this one was overlooked.
- Advance oldest-required-WAL-segment horizon properly after a replication slot is invalidated
- If all slots were invalidated, the horizon would not move again, eventually allowing the server's WAL storage to run out of space.
- In walreceivers, avoid attempting catalog lookups after an error (Masahiko Sawada, Bharath Rupireddy)
- Ensure that a standby server's startup process will respond to a shutdown signal promptly while waiting for WAL to arrive (Fujii Masao, Soumyadeep Chakraborty)
- Correctly clear shared state after failing to become a member of a transaction commit group
- Given the right timing, this could cause an assertion failure when some later session re-uses the same PGPROC object.
- Add locking to avoid reading incorrect relmapper data in the face of a concurrent write from another process (Heikki Linnakangas)
- Improve progress reporting for the sort phase of a parallel btree index build (Matthias van de Meent)
- Improve checks for violations of replication protocol
- Logical replication workers frequently used Asserts to check for cases that could be triggered by invalid or out-of-order replication commands. This seems unwise, so promote these tests to regular error checks.
- Fix assorted crash cases in logical replication of partitioned-table updates
- Fix potential crash when firing AFTER triggers of partitioned tables in logical replication workers
- Fix deadlock when multiple logical replication workers try to truncate the same table
- Fix error cases and memory leaks in logical decoding of speculative insertions
- Fix memory leak in logical replication output
- Avoid leaving an invalid record-type hash table entry behind after an error
- This could lead to later crashes or memory leakage.
- Fix plan cache reference leaks in some error cases in CREATE TABLE ... AS EXECUTE
- Fix race condition in code for sharing tuple descriptors across parallel workers
- Given the right timing, a crash could result.
- Fix race condition when invalidating an obsolete replication slot concurrently with an attempt to drop or update it
- Fix possible race condition when releasing BackgroundWorkerSlots
- It's likely that this doesn't fix any observable bug on Intel hardware, but machines with weaker memory ordering rules could have problems.Fix latent crash in sorting code
- One code path could attempt to free a null pointer. The case appears unreachable in the core server's use of sorting, but perhaps it could be triggered by extensions.
- Harden B-tree posting list split code against corrupt data
- Throw an error, rather than crashing, for an attempt to insert an item with a TID identical to an existing entry. While that shouldn't ever happen, it has been reported to happen when the index is inconsistent with its table.
- Prevent infinite loops in SP-GiST index insertion
- In the event that INCLUDE columns take up enough space to prevent a leaf index tuple from ever fitting on a page, the text_ops operator class would get into an infinite loop vainly trying to make the tuple fit. While pre-v11 versions don't have INCLUDE columns, back-patch this anti-looping fix to them anyway, as it seems like a good defense against bugs in operator classes.
- Ensure that SP-GiST index insertion can be terminated by a query cancel request
- Fix uninitialized-variable bug that could cause PL/pgSQL to act as though an INTO clause specified STRICT, even though it didn't
- Don't abort the process for an out-of-memory failure in libpq's printing functions
- In ecpg, allow the numeric value INT_MIN (usually -2147483648) to be converted to integer
- In psql and other client programs, avoid overrunning the ends of strings when dealing with invalidly-encoded data
- An incorrectly-encoded multibyte character near the end of a string could cause various processing loops to run past the string's terminating NUL, with results ranging from no detectable issue to a program crash, depending on what happens to be in the following memory. This is reminiscent of CVE-2006-2313, although these particular cases do not appear to have interesting security consequences.
- Fix pg_dump to correctly handle triggers on partitioned tables whose enabled status is different from their parent triggers' status
- Avoid “invalid creation date in header” warnings observed when running pg_restore on an archive file created in a different time zone
- Make pg_upgrade carry forward the old installation's oldestXID value
- Previously, the new installation's oldestXID was set to a value old enough to (usually) force immediate anti-wraparound autovacuuming. That's not desirable from a performance standpoint; what's worse, installations using large values of autovacuum_freeze_max_age could suffer unwanted forced shutdowns soon after an upgrade.
- Extend pg_upgrade to detect and warn about extensions that should be upgraded
- A script file is now produced containing the ALTER EXTENSION UPDATE commands needed to bring extensions up to the versions that are considered default in the new installation.
- Avoid problems when switching pg_receivewal between compressed and non-compressed WAL storage
- Fix contrib/postgres_fdw to work usefully with generated columns
- Postgres_fdw will now behave reasonably with generated columns, so long as a generated column in a foreign table represents a generated column in the remote table. IMPORT FOREIGN SCHEMA will now import generated columns that way by default.
- In contrib/postgres_fdw, avoid attempting catalog lookups after an error
- While this usually worked, it's not very safe since the error might have been one that made catalog access nonfunctional. A side effect of the fix is that messages about data conversion errors will now mention the query's table and column aliases (if used) rather than the true underlying name of a foreign table or column.
- Improve the isolation-test infrastructure
- Allow isolation test steps to be annotated to show the expected completion order. This allows getting stable results from otherwise-racy test cases, without the long delays that we previously used (not entirely successfully) to fend off race conditions. Allow non-quoted identifiers as isolation test session/step names (formerly, all such names had to be double-quoted). Detect and warn about unused steps in isolation tests. Improve display of query results in isolation tests. Remove isolationtester's “dry-run” mode. Remove memory leaks in isolationtester itself.
- Reduce overhead of cache-clobber testing
- Fix PL/Python's regression tests to pass with Python 3.10
- Make printf("%s", NULL) print (null) instead of crashing
- This should improve server robustness in corner cases, and it syncs our printf implementation with common libraries.
- Fix incorrect log message when point-in-time recovery stops at a ROLLBACK PREPARED record
- Improve ALTER TABLE's messages for wrong-relation-kind errors
- Clarify error messages referring to “non-negative” values
- Fix configure to work with OpenLDAP 2.5, which no longer has a separate libldap_r library
- If there is no libldap_r library, we now silently assume that libldap is thread-safe.
- Add new make targets world-bin and install-world-bin
- These are the same as world and install-world respectively, except that they do not build or install the documentation.
- Fix make rule for TAP tests (prove_installcheck) to work in PGXS usage
- Adjust JIT code to prepare for forthcoming LLVM API change
- LLVM 13 has made an incompatible API change that will cause crashing of our previous JIT compiler.
- Avoid assuming that strings returned by GSSAPI libraries are null-terminated
- The GSSAPI spec provides for a string pointer and length. It seems that in practice the next byte after the string is usually zero, so that our previous coding didn't actually fail; but we do have a report of AddressSanitizer complaints.
- Enable building with GSSAPI on MSVC
- Fix various incompatibilities with modern Kerberos builds.
- In MSVC builds, include --with-pgport in the set of configure options reported by pg_config, if it had been specified
更新時間:2021-08-13
更新細節:
更新時間:2021-05-18
更新細節:
What's new in this version:
- TASTy Reader support for Scala 3.0.0
- The splain compiler plugin by @tek was integrated into the compiler, available with the -Vimplicits and -Vtype-diffs flags
- Escaped double quotes now work as expected in string interpolations, both s"" and s"$""
Other Changes
- Optimized BigInt implementation
- Support JDK15 text blocks in Java parser
- Stricter override checking for protected Scala members which override Java members
- Check private[this] members in override checking
- More accurate outer checks in patterns
- Allow renaming imports from _root_
- Make more annotations extend ConstantAnnotation
- A number of syntax changes were added to simplify cross-building between Scala 2 and 3
- Don't error (only warn) on symbol literals under -Xsource:3
- Support writing & instead of with in types under -Xsource:3
- Support Scala 3 vararg splice syntax under -Xsource:3
- Support Scala 3 wildcard and renaming imports under -Xsource:3
- Allow soft keywords open and infix under -Xsource:3
- Align leading infix operator with Scala 3 improvements
- Support ? as wildcard marker under -Xsource:3
- Support case in pattern bindings under -Xsource:3
- Parse +_ and -_ in types as identifiers under -Xsource:3 to support Scala 3.2 placeholder syntax
更新時間:2021-05-14
更新細節:
What's new in this version:
Security Issues:
CVE-2021-32027: Buffer overrun from integer overflow in array subscripting calculations:
- Versions Affected: 9.6 - 13. The security team typically does not test unsupported versions, but this problem is quite old
- While modifying certain SQL array values, missing bounds checks let authenticated database users write arbitrary bytes to a wide area of server memory
- The PostgreSQL project thanks Tom Lane for reporting this problem
CVE-2021-32028: Memory disclosure in INSERT ... ON CONFLICT ... DO UPDATE:
- Versions Affected: 9.6 - 13. The security team typically does not test unsupported versions. The feature first appeared in 9.5
- Using an INSERT ... ON CONFLICT ... DO UPDATE command on a purpose-crafted table, an attacker can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can create prerequisite objects and complete this attack at will. A user lacking the CREATE and TEMPORARY privileges on all databases and the CREATE privilege on all schemas cannot use this attack at will.
- The PostgreSQL project thanks Andres Freund for reporting this problem
CVE-2021-32029: Memory disclosure in partitioned-table UPDATE ... RETURNING:
- Versions Affected: 11 - 13
- Using an UPDATE ... RETURNING on a purpose-crafted partitioned table, an attacker can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can create prerequisite objects and complete this attack at will. A user lacking the CREATE and TEMPORARY privileges on all databases and the CREATE privilege on all schemas typically cannot use this attack at will.
Bug Fixes and Improvements:
- This update fixes over 45 bugs that were reported in the last several months. Some of these issues only affect version 13, but could also apply to other supported versions.
Some of these fixes include:
- Fix potential incorrect computation of UPDATE ... RETURNING outputs for joined, cross-partition updates
- Fix ALTER TABLE ... ALTER CONSTRAINT when used on foreign-key constraints on partitioned tables. The command would fail to adjust the DEFERRABLE and/or INITIALLY DEFERRED properties of the constraints and triggers of leaf partitions, leading to unexpected behavior. After updating to this version, you can execute the ALTER TABLE ... ALTER CONSTRAINT command to fix any misbehaving partitioned tables.
- Ensure that when a child table is attached with ALTER TABLE ... INHERIT that generated columns in the parent are generated in the same way in the child
- Forbid marking an identity column as NULL
- Allow ALTER ROLE ... SET/ALTER DATABASE ... SET to set the role, session_authorization, and temp_buffers parameters
- Ensure that REINDEX CONCURRENTLY preserves any statistics target set for the index
- Fix an issue where, in some cases, saving records within AFTER triggers could cause crashes
- Fix how to_char() handles Roman-numeral month format codes with negative intervals
- Fix use of uninitialized value while parsing an {m,n} quantifier in a BRE-mode regular expression
- Fix "could not find pathkey item to sort" planner errors that occur in some situations when the sort key involves an aggregate or window function
- Fix issue with BRIN index bitmap scans that could lead to "could not open file" errors
- Fix potentially wrong answers from GIN tsvector index searches when there are many matching records
- Fixes for COMMIT AND CHAIN functionality on both the server and psql
- Avoid incorrect timeline change while recovering uncommitted two-phase transactions from WAL, which could lead to consistency issues and the inability to restart the server.
- Ensure thatwal_sync_method is set to fdatasync by default on newer FreeBSD releases
- Disable the vacuum_cleanup_index_scale_factor parameter and storage option
- Fix several memory leaks in the server, including one with SSL/TLS parameter initialization
- Restore the previous behavior of connect service=XYZ to psql, i.e. disallow environmental variables (e.g. PGPORT) from overriding entries in the service file
- Fix how pg_dump handles generated columns in partitioned tables
- Add additional checks to pg_upgrade for user tables containing non-upgradable data types
- On Windows, initdb now prints instructions about how to start the server with pg_ctl using backslash separators
- Fix pg_waldump to count XACT records correctly when generating per-record statistics
更新時間:2021-05-14
更新細節:
What's new in this version:
Security Issues:
CVE-2021-32027: Buffer overrun from integer overflow in array subscripting calculations:
- Versions Affected: 9.6 - 13. The security team typically does not test unsupported versions, but this problem is quite old
- While modifying certain SQL array values, missing bounds checks let authenticated database users write arbitrary bytes to a wide area of server memory
- The PostgreSQL project thanks Tom Lane for reporting this problem
CVE-2021-32028: Memory disclosure in INSERT ... ON CONFLICT ... DO UPDATE:
- Versions Affected: 9.6 - 13. The security team typically does not test unsupported versions. The feature first appeared in 9.5
- Using an INSERT ... ON CONFLICT ... DO UPDATE command on a purpose-crafted table, an attacker can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can create prerequisite objects and complete this attack at will. A user lacking the CREATE and TEMPORARY privileges on all databases and the CREATE privilege on all schemas cannot use this attack at will.
- The PostgreSQL project thanks Andres Freund for reporting this problem
CVE-2021-32029: Memory disclosure in partitioned-table UPDATE ... RETURNING:
- Versions Affected: 11 - 13
- Using an UPDATE ... RETURNING on a purpose-crafted partitioned table, an attacker can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can create prerequisite objects and complete this attack at will. A user lacking the CREATE and TEMPORARY privileges on all databases and the CREATE privilege on all schemas typically cannot use this attack at will.
Bug Fixes and Improvements:
- This update fixes over 45 bugs that were reported in the last several months. Some of these issues only affect version 13, but could also apply to other supported versions.
Some of these fixes include:
- Fix potential incorrect computation of UPDATE ... RETURNING outputs for joined, cross-partition updates
- Fix ALTER TABLE ... ALTER CONSTRAINT when used on foreign-key constraints on partitioned tables. The command would fail to adjust the DEFERRABLE and/or INITIALLY DEFERRED properties of the constraints and triggers of leaf partitions, leading to unexpected behavior. After updating to this version, you can execute the ALTER TABLE ... ALTER CONSTRAINT command to fix any misbehaving partitioned tables.
- Ensure that when a child table is attached with ALTER TABLE ... INHERIT that generated columns in the parent are generated in the same way in the child
- Forbid marking an identity column as NULL
- Allow ALTER ROLE ... SET/ALTER DATABASE ... SET to set the role, session_authorization, and temp_buffers parameters
- Ensure that REINDEX CONCURRENTLY preserves any statistics target set for the index
- Fix an issue where, in some cases, saving records within AFTER triggers could cause crashes
- Fix how to_char() handles Roman-numeral month format codes with negative intervals
- Fix use of uninitialized value while parsing an {m,n} quantifier in a BRE-mode regular expression
- Fix "could not find pathkey item to sort" planner errors that occur in some situations when the sort key involves an aggregate or window function
- Fix issue with BRIN index bitmap scans that could lead to "could not open file" errors
- Fix potentially wrong answers from GIN tsvector index searches when there are many matching records
- Fixes for COMMIT AND CHAIN functionality on both the server and psql
- Avoid incorrect timeline change while recovering uncommitted two-phase transactions from WAL, which could lead to consistency issues and the inability to restart the server.
- Ensure thatwal_sync_method is set to fdatasync by default on newer FreeBSD releases
- Disable the vacuum_cleanup_index_scale_factor parameter and storage option
- Fix several memory leaks in the server, including one with SSL/TLS parameter initialization
- Restore the previous behavior of connect service=XYZ to psql, i.e. disallow environmental variables (e.g. PGPORT) from overriding entries in the service file
- Fix how pg_dump handles generated columns in partitioned tables
- Add additional checks to pg_upgrade for user tables containing non-upgradable data types
- On Windows, initdb now prints instructions about how to start the server with pg_ctl using backslash separators
- Fix pg_waldump to count XACT records correctly when generating per-record statistics
更新時間:2021-05-14
更新細節:
What's new in this version:
Security Issues:
CVE-2021-32027: Buffer overrun from integer overflow in array subscripting calculations:
- Versions Affected: 9.6 - 13. The security team typically does not test unsupported versions, but this problem is quite old
- While modifying certain SQL array values, missing bounds checks let authenticated database users write arbitrary bytes to a wide area of server memory
- The PostgreSQL project thanks Tom Lane for reporting this problem
CVE-2021-32028: Memory disclosure in INSERT ... ON CONFLICT ... DO UPDATE:
- Versions Affected: 9.6 - 13. The security team typically does not test unsupported versions. The feature first appeared in 9.5
- Using an INSERT ... ON CONFLICT ... DO UPDATE command on a purpose-crafted table, an attacker can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can create prerequisite objects and complete this attack at will. A user lacking the CREATE and TEMPORARY privileges on all databases and the CREATE privilege on all schemas cannot use this attack at will.
- The PostgreSQL project thanks Andres Freund for reporting this problem
CVE-2021-32029: Memory disclosure in partitioned-table UPDATE ... RETURNING:
- Versions Affected: 11 - 13
- Using an UPDATE ... RETURNING on a purpose-crafted partitioned table, an attacker can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can create prerequisite objects and complete this attack at will. A user lacking the CREATE and TEMPORARY privileges on all databases and the CREATE privilege on all schemas typically cannot use this attack at will.
Bug Fixes and Improvements:
- This update fixes over 45 bugs that were reported in the last several months. Some of these issues only affect version 13, but could also apply to other supported versions.
Some of these fixes include:
- Fix potential incorrect computation of UPDATE ... RETURNING outputs for joined, cross-partition updates
- Fix ALTER TABLE ... ALTER CONSTRAINT when used on foreign-key constraints on partitioned tables. The command would fail to adjust the DEFERRABLE and/or INITIALLY DEFERRED properties of the constraints and triggers of leaf partitions, leading to unexpected behavior. After updating to this version, you can execute the ALTER TABLE ... ALTER CONSTRAINT command to fix any misbehaving partitioned tables.
- Ensure that when a child table is attached with ALTER TABLE ... INHERIT that generated columns in the parent are generated in the same way in the child
- Forbid marking an identity column as NULL
- Allow ALTER ROLE ... SET/ALTER DATABASE ... SET to set the role, session_authorization, and temp_buffers parameters
- Ensure that REINDEX CONCURRENTLY preserves any statistics target set for the index
- Fix an issue where, in some cases, saving records within AFTER triggers could cause crashes
- Fix how to_char() handles Roman-numeral month format codes with negative intervals
- Fix use of uninitialized value while parsing an {m,n} quantifier in a BRE-mode regular expression
- Fix "could not find pathkey item to sort" planner errors that occur in some situations when the sort key involves an aggregate or window function
- Fix issue with BRIN index bitmap scans that could lead to "could not open file" errors
- Fix potentially wrong answers from GIN tsvector index searches when there are many matching records
- Fixes for COMMIT AND CHAIN functionality on both the server and psql
- Avoid incorrect timeline change while recovering uncommitted two-phase transactions from WAL, which could lead to consistency issues and the inability to restart the server.
- Ensure thatwal_sync_method is set to fdatasync by default on newer FreeBSD releases
- Disable the vacuum_cleanup_index_scale_factor parameter and storage option
- Fix several memory leaks in the server, including one with SSL/TLS parameter initialization
- Restore the previous behavior of connect service=XYZ to psql, i.e. disallow environmental variables (e.g. PGPORT) from overriding entries in the service file
- Fix how pg_dump handles generated columns in partitioned tables
- Add additional checks to pg_upgrade for user tables containing non-upgradable data types
- On Windows, initdb now prints instructions about how to start the server with pg_ctl using backslash separators
- Fix pg_waldump to count XACT records correctly when generating per-record statistics