v0.9.0

@ArthurHoaro ArthurHoaro released this May 7, 2017 · 437 commits to master since this release

This release introduces the REST API, and requires updating HTTP server
configuration to enable URL rewriting, see:

WARNING: Shaarli now requires PHP 5.5+.

Added

  • REST API v1
    • Slim framework
    • JSON Web Token (JWT) authentication
    • versioned API endpoints:
      • /api/v1/info: get general information on the Shaarli instance
      • /api/v1/links: get a list of shaared links
      • /api/v1/history: get a list of latest actions
        Theming:
    • Introduce a new theme
    • Allow selecting themes/templates from the configuration page
    • New/Edit link form can be submitted using CTRL+Enter in the textarea
    • Shaarli version is displayed in the footer when logged in
  • Add plugin placeholders to Atom/RSS feed templates
  • Add OpenSearch to feed templates
  • Add campaign_ to the URL cleanup pattern list
  • Add an AUTHORS file and Makefile target to list authors from Git commit data
  • Link imports are now logged in data/ folder, and can be debug using dev.debug=true setting.
  • composer.lock is now included in git file to allow proper composer install
  • History mechanism which logs link addition/modification/deletion

Changed

  • Docker: enable nginx URL rewriting for the REST API
  • Theming:
    • Move user.css to the data folder
    • Move default template files to a subfolder (default)
    • Rename the legacy theme to vintage
    • Private only filter is now displayed as a search parameter
    • Autocomplete: pre-select the first element
    • Display daily date in the page title (browser title)
    • Timezone lists are now passed as an array instead of raw HTML
  • Move PubSubHub to a dedicated plugin
  • Coding style:
    • explicit method visibility
    • safe boolean comparisons
    • remove unused variables
  • The updater now keeps custom theme preferences
  • Simplify the COPYING information
  • Improved client locale detection
  • Improved date time display depending on the locale
  • Partial namespace support for Shaarli classes
  • Shaarli version is now only present in shaarli_version.php
  • Human readable maximum file size upload

Removed

  • PHP < 5.5 compatibility
  • ReadItYourself plugin

Fixed

  • Ignore generated release tarballs
  • Hide default port when behind a reverse proxy
  • Fix a typo in the Markdown plugin description
  • Fix the presence of empty tags for private tags and in search results
  • Fix a fatal error during the install
  • Fix permalink image alignment in daily page
  • Fix the delete button in editlink
  • Fix redirection after link deletion
  • Do not access LinkDB links by ID before the Updater applies migrations
  • Remove extra spaces in the bookmarklet's name
  • Piwik plugin: Piwik URL protocol can now be set (http or https)
  • All inline JS has been moved to dedicated JS files
  • Keep tags after login redirection

Security

  • Markdown plugin: escape HTML entities by default