> For the complete documentation index, see [llms.txt](https://zefyr-editor.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zefyr-editor.gitbook.io/docs/release-notes/changelog-1.md).

# Notus Changelog

### 1.0.0-rc.2

* Added support for checklists ([#578](https://github.com/memspace/zefyr/pull/578))
* Added support for text alignment ([#565](https://github.com/memspace/zefyr/pull/565))
* Fixed: Updated heuristic rules to ensure the last newline character is always preserved ([#572](https://github.com/memspace/zefyr/pull/572))
* Fixed: Inserting space in the beginning of a document resulted in an AssertionError in debug mode ([#574](https://github.com/memspace/zefyr/pull/574))

### 1.0.0-rc.1

* Improved auto-formatting of code blocks from Markdown shortcuts ([#560](https://github.com/memspace/zefyr/pull/560))

### 1.0.0-dev.10.0

* Activated the new Markdown block style shortcuts rule.

### 1.0.0-dev.9.0

* Added `inlineCode` style ([#534](https://github.com/memspace/zefyr/pull/534)), by @Amir-P
* Added text `direction` style for controlling RTL layouts ([#438](https://github.com/memspace/zefyr/pull/438)), by @Amir-P
* Added Markdown block style shortcuts ([#558](https://github.com/memspace/zefyr/pull/558)), by @cgestes
* Various internal linter fixes

### 1.0.0-dev.8.0

* Fixed an issue with composing unset attributes with null-safety (#514)

### 1.0.0-dev.7.0

* Fixed remaining usage of annotations from the meta package

### 1.0.0-dev.6.0

* Removed dependency on meta package

### 1.0.0-dev.5.0

* Added support for null-safety (#510)

### 1.0.0-dev.4.0

* Added support for underline and strikethrough inline styles (#429).

### 1.0.0-dev.3.0

* Encapsulated handling of EmbeddableObjects in Deltas.Deltas produced by Notus documents will now always have embeds stored as Maps, instead of instances of `EmbeddableObject`.
* `NotusDocument.fromDelta` constructor is no longer deprecated.

### 1.0.0-dev.2.0

* Improved block-level heuristics to not exit when adding empty lines in the middle of a block.

### 1.0.0-dev.1.0

This is the first dev version of the notus package for the upcoming 1.0.0 release. The major version bump indicates that there are going to be breaking changes in this package. Each such change will be documented in this changelog as well as in the upgrading guide. This release introduces the first breaking change described below, but there is at least one more breaking change planned in one of upcoming `1.0.0-dev.x.y` releases.

**Breaking change**: Handling of embeds changed from using a style attribute `NotusAttribute.embed` to actually placing embedded objects as data payload of insert operations. This functionality relies on the `2.0.0` version of `quill_delta` package.

Breaking API changes include:

* `NotusAttribute.embed` is removed together with `EmbedAttribute`.

If your code relies on this attribute you can migrate your code to use the new `BlockEmbed` type. Inserting an embed now means inserting an instance of `BlockEmbed` instead of formatting with the embed style. For example,

```dart
void main() {
  // OLD:
  final doc = NotusDocument();
  doc.format(7, 0, NotusAttribute.embed.horizontalRule);
  // NEW:
  doc.insert(7, BlockEmbed.horizontalRule);
}
```

Non-breaking API changes:

* `NotusDocument.insert`, `NotusDocument.replace` as well as `Node.insert` changed the inserted data type from `String` to `Object` in order to support insertion of embeds.

Deprecated APIs:

* `NotusDocument.fromDelta` is deprecated and will be removed prior to stable `1.0.0` release. If you're relying on this method consider switching to `NotusDocument.fromJson`.

**Backward compatibility for existing documents**

Existing documents which use `NotusAttribute.embed` will automatically get converted to the new format upon loading into a `NotusDocument` instance, so no extra work is necessary to migrate your existing data. The same applies to composing old-style change Deltas using `NotusDocument.compose`.

**New functionality**

It is now possible to embed any user-defined object as well as override the built-in embed types (horizontal rule and image).

### 0.1.5

* Bumped minimum Dart SDK version to 2.2
* Upgraded dependencies and resolved analyzer errors

### 0.1.4

* Fixed insertion of embeds when selection is not empty (#115)

### 0.1.3

* Fixed handling of user input around embeds
* Added new heuristic rule to preserve block style on paste

### 0.1.2

* Upgraded dependency on quiver\_hashcode to 2.0.0

### 0.1.1

* Added `meta` package to dependencies
* Fixed analysis warnings
* Added example

### 0.1.0

* Initial release


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://zefyr-editor.gitbook.io/docs/release-notes/changelog-1.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
