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/).
8 ## [v0.9.0](https://github.com/shaarli/Shaarli/releases/tag/v0.9.0) - 2017-05-07
10 This release introduces the REST API, and requires updating HTTP server
11 configuration to enable URL rewriting, see:
12 - https://shaarli.github.io/api-documentation/
13 - https://github.com/shaarli/Shaarli/wiki/Server-configuration
15 **WARNING**: Shaarli now requires PHP 5.5+.
19 - [Slim](https://www.slimframework.com/) framework
20 - [JSON Web Token](https://jwt.io/introduction/) (JWT) authentication
21 - versioned API endpoints:
22 - `/api/v1/info`: get general information on the Shaarli instance
23 - `/api/v1/links`: get a list of shaared links
24 - `/api/v1/history`: get a list of latest actions
26 - Introduce a new theme
27 - Allow selecting themes/templates from the configuration page
28 - New/Edit link form can be submitted using CTRL+Enter in the textarea
29 - Shaarli version is displayed in the footer when logged in
30 - Add plugin placeholders to Atom/RSS feed templates
31 - Add OpenSearch to feed templates
32 - Add `campaign_` to the URL cleanup pattern list
33 - Add an AUTHORS file and Makefile target to list authors from Git commit data
34 - Link imports are now logged in `data/` folder, and can be debug using `dev.debug=true` setting.
35 - `composer.lock` is now included in git file to allow proper `composer install`
36 - History mechanism which logs link addition/modification/deletion
39 - Docker: enable nginx URL rewriting for the REST API
41 - Move `user.css` to the `data` folder
42 - Move default template files to a subfolder (`default`)
43 - Rename the legacy theme to `vintage`
44 - Private only filter is now displayed as a search parameter
45 - Autocomplete: pre-select the first element
46 - Display daily date in the page title (browser title)
47 - Timezone lists are now passed as an array instead of raw HTML
48 - Move PubSubHub to a dedicated plugin
50 - explicit method visibility
51 - safe boolean comparisons
52 - remove unused variables
53 - The updater now keeps custom theme preferences
54 - Simplify the COPYING information
55 - Improved client locale detection
56 - Improved date time display depending on the locale
57 - Partial namespace support for Shaarli classes
58 - Shaarli version is now only present in `shaarli_version.php`
59 - Human readable maximum file size upload
63 - PHP < 5.5 compatibility
64 - ReadItYourself plugin
67 - Ignore generated release tarballs
68 - Hide default port when behind a reverse proxy
69 - Fix a typo in the Markdown plugin description
70 - Fix the presence of empty tags for private tags and in search results
71 - Fix a fatal error during the install
72 - Fix permalink image alignment in daily page
73 - Fix the delete button in `editlink`
74 - Fix redirection after link deletion
75 - Do not access LinkDB links by ID before the Updater applies migrations
76 - Remove extra spaces in the bookmarklet's name
77 - Piwik plugin: Piwik URL protocol can now be set (http or https)
78 - All inline JS has been moved to dedicated JS files
79 - Keep tags after login redirection
82 - Markdown plugin: escape HTML entities by default
84 ## [v0.8.4](https://github.com/shaarli/Shaarli/releases/tag/v0.8.4) - 2017-03-04
86 - Markdown plugin: escape HTML entities by default
89 ## [v0.8.3](https://github.com/shaarli/Shaarli/releases/tag/v0.8.3) - 2017-01-20
93 - PHP 7.1 compatibility: add ConfigManager parameter to anti-bruteforce function call in login template.
95 ## [v0.8.2](https://github.com/shaarli/Shaarli/releases/tag/v0.8.2) - 2016-12-15
99 - Editing a link created before the new ID system would change its permalink.
101 ## [v0.8.4](https://github.com/shaarli/Shaarli/releases/tag/v0.8.4) - 2017-03-04
103 - Markdown plugin: escape HTML entities by default
105 ## [v0.8.3](https://github.com/shaarli/Shaarli/releases/tag/v0.8.3) - 2017-01-20
107 - PHP 7.1 compatibility: add ConfigManager parameter to anti-bruteforce function call in login template.
109 ## [v0.8.2](https://github.com/shaarli/Shaarli/releases/tag/v0.8.2) - 2016-12-15
112 - Editing a link created before the new ID system would change its permalink.
114 ## [v0.8.1](https://github.com/shaarli/Shaarli/releases/tag/v0.8.1) - 2016-12-12
116 > Note: this version will create an automatic backup of your database if anything goes wrong.
119 - Add CHANGELOG.md to track the whole project's history
120 - Enable Composer cache for Travis builds
121 - Save the last edition date for shaares and use it in Atom/RSS feeds
123 - Add an [Isso](https://posativ.org/isso/) plugin to enable user comments on permalinks
124 - Allow defining init functions, e.g. for performing checks and error processing
125 - Add a Piwik plugin for analytics.
126 - Markdown: add warning notice regarding HTML rendering
127 - Meta tag to *not* send the referrer to external resources.
130 - Link ID complete refactoring:
131 - Links now have a numeric ID instead of dates
132 - Short URLs are now created once and can't change over time (previous URL are kept)
134 - Changed placeholder behaviour for: `buttons_toolbar`, `fields_toolbar` and `action_plugin`
135 - Cleanup `{loop}` declarations in templates
136 - Tools: hide Firefox Social button when not in HTTPS
137 - Firefox Social: show Shaarli's title when shaaring using Firefox Social
138 - Release archives now have the same structure as GitHub-generated archives:
139 - archives contain a `Shaarli` directory, itself containing sources + dependencies
140 - the tarball is now gzipped
142 - Markdown: Parsedown library is now imported through Composer
143 - Minor code cleanup: PHPDoc, spelling, unused variables, etc.
144 - Docker: explicitly set the maximum file upload size to 10 MiB
147 - Fix the server `<self>` value in Atom/RSS feeds
149 - Tools: only display parameter description when it exists
150 - archive.org: do not propose archival of private notes
152 - render links properly in code blocks
153 - bug regarding the `nomarkdown` tag
155 - Use absolute URL for hashtags in RSS and ATOM feeds
156 - Docker: specify the location of the favicon
157 - ATOM feed: remove new line between content tag and data
160 - Allow whitelisting trusted IPs, else continue banning clients upon login failure
163 ## [v0.8.0](https://github.com/shaarli/Shaarli/releases/tag/v0.8.0) - 2016-10-12
164 Shaarli now uses [Composer](https://getcomposer.org/) to handle its dependencies.
165 Please use our release archives, or follow the
166 [installation documentation](https://github.com/shaarli/Shaarli/wiki/Download-and-Installation).
169 - Composer is required to resolve Shaarli's PHP dependencies
170 - Shaarli now supports `#hashtags`
171 - Firefox social share now uses selected text as a description
172 - Plugin parameters can have a description in each plugin's `.meta` file
175 - Configuration is now stored as a JSON file
176 - Previous configuration format will be automatically updated (PHP -> JSON)
177 - Shaarli now defaults to cURL to fetch shaare titles
178 - URL cleanup: remove `PHPSESSID` parameter
179 - `nomarkdown` tag is no longer private, and now affects visitors
180 - Cleanup template indentation
181 - Rewrite bookmark import using a generic Netscape parser
184 - Shaarli no longer references Delicious in its description
187 - Shaarli configuration is not held as PHP globals anymore
190 - Ignore case for tags in autocompletion and cloud tag
191 - Avoid generating empty tags
192 - Fix a Dockerfile syntax error
195 - Fixed a bug preventing to change password
196 - XSRF token now generated each time a page is rendered
199 ## [v0.7.1](https://github.com/shaarli/Shaarli/releases/tag/v0.7.1) - 2017-03-08
201 - Markdown plugin: escape HTML entities by default
203 ## [v0.7.0](https://github.com/shaarli/Shaarli/releases/tag/v0.7.0) - 2016-05-14
205 - Adds an option to encode redirector URL parameter
206 - Atom/RSS feeds now support Markdown formatting, and plugins in general
207 - Markdown: use the tag `.nomarkdown` to avoid markdown processing
208 - Prefill the login field when the authentication has failed
209 - Show a private links counter
212 - Allow to use the bookmarklet in Firefox reader view (URL clean up)
213 - Improve tagcloud font size
214 - Improve title retrieving
215 - Markdown: inline code background color
216 - Refactor Netscape bookmark export
217 - Refactor Atom/RSS feed generation
220 - Remove delicious from Shaarli description
223 - Fix bad login redirections causing a 404 in a few cases
224 - Fix tagcloud font-size with French locale
225 - Don't display empty tags in tag search
226 - Fix Awesomeplete conflicts with jQuery
227 - Fix UTC timezone selection
228 - Fix a bug preventing to import notes in browsers from bookmarks export
229 - Don't redirect to ?post if ?addlink is reached while logged out
232 ## [v0.6.5](https://github.com/shaarli/Shaarli/releases/tag/v0.6.5) - 2016-03-02
234 - Fixes a regression generating an unnecessary warning (language in HTTP request)
235 - Fixes a bug where going through multiple reverse proxy could generate malformed URL
236 - Markdown: Fixes a bug where empty description blocks were displayed
239 ## [v0.6.4](https://github.com/shaarli/Shaarli/releases/tag/v0.6.4) - 2016-02-28
241 - Add an updater class to automate user data upgrades
242 - Plugin admin page: adds a label for checkboxes and improve name display
243 - Plugin Wallabag: API version can be specified in plugin admin page
246 - Better tag cloud sorting, including special chars (`a > E > é > z`)
247 - Autolocale now sets all locale categories, not just time
248 - Use PHP's DateTime object instead of custom functions
249 - Plugin hooks: process includes before header/footer
250 - Markdown plugin: better styles for `<code>` and `<pre>` tags
252 - search terms are now considered separated and won't only return exact results anymore
253 - exact search can be done with quotes `"this exact sentence"`
254 - search supports excluded terms starting a dash `-exclude`
255 - implement crossed search: terms + tags
256 - all of them combined across all shaare fields
258 - tags starting with a dash will be renamed without it
259 - tags starting with a dot `.` will be hidden unless the user is logged in
262 - Fix Markdown plugin escape issues (code/quote blocks, etc.)
263 - Link description aren't trimmed anymore to allow markdown format at the beginning of a shaare
264 - Fixes plugin admin redirection page on error
267 - Fix a bug where non initialized variables were causing a warning
268 - Fix a bug where saving a link after edit could cause a 404 error
271 ## [v0.6.3](https://github.com/shaarli/Shaarli/releases/tag/v0.6.3) - 2016-01-31
273 - Plugins administration page
274 - Markdown plugin added for shaares description
275 - Docker: Dockerfile is now in the main git repository and improved
276 - Add a `.gitattributes` to ease repository management
277 - Travis: include file permission checks
280 - Auto retrieve of title know works with websites (HTTPS, follow redirections, etc.)
281 - 404 page is now handled in a template
282 - Date in log files updated to work with fail2ban
283 - Wallabag: support of Wallabag v2 and minor fixes
284 - Link search refactoring
285 - Logging function refactoring
288 - Fix a bug where renaming a tag was causing a 404
289 - Fix a bug allowing to search blank terms
290 - Fix a bug preventing to remove a tag with special chars when searching
293 ## [v0.6.2](https://github.com/shaarli/Shaarli/releases/tag/v0.6.2) - 2015-12-23
295 - Plugins: new footer hook
296 - Plugins: improve QR code
300 - Plugins: use the actual link URL to generate QR codes
301 - Templates: missing/erroneous page titles
302 - Templates: missing variables resulting in PHP errors
305 - Fix invalid file permissions (remove executable bit)
308 ## [v0.6.1](https://github.com/shaarli/Shaarli/releases/tag/v0.6.1) - 2015-12-01
310 - Add OpenSearch support
311 - Add a Doxygen makefile target
312 - Tools: add fine-grained file/directory permission checks (installation)
315 - Tools: check the 'stable' branch for new versions (updates)
316 - Cleanup: introduce an `ApplicationUtils` class
319 - Cleanup: remove `json_encode()` function (built-in since PHP 5.2)
322 - Auto-complete more than one tag
323 - Bookmarklet: support titles containing quotes
324 - URL encode links when setting a redirector
327 ## [v0.6.0](https://github.com/shaarli/Shaarli/releases/tag/v0.6.0) - 2015-11-18
329 - Introduce a plugin system
343 - Adding a new link now returns the correct anchor in the URL
344 - Set default file permissions
347 ## [v0.5.4](https://github.com/shaarli/Shaarli/releases/tag/v0.5.4) - 2015-09-15
349 - HTTPS: support being served behing an SSL-enabled proxy
352 - HTTP/Server utilities: refactor & add test coverage
353 - Project & documentation:
354 - improve/rewrite `README.md`
355 - update contributor list
356 - update `index.php` header
359 - PHP session IDs: handle hash algorithms and bits per char representations
362 ## [v0.5.3](https://github.com/shaarli/Shaarli/releases/tag/v0.5.3) - 2015-09-02
364 - Fix a bug that could prevent user to login
367 ## [0.5.3](https://github.com/shaarli/Shaarli/releases/tag/0.5.3) - 2015-09-02
368 This release has been YANKED as it points to a tag that does not follow our naming convention. Please use `v0.5.3` instead
371 - Allow uppercase letters in PHP sessionid format
374 ## [v0.5.2](https://github.com/shaarli/Shaarli/releases/tag/v0.5.2) - 2015-08-31
376 - Add PHP 7 to Travis platforms
379 - Also extract HTTPS page metadata (title)
382 - Fix regression preventing to load LinkDB info when adding an existing link
385 - Fix Full Path Disclosure upon cookie forgery
388 ## [v0.5.1](https://github.com/shaarli/Shaarli/releases/tag/v0.5.1) - 2015-08-17
390 - Add a link to the shaarli/shaarli DockerHub repository
393 - Update local documentation
394 - Improve timezone detection at installation
395 - Improve feed cache handling
396 - Improve URL cleanup for new links
399 - Fix 404 after editing a link while being logged out
402 ## [v0.5.0](https://github.com/shaarli/Shaarli/releases/tag/v0.5.0) - 2015-07-31
404 - Add Firefox Social API
405 - Start code refactoring:
406 - add unit test coverage
407 - add Travis integration
410 - Search/Filter by tag fieds can now be accessed quickly with the `Tab` key
411 - Update documentation
412 - Remove duplicate tags in links
413 - Remove annoying URL patterns
414 - Start code refactoring:
415 - move all settings to `data/config.php`
416 - refactor Config, LinkDB, TimeZone, Utils
419 - Fix locale handling
421 - Fix page redirections
422 - Fix daily RSS browsing
424 - Restore compatibility with PHP 5.3
427 - Fix links not being hidden when `HIDE_PUBLIC_LINKS` is set
430 ## [v0.0.45beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.45beta) - 2015-03-16
432 - Fix improperly displayed Unicode character
433 - Fix incorrect font size for "Add link" input field
436 ## [v0.0.44beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.44beta) - 2015-03-15
438 - Add a Makefile to run static code checkers
439 - Add local documentation (help link in page footer)
440 - Use awesomplete library for autocompletion
441 - Use bLazy.js library for images lazy loading
442 - New 'Add Note' bookmarklet to immediatly open a note (text post) compose window
445 - Theme improvements and cleanup (menu, search fields, icons, linklist...)
446 - Allow 'javascript:' links sharing (bookmarklets)
447 - Make update check optional
448 - Redirect to homepage after adding a link via "Add Link" dialog
449 - Remove more annoying URL parameters for shared links
456 - Don't disclose version to visitors (shaarli-version.txt)
459 ## [v0.0.43beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.43beta) - 2015-02-20
461 - Title button link URL is now configurable
462 - RainTPL's TMP and TPL directories path are now configurable
463 - Displayed URLs for each link are now clickable links
464 - Show links timestamps in Daily view
467 - Automatically prepend "Note:" to title of self-posts (posts not pointing to an URL)
468 - Make ATOM toolbar button optional (`SHOW_ATOM` configuration variable)
469 - Optional archive.org links for each Shaarli link (`ARCHIVE_ORG` option)
470 - Thumbnails: force HTTPS when possible
471 - Improve tag cloud font scaling
472 - Allow pointing RSS items to the permalink instead of the direct URL (`ENABLE_RSS_PERMALINKS` option)
473 - Update JS libraries and add version numbers in filenames
474 - Updates to README and footer
477 - Fix problems when running Shaarli behind a reverse proxy (invalid RSS feed URL)
478 - Update check now checks against the community fork version
479 - Include `cache/`, `data/`, `pagecache/` and `tmp/` directories in the repository
480 - Fix duplicate tag search returning no results
481 - Fix unnecessary 404 error on "Add link" when the user is logged out
482 - Fixes to copyright/licensing information and unlicensed media
483 - Fixes for tag cloud invalid links
484 - Coding style fixes/cleanup
485 - Fix redirection after deleteing a link leading to a 404 error
486 - Shaarli's HTML is now W3C-compliant
487 - Search now works with Unicode characters
490 - Do not leak server's PHP version and Shaarli's full path on errors
491 - Prevent Shaarli from sending a lot of duplicate cookies
494 ## [v0.0.42beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.42beta) - 2014-07-27
496 - Add QRCode Javascript library
497 - Allow importing bookmarks with the same timestamp (hack)
498 - Allow putting a description in the bookmarklet URL
499 - Add `json_encode()` implementation for PHP<5.2
500 - Highlight search results
503 - Improve 'Stay signed in' behaviour
504 - Improve `smallHash()`
505 - Refactor QRCode generation
506 - Update Javascript lazyloading
510 - Remove jQuery from almost all pages
513 - Fix overlapping tags
514 - Fix field foxus in the bookmarklet
515 - Fix error message when `data/` is not writable
516 - Fix HTML generation
522 ## [v0.0.41beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.41beta) - 2013-03-08
524 - Add HTTPS to the allowed protocols
525 - Add support for magnet links in link descriptions
526 - Allow creating new links as private by default
527 - Allow disabling jQuery
528 - Check write permissions
529 - Check session support before installation
532 - Improve token security
533 - RSS feed: allow inverting links/permalinks
536 - Fix display issues during installation
537 - Fix popup redirection after login failure
538 - Fix RSS formatting for Thunderbird
539 - Fix thumbnail creation
543 - Fix login issue with WebKit browsers
546 ## [v0.0.40beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.40beta) - 2013-02-26
547 Initial release on GitHub.
550 ## [v0.0.40beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-08-24
552 - Flickr thumbnail now also support albums, galleries and users
553 - Add a configuration option to disable session cookie protection
554 Check this if your get disconnected often or your IP address changes often
557 - Removed the xml comment in cached RSS/ATOM feed
558 (although W3C-compliant, this may cause problems in some feed readers)
561 - A bug in the RSS cache would present old items as new in some cases
562 - A small bug (non-initialized variable) in page cache cleaning
563 - Proper "Nothing found" message when search returns no results
564 - No more 404 error when searching with empty input
565 - Flickr thumbnails are back (Flickr has made some changes to their domains)
567 ## [v0.0.39beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-08-10
569 - A cache for RSS feed, ATOM feed and Daily RSS feed, because these URLs
570 are massively hammered. Cache is automatically purged whenever the database
571 is changed. This will reduce server load. I may add cache to other pages later.
574 - No more global `$LINKSDB` (Yuk)
575 - Background color was removed when hovering a link
578 - Small bug corrected in config screen on timezones
579 - Calling a non-existing permalink now returns a crude 404 error instead of 200 (OK)
580 This is done on purpose
581 - The `shaarli` session cookie now has a proper path
582 Thus you can now install several Shaarlis on the same server in different paths,
583 and each will have its session
584 - Now when you delete a link, you go back the same page/search parameters you were on
585 - Restore previously removed `error_get_last()`, to ensure PHP 5.1 compatibility
586 (Yes, now it works on free.fr hosting)
587 - Added `dialog=1` in bookmarklet code for some browsers
590 ## [v0.0.38beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-02-06
592 - Automatic creation of the `tmp` directory with proper rights (for RainTPL)
593 - When you click the key to see only private links, it turns yellow
596 - The "Daily" page now automatically skips empty days.
599 - Corrected the tag encoding (there was a bug when selecting a second tag which contains accented characters)
602 ## [v0.0.37beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-02-01
604 - Basic CSS for mobiles, which makes Shaarli //much// more usable on mobile devices
605 - Picture wall no more instantly kills your browser. Now it uses
606 [lazy image loading](http://www.appelsiini.net/projects/lazyload);
607 the pictures are loaded only as you scroll the page.
608 This will reduce browser memory usage (especially on mobile devices),
609 as well as server load.
610 If you have javascript disabled, the page will still work as before
611 (all images loaded at once)
612 - RSS feed for the "Daily" page. 1 RSS entry per day, with all links of that day.
613 RSS feed provides the last 7 days (only non-empty days are returned).
614 - In link list, added an icon to see only private links. Click to toggle (only private / all)
617 ## [v0.0.36beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-25
619 - Shaarli licence in COPYING
622 - Display adjustments in "Daily" page
625 - Improper text color in install form
626 - Error in QRCode url (missing '?')
629 ## [v0.0.35beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-25
631 - Corrected a bug introduced in 0.0.34 which would improperly preprend data to URLs
634 ## [v0.0.34beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-25
636 - There is now a QR-Code of each permalink to easily open a link on your smartphone
637 - Protocols `file:` and `apt:` are now also converted to clickable links (patch by Francis Chavanon)
638 - Thumbnail support for http://xkcd.com/ (patch by Emilien Klein)
639 - Thumbnail support for http://pix.toile-libre.org/
640 - Well I had _some_ mercy for users with antique browsers (IE) which do not have
641 support for gradients: I added a few `background-color`
642 - First version of the "Shaarli Daily", a page showing all links of a specific day.
643 By default, you see the links of the previous day.
644 There is still work to do on this page (error checking, better navigation (calendar?),
645 RSS feed, CSS for mobile and printing...)
648 - Upgraded bundled versions of jQuery (1.7.1) and jQuery UI (1.8.17)
649 - Upgraded bundled version of RainTPL (2.7)
650 - Changed HTTPS detection code
653 - In link edition, you can now click the word "Private" to check the box
654 - Clicking a tag would not work properly if the tag contained special characters (like +)
655 - Added proper jQuery licence (shame on me)
658 ## [v0.0.33beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-17
660 - Shaarli packaged to ease Linux distributions integration
661 As a simple user, you do not need to cope with these versions
662 Future releases of Shaarli will also be customized and published in these directories
663 Differences with the standard Shaarli version:
665 - .tar.gz instead of .zip
666 - COPYING licence file added
667 - jQuery/jQuery-UI libraries removed to cope with Debian rules
668 This version links to the libs hosted at http://code.jquery.com
670 - sources located in a subdirectory with the same name as the zip file
671 - COPYING licence file added
672 - WARNING: When downloading the .tar.gz, always use wget (and not your browser),
673 otherwise the .tar.gz will be corrupted
676 - ATOM feed validates again
679 - XSS vulnerability patched (thanks to Stanislas D.!)
682 ## [v0.0.32beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-12-16
684 - Better check on URL parameters (patch by gege2061)
685 - Add `max-height` and `overflow:auto` attributes so that content can be scrolled if too large
688 - HTML generation moved to RainTPL templates (in the `tpl/` directory)
689 - Better detection of HTTPS (patch by gege2061)
690 - In RSS/ATOM feeds, the GUID is now the permalink instead of the final URL (patch by gege2061)
691 - Jerrywham CSS patch included
692 - Multiple spaces are now respected in description.
693 Thus you can use Shaarli as a personal pastebin (for posting source code, for example).
696 - Page time generation was removed
699 - Tab order changed in login screen
700 - Permalinks now work even if additional parameters have been added
701 (e.g. `/?E8Yj2Q&utm_source=blablabla...`)
702 - user.css is included only if the file is present
703 (This prevents a useless CSS include which makes a harmless but useless 404 error.)
706 ## [v0.0.31beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-29
708 - Support for TED Talks (ted.com/talks) thumbnails (patch by Emilien K.)
709 - 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
710 - Support for bookmark files without ADD_DATE attributes
712 - `user.css` can be added to overload Shaarli base CSS.(patch by Jerrywham).
713 Just put `user.css` in the same directory as shaarli.css.
714 Example: `<code css>#pageheader { background: blue; }</code>`
715 Please note that Shaarli CSS are not stable and may completely change on each version
718 - Edit and Delete buttons in link list were replaced with icons. (patch by Jerrywham)
721 - Better error handling in thumbnail generation (patch by Emilien K.)
722 - The top menu is no longer displayed in bookmarklet popup
723 - Bookmark which have the exact same date/time are now correctly imported.
724 Most remaining import problems should be solved now
725 - Comment in Shaarli export moved to beginning of file to prevent clash with last link description
728 ## [v0.0.30beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-18
730 - Add a small `delete` button in link list (after the `edit` button)
733 - Moved the call to PubSubHub
736 ## [v0.0.29beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-18
738 - Corrected a bug introduced in v0.0.28beta
739 (there was an error if you use the bookmarklet and you're not logged in)
742 ## [v0.0.28beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-17
744 - Thumbnail support for youtu.be URLs (YouTube short url service)
745 - PubSubHub protocol support (from http://aldarone.fr/les-flux-rss-shaarli-et-pubsubhubbub/).
746 Warning: This was not tested. You need to set your hub url in
747 `$GLOBALS['config']['PUBSUBHUB_URL']` and put the official client (`publisher.php`)
748 in the same directory as Shaarli's `index.php`
749 - RSS and ATOM feeds now also contain tags (in `category` tags, as per their
750 respective specifications)
753 - New Shaarli theme and logo by Idle (http://www.idleman.fr/blog/?p=469)
754 - In picture wall, pictures point to Shaarli permalink instead of final URL.
755 This way, users can read the description.
756 - In RSS/ATOM feeds, guid and link URL of permalinks are now proper absolute URLs
757 - In RSS/ATOM feeds, URLs are now clickable
758 - Rename `http_parse_headers()` to `http_parse_headers_shaarli()` to prevent
759 name collision with some PHP extensions
762 - Thumbnails removed for imgur.com/a/ URLs (Thumbnails are not available for albums on imgur)
763 - Shaarli now correctly only tries to get thumbnails for vimeo video URLs
764 - Fix a bug in imgur.com URLs handling that would cause some thumbnails not to appear
765 - The search engine would not return a result if the word to search was the first in description
766 - Extracted title is now correct if the page has two `title` html tags
769 ## [v0.0.27beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-10-18
771 - Add a picture wall, which can be filtered too: it will use the same filters
772 (tags,text search) as current page when clicked.
775 ## [v0.0.26beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-10-17
777 - Made permalink more visible (smallHash)
780 - Removed extras space in description when URLs are converted to clickable links
781 - Thumbnail for subreddit imgur urls (/r/...) were corrected (thanks to Accent Grave)
784 ## [v0.0.25beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-10-13
786 - Better CSS for printing (thanks to jerrywham suggestion)
787 - Allow using a redirector or anonymizing proxy for links
788 (such as `http://anonym.to/?` to mask you `HTTP_REFERER`).
789 Just go to `Tools > Configure > Redirector`
790 (thanks to Accent Grave for the suggestion).
791 - The `ENABLE_LOCALCACHE` option can be set to `false` for those who have
792 a limited quota on their host.
793 This will disable the local thumbnail cache.
794 Services which require the use of the cache will have no thumbnails
795 (vimeo, flickr, direct link to image).
796 Other services will still have a thumbnail (youtube,imgur.com,dailymotion,imageshack.us)
799 - Now thumbnails generated by Shaarli are croped to a height of 120 pixels
800 - YouTube thumbnails now use `default.jpg` instead of `2.jpg` (This is usually more pertinent)
801 - Configuration options (such as `HIDE_TIMESTAMPS`, `ENABLE_THUMBNAILS`, etc.)
802 can now be put in a an external file so that you do not have to tweak them again
803 when you upgrade Shaarli.
804 Just add the file `data/options.php`.
805 - If a single link is displayed, the page title contains the title of the link
806 - Shaarli page title is clickable (and has the same link as "Home")
807 - A few CSS tweaks (thanks to maethor for suggestion)
810 - Shaarli now supports newlines in titles (thanks to dixy)
811 - The link to the RSS feed in page header was not correct
814 ## [v0.0.24beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
816 - Allow posting an entry without a link. (You can use Shaarli as a kind of "personal twitter")
817 - Each Shaarli entry now has a short link (just click on the date of a link).
818 Now you can send a link that points to a single entry in your Shaarli
819 - In descriptions, URLs are now clickable
820 - Thumbnails will be generated for all link pointing to .jpg/png/gif
821 (as long as the images are less than 4 Mb and take less than 30 seconds to download)
824 - Now thumbnails also work for imgur gallery links (/gallery/...)
825 (Thanks to Accent Grave for the correction)
826 - Removed useless debugging information in log
827 - The filter in RSS/ATOM feed now works again properly (it was broken in 0.0.17beta)
830 ## [v0.0.23beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
832 - Added thumbnail support for imageshack.us
835 - Now you can clic the sentence "Stay signed in" to tick the checkbox (patch by Emilien)
836 - In tag editing, comma (,) are now automatically converted to spaces
837 - In tag editing, autocomplete no longuer suggests a tag you have already entered in the same line
840 ## [v0.0.22beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
842 - Support for thumbnails for flickr.com
843 - Allow staying signed in:
844 Your session will be kept open even if you close the browser.
845 This is available through a checkbox in the login screen.
848 - Some hosts (flickr, vimeo) are slow as hell for the thumbnails,
849 or require an extra HTTP request.
850 For these hosts the thumbnail generation has been deported outside the generation
851 of the page to keep Shaarli snappy.
852 For these slow services, the thumbnails are also cached.
855 - Title was not properly passed if you had to login when using the bookmarklet (patch by shenshei)
858 ## [v0.0.21beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
860 - Thumbnails for some services
861 Currently supports: YouTube.com, dailymotion.com, vimeo.com (slow!) and imgur.com.
862 Thumbnails are enabled by default, but you can turn them off
863 (set `define('ENABLE_THUMBNAILS',true);` to `false`).
866 - Removed the focus on the searchbox (this is cumbersome when you want to browse pages
867 and scroll with the keyboard)
870 ## [v0.0.20beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
872 - RSS feed is now served as `application/rss+xml` instead of `application/xhtml+xml`
873 (which was causing problem in //RSS Lounge//)
874 - ATOM feed is now served as `application/atom+xml` instead of `application/xhtml+xml`
877 ## [v0.0.19beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
882 - Patch by Emilien to remove the update notification after the update
885 ## [v0.0.18beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
887 - You can now configure the title of your page
888 - New screen to configure title and timezone
891 - Nicer timezone selection patch by killruana
894 - New lines now appear correctly in the RSS feed descriptions.
897 ## [v0.0.17beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
899 - Change password screen added (based on a patch by killruana)
900 - Autocomplete in the tag search form
901 - You can rename or delete a tag in all links
902 (very handy if you misspelled a tag or want to merge tags)
903 - When you click the RSS feed, the feed will be filtered with the same filters
904 as the page you were viewing
907 - CSS adjustments by jerrywham
911 ## [v0.0.16beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
913 - Upgrade notification:
914 If a new version of Shaarli is available, you will be notified by a discreet
915 message in top-right corner.
916 This message will only be visible if you are logged in, and the check will be
917 performed at most once a day.
918 - Preliminary tag cloud (ugly for the moment, I need to find something better)
921 - Replaced `preg_match()` with `version_compare()` to check PHP version
922 - Includes a patch by Emilien K. to mask dates if user is not logged in.
923 The option can be activated by changing `define('HIDE_TIMESTAMPS',false);` to `true`
926 ## [v0.0.15beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
928 - New in import: Option to overwrite existing links when importing
929 - On free.fr, automatic creation of the `/sessions` directory
932 - CSS Stylesheet is now an external file (shaarli.css).
933 This reduces page size and eases customization.
936 - Removed some parameters in URL added by some feed proxies (`#xtor=RSS-...`)
939 - Bug corrected: Prevented loop on login screen upon successful login after a failed login
940 - Bug corrected in import: HTML entities were not properly decoded.
941 If you imported your Delicious/Diigo bookmarks, your should import them again
942 and use the 'overwrite' option of the import feature.
945 ## [v0.0.14beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
947 - You no longer need to disable `magic_quotes` on your host.
948 Shaarli will cope with this option beeing activated.
951 ## [v0.0.13beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
953 - Import: New option to import html bookmark file as private links
954 - Import: Importing a bookmark file will not overwrite existing links anymore
955 - Export: New options to export only public or private links
958 - In tag autocomplete, tags are presented in use order
959 (most used tags first, instead of alphabetical order)
960 - RSS Feed can now be filtered by tags or fulltext search. Just add to the feed url:
961 - `&searchtags=minecraft+video` for tag filtering
962 - `&searchterm=portal` for fulltext search to the feed url
965 ## [v0.0.12beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
967 - Add a check that the config file was properly created
968 (in case Shaarli does not have the write rights in its folder)
969 - Open Shaarli: there is an option to open your Shaarli to anyone.
970 Anybody will be able to add/edit/delete links without having to login.
971 In code, change `define('OPEN_SHAARLI',false);` to `true`.
972 Note: No anti-spam for the moment. You are warned!
973 - Autocomplete for tags
976 ## [v0.0.11beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
978 - Add a check and a warning for some hosts which still have `magic_quotes` activated
981 ## [v0.0.10beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
983 - Get rid of `"` in titles
986 ## [v0.0.9beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
988 - Now works on hosts `free.fr` and `1and1`
989 - Now works with PHP 5.1
990 - PHP version is now checked and an error message is displayed if version is not correct
993 - No more error messages if the browser does not send `HTTP_REFERER`
994 - No more error messages if the host has disabled http protocol in PHP config (eg. 1and1)
997 ## [v0.0.8beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
999 - In RSS feed, GUID content replaced with the URL of the link, because some
1000 stupid RSS reader (like Google Reader) use `<guid>` as a link instead of using `<link>`
1003 ## [v0.0.7beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-09-16
1004 First public release by Sebsauvage, see original article:
1005 [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)