# Changelog

All notable changes to `clarabot-nano` will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) since version 1.2.0.

## [Unreleased]

## [1.2.0] (2023-04-20)

### Added

- Automated location and filename selection support for uploading files easily and safely without conflicts
- New cacheable directory listing handler implementation
- Thumbnail bucketing in directories for optimal processing
- Auto-release drive-room binding for deleted rooms
- Proactive websocket disconnect detection (helps recovery after OS suspended among other rare cases)

### Changed

- Update bundled Apache Tika to 2.7.0
- Update bundled Apache Solr to 9.2.0
- Made blocked and broken symlinks visible in drives
- Directory listing in drives will include type-marker for symlinks (necessary to avoid cycles during traversal for download)
- Improved access-log messages to provide more context
- Added disk-usage information to admin-list response, which shall be useful for the owner when managing drives
- Enhanced state and preview information options of the peek handler
- Optimized index database clearing at Nano reset
- Optimized configuration of the Inotify FS observer (Linux)

### Fixed

- Handle XML parsing errors from Tika when content extraction unexpectedly fails
- Searching in drives with a root path of a filesystem root (like E:\ on Windows)

## [1.1.0] (2023-01-16)
- Address a potential trusted identity forgery issue by colluding malicious server and peer
- Create and serve preview-sized images in addition to thumbnails
- Build Picoture with a frozen environment using Gradle
- Improved idle-sleep inhibition support for Linux
- Fixed a potential GUI crash bug during window cleanup
- Fixed initial layout of the Attach-Drive dialog
- Added CC configuration status tab to About dialog
- Fixed stability and compatibility of some UI tests on Linux

## [1.0.2] (2022-12-17)
- Update bundled Apache Tika to 2.6.0
- Update bundled Apache Solr to 8.11.2
- Update to Python 3.10
- Allow directory creation in drive for upload-only permission as well
- Patched Solr security policy to work with custom OS temporary directory from environment
- TOFU fingerprints will be saved when explicit trust is present to prepare a security fallback
- Explicit trust enforcement configuration added

## [1.0.1] (2022-04-29)
- Fixed a lot of distribution bundling issues for Linux
- Implemented a general dependency reference checking for bundle building
- Fixed UI not visible using Wayland (glib schema incompatibility)
- Fixed UI window height on Wayland

## [1.0.0] (2022-04-27)
- Fixed various distribution build issues

## [0.9.5] (2022-04-26)
- Thumbnail indexing for file types: BMP, GIF, HDR, IFF, JPEG, PDF, PICT, PNG, PNM, PSD, SVG, TIFF, WEBP
- Thumbnails query support for drive requests (get, peek, search)
- Implemented aggregate data cache in front of the index-db for optimization
- Use Tika media type detector
- Allow file rename to itself on case-insensitive filesystems
- Improved encryption of the login-session in storage
- Optimize indexing symlinked aliases (avoid multiple re-processing)
- Bugfix incorrect indexer cleanup, when symlinks are in the same directory as the target

## [0.8.1] (2022-02-08)
- Bugfix cleanup of old Solr db items on Darwin

## [0.8.0] (2022-02-08)
- Changed default unicode normalization to not use compatibility transformation
- FS transaction requests will return the normalized target path where relevant
- Optimized packaging for all platforms
- Implemented packaging with AppImage for Linux platform

## [0.7.0] (2022-01-20)
- Update bundled Apache Tika to 2.2.1
- Update bundled Apache Solr to 8.11.1
- Improved process termination behaviour on Windows
- Windows installer will be able to stop & restart running Nano instances from now on
- Improved update notification display on all platforms
- Use password unicode normalization for compatibility

## [0.6.6] (2021-12-17)
- Improved root path selection for Linux and macOS (when creating drives)

## [0.6.5] (2021-12-15)
- Fix OS language detection on darwin
- Implement and fix support for darwin 18 (macOS 10.14) and above

## [0.6.3] (2021-12-11)
- Fix networking lockdown of the Solr worker process
- Mitigate CVE-2021-44228 by disabling vulnerable feature until upstream fixes it

## [0.6.2] (2021-12-05)
- Prepare source tarball packaging

## [0.6.1] (2021-12-05)
- Fixed distribution packaging for macOS
- Updated dependencies

## [0.6.0] (2021-12-04)
- Baseline support for macOS implemented
- Improved uptime by buffering requests during worker process reconfiguration
- Handle abandoned responses by ignoring them (zmq ipc)
- Fix window stack unwinding if core is shutting down (macOS)

## [0.5.6] (2021-11-21)
- Fix an issue where the anonymous identity could be assigned membership to a room.
- Improved OS language detection.
- Adjusted startup timeouts to be more lenient and avoid logging expected errors.
- Fixed listing directories with inaccessible files in them. (e.g., broken symlinks)
- Added support for upload-only permission for drives.
- Implement cleanup procedure of temporary files left by abandoned uploads.

## [0.5.5] (2021-10-31)
- Added local policy configuration to reject creating/using drive roots in sensitive places.

## [0.5.4] (2021-10-27)
- Fix the caching protocol request validation so continuing an interrupted transfer is possible.
- Added new FS request handler to get info of a specific path in a drive.

## [0.5.3] (2021-10-13)
- Improved searching by using unicode normalizations. Searches shall yield more similar and correct results for searching from different platforms, locales, etc.
- Added unicode normalization to filenames by remote operations.
- Strip whitespace from 2FA entry input for convenience.
- Add hyperlink to the Web Application on the control status page.
- Ensure standard mimetypes are correctly recognised for indexing by ignoring system environment overrides.
- Updated bundled Solr to 8.10.0 and Tika to 2.1.0 versions.

## [0.5.0] (2021-10-08)
- Initial release.
