# Changelog

## v0.7.0

#### Project Infrastructure

* 🧰 Project is fully migrated to React
* 🎨 CSS customization is done through variables, not individual rules
  * Both individual users and theme-makers can create complete themes with minimal effort
  * CSS vars cover all interface colors
  * Default theme is a11y-friendly
* ✔️ Project is accessible, reliable, and maintainable
* 🏪 Extension is compatible with Roam Depot

#### New Features

* ⚙️ **Settings panel**\
  \&#xNAN;*View and edit your settings in a clean interface*
  * With RoamDepot allowing settings to be saved between sessions, all user settings will now be set directly within the interface. The Settings dialog can be opened by a right-click on the extension icon, then by clicking on the "Settings" option.
  * No more creating a `zoteroRoam_settings` object, and having to dabble in `roam/js` code 🎉
* **Dashboard panel**
  * :label: **Tag Manager**\
    \&#xNAN;*Edit, merge and delete Zotero tags*
  * :date: **Recent Items**\
    *Navigate items recently added/modified*
  * :mag: **Explorer**\
    *Browse your libraries with complex queries*
* :bricks: **SmartBlocks integration**
  * Command available in SB: `ZOTERORANDOMCITEKEY`, with optional tags query
  * Metadata formatting can be done via a SmartBlock, with custom commands to retrieve and format metadata:
    * `ZOTEROITEMABSTRACT`
    * `ZOTEROITEMCOLLECTIONS`
    * `ZOTEROITEMCREATORS`
    * `ZOTEROITEMDATEADDED`
    * `ZOTEROITEMLINK`
    * `ZOTEROITEMPUBLICATION`
    * `ZOTEROITEMRELATED`
    * `ZOTEROITEMTAGS`
    * `ZOTEROITEMTITLE`
    * `ZOTEROITEMTYPE`
    * `ZOTEROITEMURL`
    * `ZOTEROITEMYEAR`
    * `ZOTERONOTES`
    * `ZOTEROPDFS`
* :mag\_right: **Web Import**&#x20;

  *Add items to Zotero from a URL*

  * For blocks that contain one or more specified tag(s), and where the extension detects at least one URL -- an import button will appear next to the block
  * Clicking the button will open a panel to import any/all of the URLs into Zotero (with pickers for library, collections, and tags)
* 💪 **Support for Zotero 6 annotations**
  * Formatting can be controlled from the settings, in the `Annotations` section
  * Annotations are imported by default metadata formatter

#### Improvements / Quality of Life

* ✨ **Extension icon** displays a panel on hover, with additional information/actions
  * Extension status (on/off/disabled)
  * Data retrieval status for each data kind, with last updated time & a button to refresh that data
  * Toggle for dark/light theming
  * Links to extension documentation & changelog
  * Extension version
* 🎓 Semantic Scholar data
  * Citations & References are shown in the same dialog, with tabs - instead of separate dialogs
  * Items can be sorted (by publication year, influence, or whether the item is in one of the loaded Zotero libraries)
* 🔍 Search Panel
  * Search bar is more compact
  * Visibility on results shown vs. total results
  * Item view is redesigned
  * "Show Notes" now opens a drawer, instead of showing the notes underneath the item details
* 🔣 Interface and styling
  * Better consistency for item menus : the same set of actions is now available, regardless of where the menu is located
  * Better visual cues to indicate whether an item is in library/in Roam
  * Toast notification emitted whenever text is copied to the clipboard
  * Contextual guides added to clarify extension behavior or provide information about data sources
  * All dialogs can now be closed by using the close button, pressing `Escape`, or clicking outside of the dialog window
  * Shortcuts are now specified by a natural string, e.g "alt+P". You can use the interactive tester at the bottom of [this page ](https://blueprintjs.com/docs/#core/components/hotkeys.key-combos)to check the correct specification for your keyboard and setup.
  * Dialog sizing is sensitive to display size

#### **Bug Fixes**

Too many to list 🪲


---

# Agent Instructions: 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:

```
GET https://alix-lahuec.gitbook.io/zotero-roam/changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
