* Minimap (on by default, use `editor.minimap` to disable it).
* Drag and Drop (on by default, use `editor.dragAndDrop` to disable it).
* Copy text with formatting.
### Accessibility
* There is a new [guide for making the editor accessible to all](https://github.com/Microsoft/monaco-editor/wiki/Accessibility-Guide-for-Integrators).
* There is a new Alt+F1 (Ctrl+F1 in IE) accessibility help panel.
* There is a new F8/Shift+F8 diff review panel in the diff editor.
* Many bugfixes.
### Breaking changes
* A lot has changed w.r.t. how themes work in the editor, mostly driven by the work to support theming in VS Code. `editor.updateOptions()`**no longer accepts `theme`**; the theme can be changed via the newly introduced `monaco.editor.setTheme()`. Additionally, we recommend editor colors be customized via `monaco.editor.defineTheme()` instead of via CSS -- see [sample](https://microsoft.github.io/monaco-editor/playground.html#customizing-the-appearence-exposed-colors). The color names will be stable, while the CSS class names might break at any time.
* Support for the internal snippet syntax **has been discontinued** and snippet must now use the official, TextMate-like syntax. Find its grammar and samples [here](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax).
* Changed `IModel.findMatches` to accept a list of word separators.
* Changed the shape of the `IModelContentChangedEvent` emitted via `IModel.onDidChangeContent` to **now contain a batch** of all the changes that the model had.
* No longer using `transform: translate3d`, now using `will-change: transform` for browser layer hinting. Use the `disableLayerHinting` option if you have any trouble with browser layers (bluriness or high GPU memory usage).
* Simplified wrapping settings: `wordWrap`, `wordWrapColumn` and `wordWrapMinified`.
- Fixes an issue in monaco-typescript where it would attempt to validate a disposed model.
- Fixes an issue in monaco-typescript where it would attempt to validate a disposed model.
## [0.8.2]
---
## [0.8.2] (01.03.2017)
- Fixes the following regressions:
- Fixes the following regressions:
- [issue #385](https://github.com/Microsoft/monaco-editor/issues/385): Cannot add action to the left-hand-side of the diff editor
- [issue #385](https://github.com/Microsoft/monaco-editor/issues/385): Cannot add action to the left-hand-side of the diff editor
- [issue #386](https://github.com/Microsoft/monaco-editor/issues/386): Shortcuts for actions added via editor.addAction don't show up in the Command Palette
- [issue #386](https://github.com/Microsoft/monaco-editor/issues/386): Shortcuts for actions added via editor.addAction don't show up in the Command Palette
- [issue #387](https://github.com/Microsoft/monaco-editor/issues/387): Cannot change diff editor to a custom theme based on high contrast
- [issue #387](https://github.com/Microsoft/monaco-editor/issues/387): Cannot change diff editor to a custom theme based on high contrast
## [0.8.1]
---
## [0.8.1] (27.01.2017)
- CSS/JSON/HTML language supports updated:
- CSS/JSON/HTML language supports updated:
- CSS: Support for @apply
- CSS: Support for @apply
- SCSS: Map support
- SCSS: Map support
@ -21,9 +71,11 @@
- Added `disableMonospaceOptimizations` editor option that can be used in case browser zooming exposes additional issues.
- Added `disableMonospaceOptimizations` editor option that can be used in case browser zooming exposes additional issues.
- Added `formatOnPaste` editor option.
- Added `formatOnPaste` editor option.
- Added `IActionDescriptor.precondition`.
- Added `IActionDescriptor.precondition`.
- Breaking change: renamed `registerTypeDefinitionProvider` to `registerImplementationProvider` and associated types.
- **Breaking change**: renamed `registerTypeDefinitionProvider` to `registerImplementationProvider` and associated types.
## [0.8.0]
---
## [0.8.0] (18.01.2017)
- This release has been brewing for a while and comes with quite a number of important changes.
- This release has been brewing for a while and comes with quite a number of important changes.
- There are many bugfixes and speed/memory usage improvements.
- There are many bugfixes and speed/memory usage improvements.
- Now shipping TypeScript v2.1.5 in `monaco-typescript` (JS and TS language support).
- Now shipping TypeScript v2.1.5 in `monaco-typescript` (JS and TS language support).
@ -34,11 +86,11 @@
### Monarch Tokenizer
### Monarch Tokenizer
- Monarch states are now memoized up to a depth of 5. This results in considerable memory improvements for files with many lines.
- Monarch states are now memoized up to a depth of 5. This results in considerable memory improvements for files with many lines.
- Speed improvements to Monarch tokenizer that resulted in one breaking change:
- Speed improvements to Monarch tokenizer that resulted in one **breaking change**:
- when entering an embedded mode (i.e. `nextEmbedded`), the state ending up in must immediately contain a `nextEmbedded: "@pop"` rule. This helps in quickly figuring out where the embedded mode should be left. The editor will throw an error if the Monarch grammar does not respect this condition.
- when entering an embedded mode (i.e. `nextEmbedded`), the state ending up in must immediately contain a `nextEmbedded: "@pop"` rule. This helps in quickly figuring out where the embedded mode should be left. The editor will throw an error if the Monarch grammar does not respect this condition.
### Tokens are styled in JS (not in CSS anymore)
### Tokens are styled in JS (not in CSS anymore)
- This is a breaking change
- This is a **breaking change**
- Before, token types would be rendered on the `span` node of text, and CSS rules would match token types and assign styling to them (i.e. color, boldness, etc.to style tokens)
- Before, token types would be rendered on the `span` node of text, and CSS rules would match token types and assign styling to them (i.e. color, boldness, etc.to style tokens)
- To enable us to build something like a minimap, we need to know the text color in JavaScript, and we have therefore moved the token style matching all to JavaScript. In the future, we foresee that even decorations will have to define their color in JavaScript.
- To enable us to build something like a minimap, we need to know the text color in JavaScript, and we have therefore moved the token style matching all to JavaScript. In the future, we foresee that even decorations will have to define their color in JavaScript.
- It is possible to create a custom theme via a new API method `monaco.editor.defineTheme()` and the playground contains a sample showing how that works.
- It is possible to create a custom theme via a new API method `monaco.editor.defineTheme()` and the playground contains a sample showing how that works.
* [Sam El-Husseini (@microsoftsam)](https://github.com/microsoftsam): Using Cmd+Scroll to zoom on a mac [PR vscode#12477](https://github.com/Microsoft/vscode/pull/12477)
* [Sam El-Husseini (@microsoftsam)](https://github.com/microsoftsam): Using Cmd+Scroll to zoom on a mac [PR vscode#12477](https://github.com/Microsoft/vscode/pull/12477)
---
## [0.6.1]
## [0.6.1] (06.09.2016)
- Fixed regression where `editor.addCommand` was no longer working.
- Fixed regression where `editor.addCommand` was no longer working.
## [0.6.0]
---
## [0.6.0] (05.09.2016)
- This will be the last release that contains specific IE9 and IE10 fixes/workarounds. We will begin cleaning our code-base and remove them.
- This will be the last release that contains specific IE9 and IE10 fixes/workarounds. We will begin cleaning our code-base and remove them.
- We plan to adopt TypeScript 2.0, so this will be the last release where `monaco.d.ts` is generated by TypeScript 1.8.
- We plan to adopt TypeScript 2.0, so this will be the last release where `monaco.d.ts` is generated by TypeScript 1.8.
- `javascript` and `typescript` language services:
- `javascript` and `typescript` language services:
@ -148,26 +207,25 @@
* [Sandy Armstrong (@sandyarmstrong)](https://github.com/sandyarmstrong): Correct docs for IEditorScrollbarOptions.useShadows [PR vscode#11312](https://github.com/Microsoft/vscode/pull/11312)
* [Sandy Armstrong (@sandyarmstrong)](https://github.com/sandyarmstrong): Correct docs for IEditorScrollbarOptions.useShadows [PR vscode#11312](https://github.com/Microsoft/vscode/pull/11312)
* [Artyom Shalkhakov (@ashalkhakov)](https://github.com/ashalkhakov): Adding support for ATS/Postiats [PR monaco-languages#5](https://github.com/Microsoft/monaco-languages/pull/5)
* [Artyom Shalkhakov (@ashalkhakov)](https://github.com/ashalkhakov): Adding support for ATS/Postiats [PR monaco-languages#5](https://github.com/Microsoft/monaco-languages/pull/5)
## [Next]
---
### Breaking changes
## [0.5.1] (24.06.2016)
- Support for the internal snippet syntax has been discontinued and snippet must now use the official, TextMate-like syntax. Find its grammar and samples here: https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax
## [0.5.1]
- Fixed mouse handling in IE
- Fixed mouse handling in IE
## [0.5.0]
---
## [0.5.0] (24.06.2016)
### Breaking changes
### Breaking changes
- `monaco.editor.createWebWorker` now loads the AMD module and calls `create` and passes in as first argument a context of type `monaco.worker.IWorkerContext` and as second argument the `initData`. This breaking change was needed to allow handling the case of misconfigured web workers (running on a file protocol or the cross-domain case)
- `monaco.editor.createWebWorker` now loads the AMD module and calls `create` and passes in as first argument a context of type `monaco.worker.IWorkerContext` and as second argument the `initData`. This **breaking change** was needed to allow handling the case of misconfigured web workers (running on a file protocol or the cross-domain case)
- the `CodeActionProvider.provideCodeActions` now gets passed in a `CodeActionContext` that contains the markers at the relevant range.
- the `CodeActionProvider.provideCodeActions` now gets passed in a `CodeActionContext` that contains the markers at the relevant range.
- the `hoverMessage` of a decoration is now a `MarkedString | MarkedString[]`
- the `hoverMessage` of a decoration is now a `MarkedString | MarkedString[]`
- the `contents` of a `Hover` returned by a `HoverProvider` is now a `MarkedString | MarkedString[]`
- the `contents` of a `Hover` returned by a `HoverProvider` is now a `MarkedString | MarkedString[]`
- Broken configurations (loading from `file://` or misconfigured cross-domain loading) now load the web worker code in the UI thread. This caused a breaking change in the behaviour of `monaco.editor.createWebWorker`
- Broken configurations (loading from `file://` or misconfigured cross-domain loading) now load the web worker code in the UI thread. This caused a **breaking change** in the behaviour of `monaco.editor.createWebWorker`
- The right-pointing mouse pointer is oversized in high DPI - [issue](https://github.com/Microsoft/monaco-editor/issues/5)
- The right-pointing mouse pointer is oversized in high DPI - [issue](https://github.com/Microsoft/monaco-editor/issues/5)
- The editor functions now correctly when hosted inside a `position:fixed` element.
- The editor functions now correctly when hosted inside a `position:fixed` element.
- Cross origin configuration is now picked up (as advertised in documentation from MonacoEnvironment)
- Cross origin configuration is now picked up (as advertised in documentation from MonacoEnvironment)