2 All notable changes to this project will be documented in this file.
4 The format is based on [Keep a Changelog](http://keepachangelog.com/)
5 and this project adheres to [Semantic Versioning](http://semver.org/).
7 ## [v0.11.1](https://github.com/shaarli/Shaarli/releases/tag/v0.11.1) - 2019-08-03
9 Release to fix broken Docker build on the latest version.
13 - Fixed a few documentation broken links
14 - Fixed broken label in configuration page
17 - More accessibility improvements
19 ## [v0.11.0](https://github.com/shaarli/Shaarli/releases/tag/v0.11.0) - 2019-07-27
21 **Shaarli no longer officially support PHP 5.6 and PHP 7.0 as they've reached end of life.**
23 **Shaarli classes now use namespace, third party plugins need to update.**
26 - Add optional PHP extension to composer suggestions.
27 - composer: enforce PHP security advisories
28 - phpDocumentor configuration and make target
29 - Run unit tests against PHP 7.3
30 - Bunch of accessibility improvements to the default template, thanks to @llune
31 - Bulk actions: set visibility
32 - Display sticky label in linklist
33 - Add print CSS rules to the default template
34 - New setting to automatically retrieve description for new bookmarks
35 - Plugin to override default template colors
38 - Shaarli now uses namespaces for its classes.
39 - Rewrite IP ban management
40 - Default template: slightly lighten visited link color
41 - Hide select all button on mobile view
42 - Switch from FontAwesome v4.x to ForkAwesome
43 - Daily - display the current day instead of the previous one
46 - Do not check the IP address with session protection disabled
47 - API: update test regexes to comply with PCRE2
48 - Optimize and cleanup imports
49 - ensure HTML tags are stripped from OpenGraph description
50 - Documentation invalid links
51 - Thumbnails disabling if PHP GD is not installed
52 - Warning if links sticky status isn't set
53 - Fix button overlapping on mobile in linklist
54 - Do not try to retrieve thumbnails for internal link
55 - Update node-sass to fix a vulnerability in node tar dependency
57 - Default template: Responsive issue with delete button fix
58 - Persist sticky status on bookmark update
61 - Doxygen configuration
63 - QRCode link to an external service
65 ## [v0.10.4](https://github.com/shaarli/Shaarli/releases/tag/v0.10.4) - 2019-04-16
67 - Fix thumbnails disabling if PHP GD is not installed
68 - Fix a warning if links sticky status isn't set
70 ## [v0.10.3](https://github.com/shaarli/Shaarli/releases/tag/v0.10.3) - 2019-02-23
72 - Add OpenGraph metadata tags on permalink page
73 - Add CORS headers to REST API reponses
74 - Add a button to toggle checkboxes of displayed links
75 - Add an icon to the link list when the Isso plugin is enabled
76 - Add noindex, nofollow to documentation pages
77 - Document usage of robots.txt
78 - Add a button to set links as sticky
81 - Update French translation
82 - Refactor the documentation homepage
83 - Bump netscape-bookmark-parser
84 - Update session_start condition
85 - Improve accessibility
86 - Cleanup and refactor lint tooling
89 - Fix input size for dropdown search form
90 - Fix history for bulk link deletion
91 - Fix thumbnail requests
92 - Fix hashtag rendering when markdown escaping is enabled
93 - Fix AJAX tag deletion
94 - Fix lint errors and improve PSR-1 and PSR-2 compliance
97 - Remove Firefox Share documentation
99 ## [v0.10.2](https://github.com/shaarli/Shaarli/releases/tag/v0.10.2) - 2018-08-11
105 ## [v0.10.1](https://github.com/shaarli/Shaarli/releases/tag/v0.10.1) - 2018-08-11
110 - Remove alt text on the logo
111 - Remove redundant title in tools page
115 - Fixed an error on the daily page and daily RSS
116 - Fixed an issue causing 'You are not authorized to add a link' error while logged out
117 - Fixed thumbnail path when Shaarli's path uses symbolic links
118 - Add a `mod_version` check in Shaarli's root `.htaccess` file for Apache 2.2 syntax
119 - Include assets in the release Makefile target
123 - Firefox Social API shaare has been removed
125 ## [v0.10.0](https://github.com/shaarli/Shaarli/releases/tag/v0.10.0) - 2018-07-28
126 **PHP 5.5 compatibility has been dropped.** Shaarli now requires at least PHP 5.6.
129 - Add a filter to display public links only
130 - Add PHP 7.2 support
131 - Add German translation
132 - Resolve front-end dependencies from NPM
133 - Build front-end bundles with Yarn and Webpack
134 - Lint Javascript code with ESLint
135 - Lint SASS code with SASSLint
136 - Support redirection in cURL download callback
137 - Introduce multi-stage builds for Docker images
138 - Use Travis matrix and stages to run Javascript tests in a dedicated environment
139 - Add tag endpoint in the REST API
140 - Build the documentation in Travis builds
141 - Provide a Docker Compose example
144 - Use web-thumbnailer to retrieve thumbnails (see #687)
145 - Use a specific page title in all pages
146 - Daily: run hooks before creating the columns
147 - Load theme translations files automatically
148 - Make max download size and timeout configurable
149 - Make Nginx logs accessible as stdout/stderr for Docker images
150 - Update buttons used to toggle link visibility filters
151 - Rewrite Javascript code for ES6 compliance
152 - Refactor IP ban management
153 - Refactor user login management
154 - Refactor server-side session management
155 - Update Doxygen configuration
157 - Improve documentation
158 - Docker: build the images from the local sources
159 - Docker: bump alpine version to 3.7
160 - Docker: expose a volume for the thumbnail cache
163 - Drop support for PHP 5.5
164 - Remove vendored front-end libraries
165 - Remove environment specific .gitignore entries
168 - Ignore the case while checking DOCTYPE during the file import
169 - Fix removal of on=... attributes from html generated from Markdown
170 - httpd: always forward the 'Authorization' header
171 - Ensure user-specific CSS file is loaded
172 - Fix feed permalink rendering when Markdown escaping is enabled
173 - Fix order of tags with the same number of occurrences
174 - Fixed the referrer meta tag in default template
175 - Disable MkDocs' strict mode for ReadTheDocs builds to pass
176 - fix and simplify Dockerfile for armhf
179 - Update `.htaccess` to prevent accessing Git metadata when using a Git-based installation
182 ## [v0.9.7](https://github.com/shaarli/Shaarli/releases/tag/v0.9.7) - 2018-06-20
184 - Build the Docker images from the local Git sources
187 ## [v0.9.6](https://github.com/shaarli/Shaarli/releases/tag/v0.9.6) - 2018-03-25
189 - htaccess: prevent accessing resources not managed by SCM
190 - htaccess: always forward the 'Authorization' HTTP header
193 ## [v0.9.5](https://github.com/shaarli/Shaarli/releases/tag/v0.9.5) - 2018-02-02
195 - Fix a warning happening when `php-intl` is not installed on the system
196 - Fix warnings happening when updating from legacy SebSauvage version
198 ## [v0.9.4](https://github.com/shaarli/Shaarli/releases/tag/v0.9.4) - 2018-01-30
200 - Enable translations: Shaarli is now also available in French. Other language translations are welcome!
201 - Add EditorConfig configuration
202 - Add favicons for mobile devices
203 - Add Alpine Linux arm32v7 Dockerfiles (master, latest)
206 - Do not write bookmark edition history during file imports (performance)
207 - Migrate Docker images (master, latest) to Alpine Linux
208 - Improve unitary tests and code coverage
209 - Improve thumbnail display
210 - Improve theme ergonomics
211 - Improve messages if there is no plugin or parameter available in the admin page
212 - Increase buffer size for cURL download
213 - Force HTTPS if the original port is 443 behind a reverse proxy (workaround)
214 - Improve page title retrieval performances
217 - Remove redirector setting from Configure page
220 - Fix broken links in the documentation
221 - Enable access to `data/user.css` (Apache 2.2 & 2.4)
222 - Don't URL encode description links if parameter `redirector.encode_url` is set to false
223 - Fix an issue preventing the Save button to appear for plugin parameters
226 ## [v0.9.3](https://github.com/shaarli/Shaarli/releases/tag/v0.9.3) - 2018-01-04
227 **XSS vulnerability fixed. Please update.**
230 - Fix an XSS (cross-site-scripting) vulnerability in `index.php` -
231 [CVE-2018-5249](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5249)
234 ## [v0.9.2](https://github.com/shaarli/Shaarli/releases/tag/v0.9.2) - 2017-10-07
236 **Major security issue fixed. Please update.**
239 - Tag search now supports wildcards `*`
240 - New setting `privacy.force_login` which can be used with `privacy.hide_public_links` to redirect anonymous users to the login page.
241 - New setting `general.default_note_title` used to override default `Note:` title prefix for notes.
242 - Add a version hash for asset loading to prevent browser's cache issue
245 - The "Remember me" checkbox is unchecked by default
246 - The default value of the "Remember me" checkbox can be configured under `data/config.json.php`
249 - Remove obsolete PHP magic quote support
252 - Generates a permalink URL if the URL is set to blank
253 - Replace links to the old GitHub wiki with ReadTheDocs URIs
254 - Use single quotes in the note bookmarklet
255 - Daily page if there is no link
256 - Bulk link deletion with a single link
257 - HTTPS detection behind a reverse proxy
258 - Travis tests environment and localization
259 - Improve template paths robustness (trailing slash)
260 - Robustness: safer gzinflate/zlib usage
261 - Description links parsing with parenthesis (without Markdown)
263 - Sort the tag cloud alphabetically
264 - Firefox social title
265 - Improved visited link color
266 - Fix jumpy textarea with long content in post edit
270 - Fixed reflected XSS vulnerability introduced in v0.9.1, discovered by @chb9 ([CVE-2017-15215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15215)).
273 ## [v0.9.1](https://github.com/shaarli/Shaarli/releases/tag/v0.9.1) - 2017-08-23
275 The documentation has been migrated to ReadTheDocs:
276 - https://shaarli.readthedocs.io/
277 - edits are submitted as pull requests
280 - Allow bulk link deletion
281 - Display subtags in the tag cloud
282 - Add an endpoint to refresh the token
283 - Add a token on every page
284 - Add a tag list view for management
285 - Add Note bookmarklet
286 - Add creation date when editing a link
290 - Generate static HTML documentation with [mkdocs](http://www.mkdocs.org/)
291 - Host documentation on [ReadTheDocs](http://www.mkdocs.org/)
292 - Update documentation structure
293 - Update Makefile targets to:
294 - Build the docs locally
295 - Include the generated docs in the release archives
297 - Use the new theme as the default
298 - Rename the tag cloud template to `tag.cloud.html`
299 - Display visited links in grey
300 - Use only one search form in `linklist.html`
301 - Hide the "search links with these tags" option when an empty `searchtags` is passed to `tag.list.html`
302 - Improve HTTP header handling when hosting Shaarli with Docker behind a reverse proxy
303 - Searching for tags with an empty value returns untagged links only
304 - Set Travis environment to `precise` until the new `trusty` environment is ready
307 - Remove dead Pubsubhubbub code
308 - Disable the GitHub wiki (see changed/documentation)
309 - Remove Docker `dev` image and resources
311 - Remove the bottom "Sort by" menu in `tag.list.html`
314 - Fix file existence check for `user.css`
315 - Limit selection to 2k characters when using the bookmarklet
316 - Fix JS error `uncaught type error`
317 - Fix Firefox Social button
318 - Use pinned PHP dependencies when generating release archives
319 - Make sure that the tag exists before altering/removing it
322 - Add a whitelist for protocols for URLs
325 ## [v0.9.0](https://github.com/shaarli/Shaarli/releases/tag/v0.9.0) - 2017-05-07
327 This release introduces the REST API, and requires updating HTTP server
328 configuration to enable URL rewriting, see:
329 - https://shaarli.github.io/api-documentation/
330 - https://shaarli.readthedocs.io/en/master/Server-configuration/
332 **WARNING**: Shaarli now requires PHP 5.5+.
336 - [Slim](https://www.slimframework.com/) framework
337 - [JSON Web Token](https://jwt.io/introduction/) (JWT) authentication
338 - versioned API endpoints:
339 - `/api/v1/info`: get general information on the Shaarli instance
340 - `/api/v1/links`: get a list of shaared links
341 - `/api/v1/history`: get a list of latest actions
343 - Introduce a new theme
344 - Allow selecting themes/templates from the configuration page
345 - New/Edit link form can be submitted using CTRL+Enter in the textarea
346 - Shaarli version is displayed in the footer when logged in
347 - Add plugin placeholders to Atom/RSS feed templates
348 - Add OpenSearch to feed templates
349 - Add `campaign_` to the URL cleanup pattern list
350 - Add an AUTHORS file and Makefile target to list authors from Git commit data
351 - Link imports are now logged in `data/` folder, and can be debug using `dev.debug=true` setting.
352 - `composer.lock` is now included in git file to allow proper `composer install`
353 - History mechanism which logs link addition/modification/deletion
356 - Docker: enable nginx URL rewriting for the REST API
358 - Move `user.css` to the `data` folder
359 - Move default template files to a subfolder (`default`)
360 - Rename the legacy theme to `vintage`
361 - Private only filter is now displayed as a search parameter
362 - Autocomplete: pre-select the first element
363 - Display daily date in the page title (browser title)
364 - Timezone lists are now passed as an array instead of raw HTML
365 - Move PubSubHub to a dedicated plugin
367 - explicit method visibility
368 - safe boolean comparisons
369 - remove unused variables
370 - The updater now keeps custom theme preferences
371 - Simplify the COPYING information
372 - Improved client locale detection
373 - Improved date time display depending on the locale
374 - Partial namespace support for Shaarli classes
375 - Shaarli version is now only present in `shaarli_version.php`
376 - Human readable maximum file size upload
380 - PHP < 5.5 compatibility
381 - ReadItYourself plugin
384 - Ignore generated release tarballs
385 - Hide default port when behind a reverse proxy
386 - Fix a typo in the Markdown plugin description
387 - Fix the presence of empty tags for private tags and in search results
388 - Fix a fatal error during the install
389 - Fix permalink image alignment in daily page
390 - Fix the delete button in `editlink`
391 - Fix redirection after link deletion
392 - Do not access LinkDB links by ID before the Updater applies migrations
393 - Remove extra spaces in the bookmarklet's name
394 - Piwik plugin: Piwik URL protocol can now be set (http or https)
395 - All inline JS has been moved to dedicated JS files
396 - Keep tags after login redirection
399 - Markdown plugin: escape HTML entities by default
402 ## [v0.8.7](https://github.com/shaarli/Shaarli/releases/tag/v0.8.7) - 2018-06-20
404 - Build the Docker image from the local Git sources
407 - Disable PHP 5.3 Travis build (unsupported)
410 ## [v0.8.6](https://github.com/shaarli/Shaarli/releases/tag/v0.8.6) - 2018-02-19
412 - Run version check tests against the 'stable' branch
415 ## [v0.8.5](https://github.com/shaarli/Shaarli/releases/tag/v0.8.5) - 2018-01-04
416 **XSS vulnerability fixed. Please update.**
419 - Fix an XSS (cross-site-scripting) vulnerability in `index.php` -
420 [CVE-2018-5249](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5249)
422 ## [v0.8.4](https://github.com/shaarli/Shaarli/releases/tag/v0.8.4) - 2017-03-04
424 - Markdown plugin: escape HTML entities by default
426 ## [v0.8.3](https://github.com/shaarli/Shaarli/releases/tag/v0.8.3) - 2017-01-20
428 - PHP 7.1 compatibility: add ConfigManager parameter to anti-bruteforce function call in login template.
430 ## [v0.8.2](https://github.com/shaarli/Shaarli/releases/tag/v0.8.2) - 2016-12-15
433 - Editing a link created before the new ID system would change its permalink.
435 ## [v0.8.1](https://github.com/shaarli/Shaarli/releases/tag/v0.8.1) - 2016-12-12
437 > Note: this version will create an automatic backup of your database if anything goes wrong.
440 - Add CHANGELOG.md to track the whole project's history
441 - Enable Composer cache for Travis builds
442 - Save the last edition date for shaares and use it in Atom/RSS feeds
444 - Add an [Isso](https://posativ.org/isso/) plugin to enable user comments on permalinks
445 - Allow defining init functions, e.g. for performing checks and error processing
446 - Add a Piwik plugin for analytics.
447 - Markdown: add warning notice regarding HTML rendering
448 - Meta tag to *not* send the referrer to external resources.
451 - Link ID complete refactoring:
452 - Links now have a numeric ID instead of dates
453 - Short URLs are now created once and can't change over time (previous URL are kept)
455 - Changed placeholder behaviour for: `buttons_toolbar`, `fields_toolbar` and `action_plugin`
456 - Cleanup `{loop}` declarations in templates
457 - Tools: hide Firefox Social button when not in HTTPS
458 - Firefox Social: show Shaarli's title when shaaring using Firefox Social
459 - Release archives now have the same structure as GitHub-generated archives:
460 - archives contain a `Shaarli` directory, itself containing sources + dependencies
461 - the tarball is now gzipped
463 - Markdown: Parsedown library is now imported through Composer
464 - Minor code cleanup: PHPDoc, spelling, unused variables, etc.
465 - Docker: explicitly set the maximum file upload size to 10 MiB
468 - Fix the server `<self>` value in Atom/RSS feeds
470 - Tools: only display parameter description when it exists
471 - archive.org: do not propose archival of private notes
473 - render links properly in code blocks
474 - bug regarding the `nomarkdown` tag
476 - Use absolute URL for hashtags in RSS and ATOM feeds
477 - Docker: specify the location of the favicon
478 - ATOM feed: remove new line between content tag and data
481 - Allow whitelisting trusted IPs, else continue banning clients upon login failure
484 ## [v0.8.0](https://github.com/shaarli/Shaarli/releases/tag/v0.8.0) - 2016-10-12
485 Shaarli now uses [Composer](https://getcomposer.org/) to handle its dependencies.
486 Please use our release archives, or follow the
487 [installation documentation](https://github.com/shaarli/Shaarli/wiki/Download-and-Installation).
490 - Composer is required to resolve Shaarli's PHP dependencies
491 - Shaarli now supports `#hashtags`
492 - Firefox social share now uses selected text as a description
493 - Plugin parameters can have a description in each plugin's `.meta` file
496 - Configuration is now stored as a JSON file
497 - Previous configuration format will be automatically updated (PHP -> JSON)
498 - Shaarli now defaults to cURL to fetch shaare titles
499 - URL cleanup: remove `PHPSESSID` parameter
500 - `nomarkdown` tag is no longer private, and now affects visitors
501 - Cleanup template indentation
502 - Rewrite bookmark import using a generic Netscape parser
505 - Shaarli no longer references Delicious in its description
508 - Shaarli configuration is not held as PHP globals anymore
511 - Ignore case for tags in autocompletion and cloud tag
512 - Avoid generating empty tags
513 - Fix a Dockerfile syntax error
516 - Fixed a bug preventing to change password
517 - XSRF token now generated each time a page is rendered
520 ## [v0.7.1](https://github.com/shaarli/Shaarli/releases/tag/v0.7.1) - 2017-03-08
522 - Markdown plugin: escape HTML entities by default
524 ## [v0.7.0](https://github.com/shaarli/Shaarli/releases/tag/v0.7.0) - 2016-05-14
526 - Adds an option to encode redirector URL parameter
527 - Atom/RSS feeds now support Markdown formatting, and plugins in general
528 - Markdown: use the tag `.nomarkdown` to avoid markdown processing
529 - Prefill the login field when the authentication has failed
530 - Show a private links counter
533 - Allow to use the bookmarklet in Firefox reader view (URL clean up)
534 - Improve tagcloud font size
535 - Improve title retrieving
536 - Markdown: inline code background color
537 - Refactor Netscape bookmark export
538 - Refactor Atom/RSS feed generation
541 - Remove delicious from Shaarli description
544 - Fix bad login redirections causing a 404 in a few cases
545 - Fix tagcloud font-size with French locale
546 - Don't display empty tags in tag search
547 - Fix Awesomeplete conflicts with jQuery
548 - Fix UTC timezone selection
549 - Fix a bug preventing to import notes in browsers from bookmarks export
550 - Don't redirect to ?post if ?addlink is reached while logged out
553 ## [v0.6.5](https://github.com/shaarli/Shaarli/releases/tag/v0.6.5) - 2016-03-02
555 - Fixes a regression generating an unnecessary warning (language in HTTP request)
556 - Fixes a bug where going through multiple reverse proxy could generate malformed URL
557 - Markdown: Fixes a bug where empty description blocks were displayed
560 ## [v0.6.4](https://github.com/shaarli/Shaarli/releases/tag/v0.6.4) - 2016-02-28
562 - Add an updater class to automate user data upgrades
563 - Plugin admin page: adds a label for checkboxes and improve name display
564 - Plugin Wallabag: API version can be specified in plugin admin page
567 - Better tag cloud sorting, including special chars (`a > E > é > z`)
568 - Autolocale now sets all locale categories, not just time
569 - Use PHP's DateTime object instead of custom functions
570 - Plugin hooks: process includes before header/footer
571 - Markdown plugin: better styles for `<code>` and `<pre>` tags
573 - search terms are now considered separated and won't only return exact results anymore
574 - exact search can be done with quotes `"this exact sentence"`
575 - search supports excluded terms starting a dash `-exclude`
576 - implement crossed search: terms + tags
577 - all of them combined across all shaare fields
579 - tags starting with a dash will be renamed without it
580 - tags starting with a dot `.` will be hidden unless the user is logged in
583 - Fix Markdown plugin escape issues (code/quote blocks, etc.)
584 - Link description aren't trimmed anymore to allow markdown format at the beginning of a shaare
585 - Fixes plugin admin redirection page on error
588 - Fix a bug where non initialized variables were causing a warning
589 - Fix a bug where saving a link after edit could cause a 404 error
592 ## [v0.6.3](https://github.com/shaarli/Shaarli/releases/tag/v0.6.3) - 2016-01-31
594 - Plugins administration page
595 - Markdown plugin added for shaares description
596 - Docker: Dockerfile is now in the main git repository and improved
597 - Add a `.gitattributes` to ease repository management
598 - Travis: include file permission checks
601 - Auto retrieve of title know works with websites (HTTPS, follow redirections, etc.)
602 - 404 page is now handled in a template
603 - Date in log files updated to work with fail2ban
604 - Wallabag: support of Wallabag v2 and minor fixes
605 - Link search refactoring
606 - Logging function refactoring
609 - Fix a bug where renaming a tag was causing a 404
610 - Fix a bug allowing to search blank terms
611 - Fix a bug preventing to remove a tag with special chars when searching
614 ## [v0.6.2](https://github.com/shaarli/Shaarli/releases/tag/v0.6.2) - 2015-12-23
616 - Plugins: new footer hook
617 - Plugins: improve QR code
621 - Plugins: use the actual link URL to generate QR codes
622 - Templates: missing/erroneous page titles
623 - Templates: missing variables resulting in PHP errors
626 - Fix invalid file permissions (remove executable bit)
629 ## [v0.6.1](https://github.com/shaarli/Shaarli/releases/tag/v0.6.1) - 2015-12-01
631 - Add OpenSearch support
632 - Add a Doxygen makefile target
633 - Tools: add fine-grained file/directory permission checks (installation)
636 - Tools: check the 'stable' branch for new versions (updates)
637 - Cleanup: introduce an `ApplicationUtils` class
640 - Cleanup: remove `json_encode()` function (built-in since PHP 5.2)
643 - Auto-complete more than one tag
644 - Bookmarklet: support titles containing quotes
645 - URL encode links when setting a redirector
648 ## [v0.6.0](https://github.com/shaarli/Shaarli/releases/tag/v0.6.0) - 2015-11-18
650 - Introduce a plugin system
664 - Adding a new link now returns the correct anchor in the URL
665 - Set default file permissions
668 ## [v0.5.4](https://github.com/shaarli/Shaarli/releases/tag/v0.5.4) - 2015-09-15
670 - HTTPS: support being served behing an SSL-enabled proxy
673 - HTTP/Server utilities: refactor & add test coverage
674 - Project & documentation:
675 - improve/rewrite `README.md`
676 - update contributor list
677 - update `index.php` header
680 - PHP session IDs: handle hash algorithms and bits per char representations
683 ## [v0.5.3](https://github.com/shaarli/Shaarli/releases/tag/v0.5.3) - 2015-09-02
685 - Fix a bug that could prevent user to login
688 ## [0.5.3](https://github.com/shaarli/Shaarli/releases/tag/0.5.3) - 2015-09-02
689 This release has been YANKED as it points to a tag that does not follow our naming convention. Please use `v0.5.3` instead
692 - Allow uppercase letters in PHP sessionid format
695 ## [v0.5.2](https://github.com/shaarli/Shaarli/releases/tag/v0.5.2) - 2015-08-31
697 - Add PHP 7 to Travis platforms
700 - Also extract HTTPS page metadata (title)
703 - Fix regression preventing to load LinkDB info when adding an existing link
706 - Fix Full Path Disclosure upon cookie forgery
709 ## [v0.5.1](https://github.com/shaarli/Shaarli/releases/tag/v0.5.1) - 2015-08-17
711 - Add a link to the shaarli/shaarli DockerHub repository
714 - Update local documentation
715 - Improve timezone detection at installation
716 - Improve feed cache handling
717 - Improve URL cleanup for new links
720 - Fix 404 after editing a link while being logged out
723 ## [v0.5.0](https://github.com/shaarli/Shaarli/releases/tag/v0.5.0) - 2015-07-31
725 - Add Firefox Social API
726 - Start code refactoring:
727 - add unit test coverage
728 - add Travis integration
731 - Search/Filter by tag fieds can now be accessed quickly with the `Tab` key
732 - Update documentation
733 - Remove duplicate tags in links
734 - Remove annoying URL patterns
735 - Start code refactoring:
736 - move all settings to `data/config.php`
737 - refactor Config, LinkDB, TimeZone, Utils
740 - Fix locale handling
742 - Fix page redirections
743 - Fix daily RSS browsing
745 - Restore compatibility with PHP 5.3
748 - Fix links not being hidden when `HIDE_PUBLIC_LINKS` is set
751 ## [v0.0.45beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.45beta) - 2015-03-16
753 - Fix improperly displayed Unicode character
754 - Fix incorrect font size for "Add link" input field
757 ## [v0.0.44beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.44beta) - 2015-03-15
759 - Add a Makefile to run static code checkers
760 - Add local documentation (help link in page footer)
761 - Use awesomplete library for autocompletion
762 - Use bLazy.js library for images lazy loading
763 - New 'Add Note' bookmarklet to immediatly open a note (text post) compose window
766 - Theme improvements and cleanup (menu, search fields, icons, linklist...)
767 - Allow 'javascript:' links sharing (bookmarklets)
768 - Make update check optional
769 - Redirect to homepage after adding a link via "Add Link" dialog
770 - Remove more annoying URL parameters for shared links
777 - Don't disclose version to visitors (shaarli-version.txt)
780 ## [v0.0.43beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.43beta) - 2015-02-20
782 - Title button link URL is now configurable
783 - RainTPL's TMP and TPL directories path are now configurable
784 - Displayed URLs for each link are now clickable links
785 - Show links timestamps in Daily view
788 - Automatically prepend "Note:" to title of self-posts (posts not pointing to an URL)
789 - Make ATOM toolbar button optional (`SHOW_ATOM` configuration variable)
790 - Optional archive.org links for each Shaarli link (`ARCHIVE_ORG` option)
791 - Thumbnails: force HTTPS when possible
792 - Improve tag cloud font scaling
793 - Allow pointing RSS items to the permalink instead of the direct URL (`ENABLE_RSS_PERMALINKS` option)
794 - Update JS libraries and add version numbers in filenames
795 - Updates to README and footer
798 - Fix problems when running Shaarli behind a reverse proxy (invalid RSS feed URL)
799 - Update check now checks against the community fork version
800 - Include `cache/`, `data/`, `pagecache/` and `tmp/` directories in the repository
801 - Fix duplicate tag search returning no results
802 - Fix unnecessary 404 error on "Add link" when the user is logged out
803 - Fixes to copyright/licensing information and unlicensed media
804 - Fixes for tag cloud invalid links
805 - Coding style fixes/cleanup
806 - Fix redirection after deleteing a link leading to a 404 error
807 - Shaarli's HTML is now W3C-compliant
808 - Search now works with Unicode characters
811 - Do not leak server's PHP version and Shaarli's full path on errors
812 - Prevent Shaarli from sending a lot of duplicate cookies
815 ## [v0.0.42beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.42beta) - 2014-07-27
817 - Add QRCode Javascript library
818 - Allow importing bookmarks with the same timestamp (hack)
819 - Allow putting a description in the bookmarklet URL
820 - Add `json_encode()` implementation for PHP<5.2
821 - Highlight search results
824 - Improve 'Stay signed in' behaviour
825 - Improve `smallHash()`
826 - Refactor QRCode generation
827 - Update Javascript lazyloading
831 - Remove jQuery from almost all pages
834 - Fix overlapping tags
835 - Fix field foxus in the bookmarklet
836 - Fix error message when `data/` is not writable
837 - Fix HTML generation
843 ## [v0.0.41beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.41beta) - 2013-03-08
845 - Add HTTPS to the allowed protocols
846 - Add support for magnet links in link descriptions
847 - Allow creating new links as private by default
848 - Allow disabling jQuery
849 - Check write permissions
850 - Check session support before installation
853 - Improve token security
854 - RSS feed: allow inverting links/permalinks
857 - Fix display issues during installation
858 - Fix popup redirection after login failure
859 - Fix RSS formatting for Thunderbird
860 - Fix thumbnail creation
864 - Fix login issue with WebKit browsers
867 ## [v0.0.40beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.40beta) - 2013-02-26
868 Initial release on GitHub.
871 ## [v0.0.40beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-08-24
873 - Flickr thumbnail now also support albums, galleries and users
874 - Add a configuration option to disable session cookie protection
875 Check this if your get disconnected often or your IP address changes often
878 - Removed the xml comment in cached RSS/ATOM feed
879 (although W3C-compliant, this may cause problems in some feed readers)
882 - A bug in the RSS cache would present old items as new in some cases
883 - A small bug (non-initialized variable) in page cache cleaning
884 - Proper "Nothing found" message when search returns no results
885 - No more 404 error when searching with empty input
886 - Flickr thumbnails are back (Flickr has made some changes to their domains)
888 ## [v0.0.39beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-08-10
890 - A cache for RSS feed, ATOM feed and Daily RSS feed, because these URLs
891 are massively hammered. Cache is automatically purged whenever the database
892 is changed. This will reduce server load. I may add cache to other pages later.
895 - No more global `$LINKSDB` (Yuk)
896 - Background color was removed when hovering a link
899 - Small bug corrected in config screen on timezones
900 - Calling a non-existing permalink now returns a crude 404 error instead of 200 (OK)
901 This is done on purpose
902 - The `shaarli` session cookie now has a proper path
903 Thus you can now install several Shaarlis on the same server in different paths,
904 and each will have its session
905 - Now when you delete a link, you go back the same page/search parameters you were on
906 - Restore previously removed `error_get_last()`, to ensure PHP 5.1 compatibility
907 (Yes, now it works on free.fr hosting)
908 - Added `dialog=1` in bookmarklet code for some browsers
911 ## [v0.0.38beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-02-06
913 - Automatic creation of the `tmp` directory with proper rights (for RainTPL)
914 - When you click the key to see only private links, it turns yellow
917 - The "Daily" page now automatically skips empty days.
920 - Corrected the tag encoding (there was a bug when selecting a second tag which contains accented characters)
923 ## [v0.0.37beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-02-01
925 - Basic CSS for mobiles, which makes Shaarli //much// more usable on mobile devices
926 - Picture wall no more instantly kills your browser. Now it uses
927 [lazy image loading](http://www.appelsiini.net/projects/lazyload);
928 the pictures are loaded only as you scroll the page.
929 This will reduce browser memory usage (especially on mobile devices),
930 as well as server load.
931 If you have javascript disabled, the page will still work as before
932 (all images loaded at once)
933 - RSS feed for the "Daily" page. 1 RSS entry per day, with all links of that day.
934 RSS feed provides the last 7 days (only non-empty days are returned).
935 - In link list, added an icon to see only private links. Click to toggle (only private / all)
938 ## [v0.0.36beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-25
940 - Shaarli licence in COPYING
943 - Display adjustments in "Daily" page
946 - Improper text color in install form
947 - Error in QRCode url (missing '?')
950 ## [v0.0.35beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-25
952 - Corrected a bug introduced in 0.0.34 which would improperly preprend data to URLs
955 ## [v0.0.34beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-25
957 - There is now a QR-Code of each permalink to easily open a link on your smartphone
958 - Protocols `file:` and `apt:` are now also converted to clickable links (patch by Francis Chavanon)
959 - Thumbnail support for http://xkcd.com/ (patch by Emilien Klein)
960 - Thumbnail support for http://pix.toile-libre.org/
961 - Well I had _some_ mercy for users with antique browsers (IE) which do not have
962 support for gradients: I added a few `background-color`
963 - First version of the "Shaarli Daily", a page showing all links of a specific day.
964 By default, you see the links of the previous day.
965 There is still work to do on this page (error checking, better navigation (calendar?),
966 RSS feed, CSS for mobile and printing...)
969 - Upgraded bundled versions of jQuery (1.7.1) and jQuery UI (1.8.17)
970 - Upgraded bundled version of RainTPL (2.7)
971 - Changed HTTPS detection code
974 - In link edition, you can now click the word "Private" to check the box
975 - Clicking a tag would not work properly if the tag contained special characters (like +)
976 - Added proper jQuery licence (shame on me)
979 ## [v0.0.33beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-17
981 - Shaarli packaged to ease Linux distributions integration
982 As a simple user, you do not need to cope with these versions
983 Future releases of Shaarli will also be customized and published in these directories
984 Differences with the standard Shaarli version:
986 - .tar.gz instead of .zip
987 - COPYING licence file added
988 - jQuery/jQuery-UI libraries removed to cope with Debian rules
989 This version links to the libs hosted at http://code.jquery.com
991 - sources located in a subdirectory with the same name as the zip file
992 - COPYING licence file added
993 - WARNING: When downloading the .tar.gz, always use wget (and not your browser),
994 otherwise the .tar.gz will be corrupted
997 - ATOM feed validates again
1000 - XSS vulnerability patched (thanks to Stanislas D.!)
1003 ## [v0.0.32beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-12-16
1005 - Better check on URL parameters (patch by gege2061)
1006 - Add `max-height` and `overflow:auto` attributes so that content can be scrolled if too large
1009 - HTML generation moved to RainTPL templates (in the `tpl/` directory)
1010 - Better detection of HTTPS (patch by gege2061)
1011 - In RSS/ATOM feeds, the GUID is now the permalink instead of the final URL (patch by gege2061)
1012 - Jerrywham CSS patch included
1013 - Multiple spaces are now respected in description.
1014 Thus you can use Shaarli as a personal pastebin (for posting source code, for example).
1017 - Page time generation was removed
1020 - Tab order changed in login screen
1021 - Permalinks now work even if additional parameters have been added
1022 (e.g. `/?E8Yj2Q&utm_source=blablabla...`)
1023 - user.css is included only if the file is present
1024 (This prevents a useless CSS include which makes a harmless but useless 404 error.)
1027 ## [v0.0.31beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-29
1029 - Support for TED Talks (ted.com/talks) thumbnails (patch by Emilien K.)
1030 - partial [patch](http://www.idleman.fr/blog/?p=508) by Idleman: Better design consistency, icon on private links. In-page popup was not included because it causes problem on some websites
1031 - Support for bookmark files without ADD_DATE attributes
1033 - `user.css` can be added to overload Shaarli base CSS.(patch by Jerrywham).
1034 Just put `user.css` in the same directory as shaarli.css.
1035 Example: `<code css>#pageheader { background: blue; }</code>`
1036 Please note that Shaarli CSS are not stable and may completely change on each version
1039 - Edit and Delete buttons in link list were replaced with icons. (patch by Jerrywham)
1042 - Better error handling in thumbnail generation (patch by Emilien K.)
1043 - The top menu is no longer displayed in bookmarklet popup
1044 - Bookmark which have the exact same date/time are now correctly imported.
1045 Most remaining import problems should be solved now
1046 - Comment in Shaarli export moved to beginning of file to prevent clash with last link description
1049 ## [v0.0.30beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-18
1051 - Add a small `delete` button in link list (after the `edit` button)
1054 - Moved the call to PubSubHub
1057 ## [v0.0.29beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-18
1059 - Corrected a bug introduced in v0.0.28beta
1060 (there was an error if you use the bookmarklet and you're not logged in)
1063 ## [v0.0.28beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-17
1065 - Thumbnail support for youtu.be URLs (YouTube short url service)
1066 - PubSubHub protocol support (from http://aldarone.fr/les-flux-rss-shaarli-et-pubsubhubbub/).
1067 Warning: This was not tested. You need to set your hub url in
1068 `$GLOBALS['config']['PUBSUBHUB_URL']` and put the official client (`publisher.php`)
1069 in the same directory as Shaarli's `index.php`
1070 - RSS and ATOM feeds now also contain tags (in `category` tags, as per their
1071 respective specifications)
1074 - New Shaarli theme and logo by Idle (http://www.idleman.fr/blog/?p=469)
1075 - In picture wall, pictures point to Shaarli permalink instead of final URL.
1076 This way, users can read the description.
1077 - In RSS/ATOM feeds, guid and link URL of permalinks are now proper absolute URLs
1078 - In RSS/ATOM feeds, URLs are now clickable
1079 - Rename `http_parse_headers()` to `http_parse_headers_shaarli()` to prevent
1080 name collision with some PHP extensions
1083 - Thumbnails removed for imgur.com/a/ URLs (Thumbnails are not available for albums on imgur)
1084 - Shaarli now correctly only tries to get thumbnails for vimeo video URLs
1085 - Fix a bug in imgur.com URLs handling that would cause some thumbnails not to appear
1086 - The search engine would not return a result if the word to search was the first in description
1087 - Extracted title is now correct if the page has two `title` html tags
1090 ## [v0.0.27beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-10-18
1092 - Add a picture wall, which can be filtered too: it will use the same filters
1093 (tags,text search) as current page when clicked.
1096 ## [v0.0.26beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-10-17
1098 - Made permalink more visible (smallHash)
1101 - Removed extras space in description when URLs are converted to clickable links
1102 - Thumbnail for subreddit imgur urls (/r/...) were corrected (thanks to Accent Grave)
1105 ## [v0.0.25beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-10-13
1107 - Better CSS for printing (thanks to jerrywham suggestion)
1108 - Allow using a redirector or anonymizing proxy for links
1109 (such as `http://anonym.to/?` to mask you `HTTP_REFERER`).
1110 Just go to `Tools > Configure > Redirector`
1111 (thanks to Accent Grave for the suggestion).
1112 - The `ENABLE_LOCALCACHE` option can be set to `false` for those who have
1113 a limited quota on their host.
1114 This will disable the local thumbnail cache.
1115 Services which require the use of the cache will have no thumbnails
1116 (vimeo, flickr, direct link to image).
1117 Other services will still have a thumbnail (youtube,imgur.com,dailymotion,imageshack.us)
1120 - Now thumbnails generated by Shaarli are croped to a height of 120 pixels
1121 - YouTube thumbnails now use `default.jpg` instead of `2.jpg` (This is usually more pertinent)
1122 - Configuration options (such as `HIDE_TIMESTAMPS`, `ENABLE_THUMBNAILS`, etc.)
1123 can now be put in a an external file so that you do not have to tweak them again
1124 when you upgrade Shaarli.
1125 Just add the file `data/options.php`.
1126 - If a single link is displayed, the page title contains the title of the link
1127 - Shaarli page title is clickable (and has the same link as "Home")
1128 - A few CSS tweaks (thanks to maethor for suggestion)
1131 - Shaarli now supports newlines in titles (thanks to dixy)
1132 - The link to the RSS feed in page header was not correct
1135 ## [v0.0.24beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1137 - Allow posting an entry without a link. (You can use Shaarli as a kind of "personal twitter")
1138 - Each Shaarli entry now has a short link (just click on the date of a link).
1139 Now you can send a link that points to a single entry in your Shaarli
1140 - In descriptions, URLs are now clickable
1141 - Thumbnails will be generated for all link pointing to .jpg/png/gif
1142 (as long as the images are less than 4 Mb and take less than 30 seconds to download)
1145 - Now thumbnails also work for imgur gallery links (/gallery/...)
1146 (Thanks to Accent Grave for the correction)
1147 - Removed useless debugging information in log
1148 - The filter in RSS/ATOM feed now works again properly (it was broken in 0.0.17beta)
1151 ## [v0.0.23beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1153 - Added thumbnail support for imageshack.us
1156 - Now you can clic the sentence "Stay signed in" to tick the checkbox (patch by Emilien)
1157 - In tag editing, comma (,) are now automatically converted to spaces
1158 - In tag editing, autocomplete no longuer suggests a tag you have already entered in the same line
1161 ## [v0.0.22beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1163 - Support for thumbnails for flickr.com
1164 - Allow staying signed in:
1165 Your session will be kept open even if you close the browser.
1166 This is available through a checkbox in the login screen.
1169 - Some hosts (flickr, vimeo) are slow as hell for the thumbnails,
1170 or require an extra HTTP request.
1171 For these hosts the thumbnail generation has been deported outside the generation
1172 of the page to keep Shaarli snappy.
1173 For these slow services, the thumbnails are also cached.
1176 - Title was not properly passed if you had to login when using the bookmarklet (patch by shenshei)
1179 ## [v0.0.21beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1181 - Thumbnails for some services
1182 Currently supports: YouTube.com, dailymotion.com, vimeo.com (slow!) and imgur.com.
1183 Thumbnails are enabled by default, but you can turn them off
1184 (set `define('ENABLE_THUMBNAILS',true);` to `false`).
1187 - Removed the focus on the searchbox (this is cumbersome when you want to browse pages
1188 and scroll with the keyboard)
1191 ## [v0.0.20beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1193 - RSS feed is now served as `application/rss+xml` instead of `application/xhtml+xml`
1194 (which was causing problem in //RSS Lounge//)
1195 - ATOM feed is now served as `application/atom+xml` instead of `application/xhtml+xml`
1198 ## [v0.0.19beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1203 - Patch by Emilien to remove the update notification after the update
1206 ## [v0.0.18beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1208 - You can now configure the title of your page
1209 - New screen to configure title and timezone
1212 - Nicer timezone selection patch by killruana
1215 - New lines now appear correctly in the RSS feed descriptions.
1218 ## [v0.0.17beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1220 - Change password screen added (based on a patch by killruana)
1221 - Autocomplete in the tag search form
1222 - You can rename or delete a tag in all links
1223 (very handy if you misspelled a tag or want to merge tags)
1224 - When you click the RSS feed, the feed will be filtered with the same filters
1225 as the page you were viewing
1228 - CSS adjustments by jerrywham
1232 ## [v0.0.16beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1234 - Upgrade notification:
1235 If a new version of Shaarli is available, you will be notified by a discreet
1236 message in top-right corner.
1237 This message will only be visible if you are logged in, and the check will be
1238 performed at most once a day.
1239 - Preliminary tag cloud (ugly for the moment, I need to find something better)
1242 - Replaced `preg_match()` with `version_compare()` to check PHP version
1243 - Includes a patch by Emilien K. to mask dates if user is not logged in.
1244 The option can be activated by changing `define('HIDE_TIMESTAMPS',false);` to `true`
1247 ## [v0.0.15beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1249 - New in import: Option to overwrite existing links when importing
1250 - On free.fr, automatic creation of the `/sessions` directory
1253 - CSS Stylesheet is now an external file (shaarli.css).
1254 This reduces page size and eases customization.
1257 - Removed some parameters in URL added by some feed proxies (`#xtor=RSS-...`)
1260 - Bug corrected: Prevented loop on login screen upon successful login after a failed login
1261 - Bug corrected in import: HTML entities were not properly decoded.
1262 If you imported your Delicious/Diigo bookmarks, your should import them again
1263 and use the 'overwrite' option of the import feature.
1266 ## [v0.0.14beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1268 - You no longer need to disable `magic_quotes` on your host.
1269 Shaarli will cope with this option beeing activated.
1272 ## [v0.0.13beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1274 - Import: New option to import html bookmark file as private links
1275 - Import: Importing a bookmark file will not overwrite existing links anymore
1276 - Export: New options to export only public or private links
1279 - In tag autocomplete, tags are presented in use order
1280 (most used tags first, instead of alphabetical order)
1281 - RSS Feed can now be filtered by tags or fulltext search. Just add to the feed url:
1282 - `&searchtags=minecraft+video` for tag filtering
1283 - `&searchterm=portal` for fulltext search to the feed url
1286 ## [v0.0.12beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1288 - Add a check that the config file was properly created
1289 (in case Shaarli does not have the write rights in its folder)
1290 - Open Shaarli: there is an option to open your Shaarli to anyone.
1291 Anybody will be able to add/edit/delete links without having to login.
1292 In code, change `define('OPEN_SHAARLI',false);` to `true`.
1293 Note: No anti-spam for the moment. You are warned!
1294 - Autocomplete for tags
1297 ## [v0.0.11beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1299 - Add a check and a warning for some hosts which still have `magic_quotes` activated
1302 ## [v0.0.10beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1304 - Get rid of `"` in titles
1307 ## [v0.0.9beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1309 - Now works on hosts `free.fr` and `1and1`
1310 - Now works with PHP 5.1
1311 - PHP version is now checked and an error message is displayed if version is not correct
1314 - No more error messages if the browser does not send `HTTP_REFERER`
1315 - No more error messages if the host has disabled http protocol in PHP config (eg. 1and1)
1318 ## [v0.0.8beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1320 - In RSS feed, GUID content replaced with the URL of the link, because some
1321 stupid RSS reader (like Google Reader) use `<guid>` as a link instead of using `<link>`
1324 ## [v0.0.7beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-09-16
1325 First public release by Sebsauvage, see original article:
1326 [Adieu Delicious, Diigo et StumbleUpon. Salut Shaarli !](http://sebsauvage.net/rhaa/index.php?2011/09/16/09/29/58-adieu-delicious-diigo-et-stumbleupon-salut-shaarli-) (FR)