]> git.immae.eu Git - github/shaarli/Shaarli.git/blob - CHANGELOG.md
Merge tag 'v0.9.4' into latest
[github/shaarli/Shaarli.git] / CHANGELOG.md
1 # Change Log
2 All notable changes to this project will be documented in this file.
3
4 The format is based on [Keep a Changelog](http://keepachangelog.com/)
5 and this project adheres to [Semantic Versioning](http://semver.org/).
6
7 ## [v0.10.0](https://github.com/shaarli/Shaarli/releases/tag/v0.10.0) - UNPUBLISHED
8
9 ## [v0.9.4](https://github.com/shaarli/Shaarli/releases/tag/v0.9.4) - 2018-01-30
10 ### Added
11 - Enable translations: Shaarli is now also available in French. Other language translations are welcome!
12 - Add EditorConfig configuration
13 - Add favicons for mobile devices
14 - Add Alpine Linux arm32v7 Dockerfiles (master, latest)
15
16 ### Changed
17 - Do not write bookmark edition history during file imports (performance)
18 - Migrate Docker images (master, latest) to Alpine Linux
19 - Improve unitary tests and code coverage
20 - Improve thumbnail display
21 - Improve theme ergonomics
22 - Improve messages if there is no plugin or parameter available in the admin page
23 - Increase buffer size for cURL download
24 - Force HTTPS if the original port is 443 behind a reverse proxy (workaround)
25 - Improve page title retrieval performances
26
27 ### Removed
28 - Remove redirector setting from Configure page
29
30 ### Fixed
31 - Fix broken links in the documentation
32 - Enable access to `data/user.css` (Apache 2.2 & 2.4)
33 - Don't URL encode description links if parameter `redirector.encode_url` is set to false
34 - Fix an issue preventing the Save button to appear for plugin parameters
35
36
37 ## [v0.9.3](https://github.com/shaarli/Shaarli/releases/tag/v0.9.3) - 2018-01-04
38 **XSS vulnerability fixed. Please update.**
39
40 ## Security
41 - Fix an XSS (cross-site-scripting) vulnerability in `index.php` -
42 [CVE-2018-5249](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5249)
43
44
45 ## [v0.9.2](https://github.com/shaarli/Shaarli/releases/tag/v0.9.2) - 2017-10-07
46
47 **Major security issue fixed. Please update.**
48
49 ### Added
50 - Tag search now supports wildcards `*`
51 - New setting `privacy.force_login` which can be used with `privacy.hide_public_links` to redirect anonymous users to the login page.
52 - New setting `general.default_note_title` used to override default `Note:` title prefix for notes.
53 - Add a version hash for asset loading to prevent browser's cache issue
54
55 ### Changed
56 - The "Remember me" checkbox is unchecked by default
57 - The default value of the "Remember me" checkbox can be configured under `data/config.json.php`
58
59 ### Removed
60 - Remove obsolete PHP magic quote support
61
62 ### Fixed
63 - Generates a permalink URL if the URL is set to blank
64 - Replace links to the old GitHub wiki with ReadTheDocs URIs
65 - Use single quotes in the note bookmarklet
66 - Daily page if there is no link
67 - Bulk link deletion with a single link
68 - HTTPS detection behind a reverse proxy
69 - Travis tests environment and localization
70 - Improve template paths robustness (trailing slash)
71 - Robustness: safer gzinflate/zlib usage
72 - Description links parsing with parenthesis (without Markdown)
73 - Templates:
74 - Sort the tag cloud alphabetically
75 - Firefox social title
76 - Improved visited link color
77 - Fix jumpy textarea with long content in post edit
78
79 ### Security
80
81 - 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)).
82
83
84 ## [v0.9.1](https://github.com/shaarli/Shaarli/releases/tag/v0.9.1) - 2017-08-23
85
86 The documentation has been migrated to ReadTheDocs:
87 - https://shaarli.readthedocs.io/
88 - edits are submitted as pull requests
89
90 ### Added
91 - Allow bulk link deletion
92 - Display subtags in the tag cloud
93 - Add an endpoint to refresh the token
94 - Add a token on every page
95 - Add a tag list view for management
96 - Add Note bookmarklet
97 - Add creation date when editing a link
98
99 ### Changed
100 - Documentation:
101 - Generate static HTML documentation with [mkdocs](http://www.mkdocs.org/)
102 - Host documentation on [ReadTheDocs](http://www.mkdocs.org/)
103 - Update documentation structure
104 - Update Makefile targets to:
105 - Build the docs locally
106 - Include the generated docs in the release archives
107 - Theme:
108 - Use the new theme as the default
109 - Rename the tag cloud template to `tag.cloud.html`
110 - Display visited links in grey
111 - Use only one search form in `linklist.html`
112 - Hide the "search links with these tags" option when an empty `searchtags` is passed to `tag.list.html`
113 - Improve HTTP header handling when hosting Shaarli with Docker behind a reverse proxy
114 - Searching for tags with an empty value returns untagged links only
115 - Set Travis environment to `precise` until the new `trusty` environment is ready
116
117 ### Removed
118 - Remove dead Pubsubhubbub code
119 - Disable the GitHub wiki (see changed/documentation)
120 - Remove Docker `dev` image and resources
121 - Theme:
122 - Remove the bottom "Sort by" menu in `tag.list.html`
123
124 ### Fixed
125 - Fix file existence check for `user.css`
126 - Limit selection to 2k characters when using the bookmarklet
127 - Fix JS error `uncaught type error`
128 - Fix Firefox Social button
129 - Use pinned PHP dependencies when generating release archives
130 - Make sure that the tag exists before altering/removing it
131
132 ### Security
133 - Add a whitelist for protocols for URLs
134
135
136 ## [v0.9.0](https://github.com/shaarli/Shaarli/releases/tag/v0.9.0) - 2017-05-07
137
138 This release introduces the REST API, and requires updating HTTP server
139 configuration to enable URL rewriting, see:
140 - https://shaarli.github.io/api-documentation/
141 - https://shaarli.readthedocs.io/en/master/Server-configuration/
142
143 **WARNING**: Shaarli now requires PHP 5.5+.
144
145 ### Added
146 - REST API v1
147 - [Slim](https://www.slimframework.com/) framework
148 - [JSON Web Token](https://jwt.io/introduction/) (JWT) authentication
149 - versioned API endpoints:
150 - `/api/v1/info`: get general information on the Shaarli instance
151 - `/api/v1/links`: get a list of shaared links
152 - `/api/v1/history`: get a list of latest actions
153 Theming:
154 - Introduce a new theme
155 - Allow selecting themes/templates from the configuration page
156 - New/Edit link form can be submitted using CTRL+Enter in the textarea
157 - Shaarli version is displayed in the footer when logged in
158 - Add plugin placeholders to Atom/RSS feed templates
159 - Add OpenSearch to feed templates
160 - Add `campaign_` to the URL cleanup pattern list
161 - Add an AUTHORS file and Makefile target to list authors from Git commit data
162 - Link imports are now logged in `data/` folder, and can be debug using `dev.debug=true` setting.
163 - `composer.lock` is now included in git file to allow proper `composer install`
164 - History mechanism which logs link addition/modification/deletion
165
166 ### Changed
167 - Docker: enable nginx URL rewriting for the REST API
168 - Theming:
169 - Move `user.css` to the `data` folder
170 - Move default template files to a subfolder (`default`)
171 - Rename the legacy theme to `vintage`
172 - Private only filter is now displayed as a search parameter
173 - Autocomplete: pre-select the first element
174 - Display daily date in the page title (browser title)
175 - Timezone lists are now passed as an array instead of raw HTML
176 - Move PubSubHub to a dedicated plugin
177 - Coding style:
178 - explicit method visibility
179 - safe boolean comparisons
180 - remove unused variables
181 - The updater now keeps custom theme preferences
182 - Simplify the COPYING information
183 - Improved client locale detection
184 - Improved date time display depending on the locale
185 - Partial namespace support for Shaarli classes
186 - Shaarli version is now only present in `shaarli_version.php`
187 - Human readable maximum file size upload
188
189
190 ### Removed
191 - PHP < 5.5 compatibility
192 - ReadItYourself plugin
193
194 ### Fixed
195 - Ignore generated release tarballs
196 - Hide default port when behind a reverse proxy
197 - Fix a typo in the Markdown plugin description
198 - Fix the presence of empty tags for private tags and in search results
199 - Fix a fatal error during the install
200 - Fix permalink image alignment in daily page
201 - Fix the delete button in `editlink`
202 - Fix redirection after link deletion
203 - Do not access LinkDB links by ID before the Updater applies migrations
204 - Remove extra spaces in the bookmarklet's name
205 - Piwik plugin: Piwik URL protocol can now be set (http or https)
206 - All inline JS has been moved to dedicated JS files
207 - Keep tags after login redirection
208
209 ### Security
210 - Markdown plugin: escape HTML entities by default
211
212 ## [v0.8.4](https://github.com/shaarli/Shaarli/releases/tag/v0.8.4) - 2017-03-04
213 ### Security
214 - Markdown plugin: escape HTML entities by default
215
216
217 ## [v0.8.3](https://github.com/shaarli/Shaarli/releases/tag/v0.8.3) - 2017-01-20
218
219 ### Fixed
220
221 - PHP 7.1 compatibility: add ConfigManager parameter to anti-bruteforce function call in login template.
222
223 ## [v0.8.2](https://github.com/shaarli/Shaarli/releases/tag/v0.8.2) - 2016-12-15
224
225 ### Fixed
226
227 - Editing a link created before the new ID system would change its permalink.
228
229 ## [v0.8.5](https://github.com/shaarli/Shaarli/releases/tag/v0.8.5) - 2018-01-04
230 **XSS vulnerability fixed. Please update.**
231
232 ## Security
233 - Fix an XSS (cross-site-scripting) vulnerability in `index.php` -
234 [CVE-2018-5249](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5249)
235
236 ## [v0.8.4](https://github.com/shaarli/Shaarli/releases/tag/v0.8.4) - 2017-03-04
237 ### Security
238 - Markdown plugin: escape HTML entities by default
239
240 ## [v0.8.3](https://github.com/shaarli/Shaarli/releases/tag/v0.8.3) - 2017-01-20
241 ### Fixed
242 - PHP 7.1 compatibility: add ConfigManager parameter to anti-bruteforce function call in login template.
243
244 ## [v0.8.2](https://github.com/shaarli/Shaarli/releases/tag/v0.8.2) - 2016-12-15
245 ### Fixed
246
247 - Editing a link created before the new ID system would change its permalink.
248
249 ## [v0.8.1](https://github.com/shaarli/Shaarli/releases/tag/v0.8.1) - 2016-12-12
250
251 > Note: this version will create an automatic backup of your database if anything goes wrong.
252
253 ### Added
254 - Add CHANGELOG.md to track the whole project's history
255 - Enable Composer cache for Travis builds
256 - Save the last edition date for shaares and use it in Atom/RSS feeds
257 - Plugins:
258 - Add an [Isso](https://posativ.org/isso/) plugin to enable user comments on permalinks
259 - Allow defining init functions, e.g. for performing checks and error processing
260 - Add a Piwik plugin for analytics.
261 - Markdown: add warning notice regarding HTML rendering
262 - Meta tag to *not* send the referrer to external resources.
263
264 ### Changed
265 - Link ID complete refactoring:
266 - Links now have a numeric ID instead of dates
267 - Short URLs are now created once and can't change over time (previous URL are kept)
268 - Templates:
269 - Changed placeholder behaviour for: `buttons_toolbar`, `fields_toolbar` and `action_plugin`
270 - Cleanup `{loop}` declarations in templates
271 - Tools: hide Firefox Social button when not in HTTPS
272 - Firefox Social: show Shaarli's title when shaaring using Firefox Social
273 - Release archives now have the same structure as GitHub-generated archives:
274 - archives contain a `Shaarli` directory, itself containing sources + dependencies
275 - the tarball is now gzipped
276 - Plugins:
277 - Markdown: Parsedown library is now imported through Composer
278 - Minor code cleanup: PHPDoc, spelling, unused variables, etc.
279 - Docker: explicitly set the maximum file upload size to 10 MiB
280
281 ### Fixed
282 - Fix the server `<self>` value in Atom/RSS feeds
283 - Plugins:
284 - Tools: only display parameter description when it exists
285 - archive.org: do not propose archival of private notes
286 - Markdown:
287 - render links properly in code blocks
288 - bug regarding the `nomarkdown` tag
289 - W3C compliance
290 - Use absolute URL for hashtags in RSS and ATOM feeds
291 - Docker: specify the location of the favicon
292 - ATOM feed: remove new line between content tag and data
293
294 ### Security
295 - Allow whitelisting trusted IPs, else continue banning clients upon login failure
296
297
298 ## [v0.8.0](https://github.com/shaarli/Shaarli/releases/tag/v0.8.0) - 2016-10-12
299 Shaarli now uses [Composer](https://getcomposer.org/) to handle its dependencies.
300 Please use our release archives, or follow the
301 [installation documentation](https://github.com/shaarli/Shaarli/wiki/Download-and-Installation).
302
303 ### Added
304 - Composer is required to resolve Shaarli's PHP dependencies
305 - Shaarli now supports `#hashtags`
306 - Firefox social share now uses selected text as a description
307 - Plugin parameters can have a description in each plugin's `.meta` file
308
309 ### Changed
310 - Configuration is now stored as a JSON file
311 - Previous configuration format will be automatically updated (PHP -> JSON)
312 - Shaarli now defaults to cURL to fetch shaare titles
313 - URL cleanup: remove `PHPSESSID` parameter
314 - `nomarkdown` tag is no longer private, and now affects visitors
315 - Cleanup template indentation
316 - Rewrite bookmark import using a generic Netscape parser
317
318 ### Removed
319 - Shaarli no longer references Delicious in its description
320
321 ### Deprecated
322 - Shaarli configuration is not held as PHP globals anymore
323
324 ### Fixed
325 - Ignore case for tags in autocompletion and cloud tag
326 - Avoid generating empty tags
327 - Fix a Dockerfile syntax error
328
329 ### Security
330 - Fixed a bug preventing to change password
331 - XSRF token now generated each time a page is rendered
332
333
334 ## [v0.7.1](https://github.com/shaarli/Shaarli/releases/tag/v0.7.1) - 2017-03-08
335 ### Security
336 - Markdown plugin: escape HTML entities by default
337
338 ## [v0.7.0](https://github.com/shaarli/Shaarli/releases/tag/v0.7.0) - 2016-05-14
339 ### Added
340 - Adds an option to encode redirector URL parameter
341 - Atom/RSS feeds now support Markdown formatting, and plugins in general
342 - Markdown: use the tag `.nomarkdown` to avoid markdown processing
343 - Prefill the login field when the authentication has failed
344 - Show a private links counter
345
346 ### Changed
347 - Allow to use the bookmarklet in Firefox reader view (URL clean up)
348 - Improve tagcloud font size
349 - Improve title retrieving
350 - Markdown: inline code background color
351 - Refactor Netscape bookmark export
352 - Refactor Atom/RSS feed generation
353
354 ### Removed
355 - Remove delicious from Shaarli description
356
357 ### Fixed
358 - Fix bad login redirections causing a 404 in a few cases
359 - Fix tagcloud font-size with French locale
360 - Don't display empty tags in tag search
361 - Fix Awesomeplete conflicts with jQuery
362 - Fix UTC timezone selection
363 - Fix a bug preventing to import notes in browsers from bookmarks export
364 - Don't redirect to ?post if ?addlink is reached while logged out
365
366
367 ## [v0.6.5](https://github.com/shaarli/Shaarli/releases/tag/v0.6.5) - 2016-03-02
368 ### Fixed
369 - Fixes a regression generating an unnecessary warning (language in HTTP request)
370 - Fixes a bug where going through multiple reverse proxy could generate malformed URL
371 - Markdown: Fixes a bug where empty description blocks were displayed
372
373
374 ## [v0.6.4](https://github.com/shaarli/Shaarli/releases/tag/v0.6.4) - 2016-02-28
375 ### Added
376 - Add an updater class to automate user data upgrades
377 - Plugin admin page: adds a label for checkboxes and improve name display
378 - Plugin Wallabag: API version can be specified in plugin admin page
379
380 ### Changed
381 - Better tag cloud sorting, including special chars (`a > E > é > z`)
382 - Autolocale now sets all locale categories, not just time
383 - Use PHP's DateTime object instead of custom functions
384 - Plugin hooks: process includes before header/footer
385 - Markdown plugin: better styles for `<code>` and `<pre>` tags
386 - Improve searching:
387 - search terms are now considered separated and won't only return exact results anymore
388 - exact search can be done with quotes `"this exact sentence"`
389 - search supports excluded terms starting a dash `-exclude`
390 - implement crossed search: terms + tags
391 - all of them combined across all shaare fields
392 - New tag behaviour:
393 - tags starting with a dash will be renamed without it
394 - tags starting with a dot `.` will be hidden unless the user is logged in
395
396 ### Fixed
397 - Fix Markdown plugin escape issues (code/quote blocks, etc.)
398 - Link description aren't trimmed anymore to allow markdown format at the beginning of a shaare
399 - Fixes plugin admin redirection page on error
400
401 ### Security
402 - Fix a bug where non initialized variables were causing a warning
403 - Fix a bug where saving a link after edit could cause a 404 error
404
405
406 ## [v0.6.3](https://github.com/shaarli/Shaarli/releases/tag/v0.6.3) - 2016-01-31
407 ### Added
408 - Plugins administration page
409 - Markdown plugin added for shaares description
410 - Docker: Dockerfile is now in the main git repository and improved
411 - Add a `.gitattributes` to ease repository management
412 - Travis: include file permission checks
413
414 ### Changed
415 - Auto retrieve of title know works with websites (HTTPS, follow redirections, etc.)
416 - 404 page is now handled in a template
417 - Date in log files updated to work with fail2ban
418 - Wallabag: support of Wallabag v2 and minor fixes
419 - Link search refactoring
420 - Logging function refactoring
421
422 ### Fixed
423 - Fix a bug where renaming a tag was causing a 404
424 - Fix a bug allowing to search blank terms
425 - Fix a bug preventing to remove a tag with special chars when searching
426
427
428 ## [v0.6.2](https://github.com/shaarli/Shaarli/releases/tag/v0.6.2) - 2015-12-23
429 ### Changed
430 - Plugins: new footer hook
431 - Plugins: improve QR code
432 - Cleanup templates
433
434 ### Fixed
435 - Plugins: use the actual link URL to generate QR codes
436 - Templates: missing/erroneous page titles
437 - Templates: missing variables resulting in PHP errors
438
439 ### Security
440 - Fix invalid file permissions (remove executable bit)
441
442
443 ## [v0.6.1](https://github.com/shaarli/Shaarli/releases/tag/v0.6.1) - 2015-12-01
444 ### Added
445 - Add OpenSearch support
446 - Add a Doxygen makefile target
447 - Tools: add fine-grained file/directory permission checks (installation)
448
449 ### Changed
450 - Tools: check the 'stable' branch for new versions (updates)
451 - Cleanup: introduce an `ApplicationUtils` class
452
453 ### Removed
454 - Cleanup: remove `json_encode()` function (built-in since PHP 5.2)
455
456 ### Fixed
457 - Auto-complete more than one tag
458 - Bookmarklet: support titles containing quotes
459 - URL encode links when setting a redirector
460
461
462 ## [v0.6.0](https://github.com/shaarli/Shaarli/releases/tag/v0.6.0) - 2015-11-18
463 ### Added
464 - Introduce a plugin system
465 - Add a demo_plugin
466 - Add plugins:
467 - addlink_toolbar
468 - archiveorg
469 - playvideos
470 - qrcode
471 - readityourself
472 - wallabag
473
474 ### Changed
475 - Coding style
476
477 ### Fixed
478 - Adding a new link now returns the correct anchor in the URL
479 - Set default file permissions
480
481
482 ## [v0.5.4](https://github.com/shaarli/Shaarli/releases/tag/v0.5.4) - 2015-09-15
483 ### Added
484 - HTTPS: support being served behing an SSL-enabled proxy
485
486 ### Changed
487 - HTTP/Server utilities: refactor & add test coverage
488 - Project & documentation:
489 - improve/rewrite `README.md`
490 - update contributor list
491 - update `index.php` header
492
493 ### Fixed
494 - PHP session IDs: handle hash algorithms and bits per char representations
495
496
497 ## [v0.5.3](https://github.com/shaarli/Shaarli/releases/tag/v0.5.3) - 2015-09-02
498 ### Fixed
499 - Fix a bug that could prevent user to login
500
501
502 ## [0.5.3](https://github.com/shaarli/Shaarli/releases/tag/0.5.3) - 2015-09-02
503 This release has been YANKED as it points to a tag that does not follow our naming convention. Please use `v0.5.3` instead
504
505 ### Fixed
506 - Allow uppercase letters in PHP sessionid format
507
508
509 ## [v0.5.2](https://github.com/shaarli/Shaarli/releases/tag/v0.5.2) - 2015-08-31
510 ### Added
511 - Add PHP 7 to Travis platforms
512
513 ### Changed
514 - Also extract HTTPS page metadata (title)
515
516 ### Fixed
517 - Fix regression preventing to load LinkDB info when adding an existing link
518
519 ### Security
520 - Fix Full Path Disclosure upon cookie forgery
521
522
523 ## [v0.5.1](https://github.com/shaarli/Shaarli/releases/tag/v0.5.1) - 2015-08-17
524 ### Added
525 - Add a link to the shaarli/shaarli DockerHub repository
526
527 ### Changed
528 - Update local documentation
529 - Improve timezone detection at installation
530 - Improve feed cache handling
531 - Improve URL cleanup for new links
532
533 ### Fixed
534 - Fix 404 after editing a link while being logged out
535
536
537 ## [v0.5.0](https://github.com/shaarli/Shaarli/releases/tag/v0.5.0) - 2015-07-31
538 ### Added
539 - Add Firefox Social API
540 - Start code refactoring:
541 - add unit test coverage
542 - add Travis integration
543
544 ### Changed
545 - Search/Filter by tag fieds can now be accessed quickly with the `Tab` key
546 - Update documentation
547 - Remove duplicate tags in links
548 - Remove annoying URL patterns
549 - Start code refactoring:
550 - move all settings to `data/config.php`
551 - refactor Config, LinkDB, TimeZone, Utils
552
553 ### Fixed
554 - Fix locale handling
555 - Fix note URLs
556 - Fix page redirections
557 - Fix daily RSS browsing
558 - Fix title display
559 - Restore compatibility with PHP 5.3
560
561 ### Security
562 - Fix links not being hidden when `HIDE_PUBLIC_LINKS` is set
563
564
565 ## [v0.0.45beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.45beta) - 2015-03-16
566 ### Fixed
567 - Fix improperly displayed Unicode character
568 - Fix incorrect font size for "Add link" input field
569
570
571 ## [v0.0.44beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.44beta) - 2015-03-15
572 ### Added
573 - Add a Makefile to run static code checkers
574 - Add local documentation (help link in page footer)
575 - Use awesomplete library for autocompletion
576 - Use bLazy.js library for images lazy loading
577 - New 'Add Note' bookmarklet to immediatly open a note (text post) compose window
578
579 ### Changed
580 - Theme improvements and cleanup (menu, search fields, icons, linklist...)
581 - Allow 'javascript:' links sharing (bookmarklets)
582 - Make update check optional
583 - Redirect to homepage after adding a link via "Add Link" dialog
584 - Remove more annoying URL parameters for shared links
585 - Code cleanup
586
587 ### Removed
588 - Remove jQuery
589
590 ### Security
591 - Don't disclose version to visitors (shaarli-version.txt)
592
593
594 ## [v0.0.43beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.43beta) - 2015-02-20
595 ### Added
596 - Title button link URL is now configurable
597 - RainTPL's TMP and TPL directories path are now configurable
598 - Displayed URLs for each link are now clickable links
599 - Show links timestamps in Daily view
600
601 ### Changed
602 - Automatically prepend "Note:" to title of self-posts (posts not pointing to an URL)
603 - Make ATOM toolbar button optional (`SHOW_ATOM` configuration variable)
604 - Optional archive.org links for each Shaarli link (`ARCHIVE_ORG` option)
605 - Thumbnails: force HTTPS when possible
606 - Improve tag cloud font scaling
607 - Allow pointing RSS items to the permalink instead of the direct URL (`ENABLE_RSS_PERMALINKS` option)
608 - Update JS libraries and add version numbers in filenames
609 - Updates to README and footer
610
611 ### Fixed
612 - Fix problems when running Shaarli behind a reverse proxy (invalid RSS feed URL)
613 - Update check now checks against the community fork version
614 - Include `cache/`, `data/`, `pagecache/` and `tmp/` directories in the repository
615 - Fix duplicate tag search returning no results
616 - Fix unnecessary 404 error on "Add link" when the user is logged out
617 - Fixes to copyright/licensing information and unlicensed media
618 - Fixes for tag cloud invalid links
619 - Coding style fixes/cleanup
620 - Fix redirection after deleteing a link leading to a 404 error
621 - Shaarli's HTML is now W3C-compliant
622 - Search now works with Unicode characters
623
624 ### Security
625 - Do not leak server's PHP version and Shaarli's full path on errors
626 - Prevent Shaarli from sending a lot of duplicate cookies
627
628
629 ## [v0.0.42beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.42beta) - 2014-07-27
630 ### Added
631 - Add QRCode Javascript library
632 - Allow importing bookmarks with the same timestamp (hack)
633 - Allow putting a description in the bookmarklet URL
634 - Add `json_encode()` implementation for PHP<5.2
635 - Highlight search results
636
637 ### Changed
638 - Improve 'Stay signed in' behaviour
639 - Improve `smallHash()`
640 - Refactor QRCode generation
641 - Update Javascript lazyloading
642 - Update CSS
643
644 ### Removed
645 - Remove jQuery from almost all pages
646
647 ### Fixed
648 - Fix overlapping tags
649 - Fix field foxus in the bookmarklet
650 - Fix error message when `data/` is not writable
651 - Fix HTML generation
652
653 ### Security
654 - Fix XSS flaw
655
656
657 ## [v0.0.41beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.41beta) - 2013-03-08
658 ### Added
659 - Add HTTPS to the allowed protocols
660 - Add support for magnet links in link descriptions
661 - Allow creating new links as private by default
662 - Allow disabling jQuery
663 - Check write permissions
664 - Check session support before installation
665
666 ### Changed
667 - Improve token security
668 - RSS feed: allow inverting links/permalinks
669
670 ### Fixed
671 - Fix display issues during installation
672 - Fix popup redirection after login failure
673 - Fix RSS formatting for Thunderbird
674 - Fix thumbnail creation
675 - Fix cache purge
676
677 ### Security
678 - Fix login issue with WebKit browsers
679
680
681 ## [v0.0.40beta](https://github.com/shaarli/Shaarli/releases/tag/v0.0.40beta) - 2013-02-26
682 Initial release on GitHub.
683
684
685 ## [v0.0.40beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-08-24
686 ### Added
687 - Flickr thumbnail now also support albums, galleries and users
688 - Add a configuration option to disable session cookie protection
689 Check this if your get disconnected often or your IP address changes often
690
691 ### Removed
692 - Removed the xml comment in cached RSS/ATOM feed
693 (although W3C-compliant, this may cause problems in some feed readers)
694
695 ### Fixed
696 - A bug in the RSS cache would present old items as new in some cases
697 - A small bug (non-initialized variable) in page cache cleaning
698 - Proper "Nothing found" message when search returns no results
699 - No more 404 error when searching with empty input
700 - Flickr thumbnails are back (Flickr has made some changes to their domains)
701
702 ## [v0.0.39beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-08-10
703 ### Added
704 - A cache for RSS feed, ATOM feed and Daily RSS feed, because these URLs
705 are massively hammered. Cache is automatically purged whenever the database
706 is changed. This will reduce server load. I may add cache to other pages later.
707
708 ### Changed
709 - No more global `$LINKSDB` (Yuk)
710 - Background color was removed when hovering a link
711
712 ### Fixed
713 - Small bug corrected in config screen on timezones
714 - Calling a non-existing permalink now returns a crude 404 error instead of 200 (OK)
715 This is done on purpose
716 - The `shaarli` session cookie now has a proper path
717 Thus you can now install several Shaarlis on the same server in different paths,
718 and each will have its session
719 - Now when you delete a link, you go back the same page/search parameters you were on
720 - Restore previously removed `error_get_last()`, to ensure PHP 5.1 compatibility
721 (Yes, now it works on free.fr hosting)
722 - Added `dialog=1` in bookmarklet code for some browsers
723
724
725 ## [v0.0.38beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-02-06
726 ### Added
727 - Automatic creation of the `tmp` directory with proper rights (for RainTPL)
728 - When you click the key to see only private links, it turns yellow
729
730 ### Changed
731 - The "Daily" page now automatically skips empty days.
732
733 ### Fixed
734 - Corrected the tag encoding (there was a bug when selecting a second tag which contains accented characters)
735
736
737 ## [v0.0.37beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-02-01
738 ### Added
739 - Basic CSS for mobiles, which makes Shaarli //much// more usable on mobile devices
740 - Picture wall no more instantly kills your browser. Now it uses
741 [lazy image loading](http://www.appelsiini.net/projects/lazyload);
742 the pictures are loaded only as you scroll the page.
743 This will reduce browser memory usage (especially on mobile devices),
744 as well as server load.
745 If you have javascript disabled, the page will still work as before
746 (all images loaded at once)
747 - RSS feed for the "Daily" page. 1 RSS entry per day, with all links of that day.
748 RSS feed provides the last 7 days (only non-empty days are returned).
749 - In link list, added an icon to see only private links. Click to toggle (only private / all)
750
751
752 ## [v0.0.36beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-25
753 ### Added
754 - Shaarli licence in COPYING
755
756 ### Changed
757 - Display adjustments in "Daily" page
758
759 ### Fixed
760 - Improper text color in install form
761 - Error in QRCode url (missing '?')
762
763
764 ## [v0.0.35beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-25
765 ### Fixed
766 - Corrected a bug introduced in 0.0.34 which would improperly preprend data to URLs
767
768
769 ## [v0.0.34beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-25
770 ### Added
771 - There is now a QR-Code of each permalink to easily open a link on your smartphone
772 - Protocols `file:` and `apt:` are now also converted to clickable links (patch by Francis Chavanon)
773 - Thumbnail support for http://xkcd.com/ (patch by Emilien Klein)
774 - Thumbnail support for http://pix.toile-libre.org/
775 - Well I had _some_ mercy for users with antique browsers (IE) which do not have
776 support for gradients: I added a few `background-color`
777 - First version of the "Shaarli Daily", a page showing all links of a specific day.
778 By default, you see the links of the previous day.
779 There is still work to do on this page (error checking, better navigation (calendar?),
780 RSS feed, CSS for mobile and printing...)
781
782 ### Changed
783 - Upgraded bundled versions of jQuery (1.7.1) and jQuery UI (1.8.17)
784 - Upgraded bundled version of RainTPL (2.7)
785 - Changed HTTPS detection code
786
787 ### Fixed
788 - In link edition, you can now click the word "Private" to check the box
789 - Clicking a tag would not work properly if the tag contained special characters (like +)
790 - Added proper jQuery licence (shame on me)
791
792
793 ## [v0.0.33beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2012-01-17
794 ### Added
795 - Shaarli packaged to ease Linux distributions integration
796 As a simple user, you do not need to cope with these versions
797 Future releases of Shaarli will also be customized and published in these directories
798 Differences with the standard Shaarli version:
799 - deb:
800 - .tar.gz instead of .zip
801 - COPYING licence file added
802 - jQuery/jQuery-UI libraries removed to cope with Debian rules
803 This version links to the libs hosted at http://code.jquery.com
804 - rpm:
805 - sources located in a subdirectory with the same name as the zip file
806 - COPYING licence file added
807 - WARNING: When downloading the .tar.gz, always use wget (and not your browser),
808 otherwise the .tar.gz will be corrupted
809
810 ### Fixed
811 - ATOM feed validates again
812
813 ### Security
814 - XSS vulnerability patched (thanks to Stanislas D.!)
815
816
817 ## [v0.0.32beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-12-16
818 ### Added
819 - Better check on URL parameters (patch by gege2061)
820 - Add `max-height` and `overflow:auto` attributes so that content can be scrolled if too large
821
822 ### Changed
823 - HTML generation moved to RainTPL templates (in the `tpl/` directory)
824 - Better detection of HTTPS (patch by gege2061)
825 - In RSS/ATOM feeds, the GUID is now the permalink instead of the final URL (patch by gege2061)
826 - Jerrywham CSS patch included
827 - Multiple spaces are now respected in description.
828 Thus you can use Shaarli as a personal pastebin (for posting source code, for example).
829
830 ### Removed
831 - Page time generation was removed
832
833 ### Fixed
834 - Tab order changed in login screen
835 - Permalinks now work even if additional parameters have been added
836 (e.g. `/?E8Yj2Q&utm_source=blablabla...`)
837 - user.css is included only if the file is present
838 (This prevents a useless CSS include which makes a harmless but useless 404 error.)
839
840
841 ## [v0.0.31beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-29
842 ### Added
843 - Support for TED Talks (ted.com/talks) thumbnails (patch by Emilien K.)
844 - 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
845 - Support for bookmark files without ADD_DATE attributes
846 - Logo is clickable
847 - `user.css` can be added to overload Shaarli base CSS.(patch by Jerrywham).
848 Just put `user.css` in the same directory as shaarli.css.
849 Example: `<code css>#pageheader { background: blue; }</code>`
850 Please note that Shaarli CSS are not stable and may completely change on each version
851
852 ### Changed
853 - Edit and Delete buttons in link list were replaced with icons. (patch by Jerrywham)
854
855 ### Fixed
856 - Better error handling in thumbnail generation (patch by Emilien K.)
857 - The top menu is no longer displayed in bookmarklet popup
858 - Bookmark which have the exact same date/time are now correctly imported.
859 Most remaining import problems should be solved now
860 - Comment in Shaarli export moved to beginning of file to prevent clash with last link description
861
862
863 ## [v0.0.30beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-18
864 ### Added
865 - Add a small `delete` button in link list (after the `edit` button)
866
867 ### Fixed
868 - Moved the call to PubSubHub
869
870
871 ## [v0.0.29beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-18
872 ### Fixed
873 - Corrected a bug introduced in v0.0.28beta
874 (there was an error if you use the bookmarklet and you're not logged in)
875
876
877 ## [v0.0.28beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-11-17
878 ### Added
879 - Thumbnail support for youtu.be URLs (YouTube short url service)
880 - PubSubHub protocol support (from http://aldarone.fr/les-flux-rss-shaarli-et-pubsubhubbub/).
881 Warning: This was not tested. You need to set your hub url in
882 `$GLOBALS['config']['PUBSUBHUB_URL']` and put the official client (`publisher.php`)
883 in the same directory as Shaarli's `index.php`
884 - RSS and ATOM feeds now also contain tags (in `category` tags, as per their
885 respective specifications)
886
887 ### Changed
888 - New Shaarli theme and logo by Idle (http://www.idleman.fr/blog/?p=469)
889 - In picture wall, pictures point to Shaarli permalink instead of final URL.
890 This way, users can read the description.
891 - In RSS/ATOM feeds, guid and link URL of permalinks are now proper absolute URLs
892 - In RSS/ATOM feeds, URLs are now clickable
893 - Rename `http_parse_headers()` to `http_parse_headers_shaarli()` to prevent
894 name collision with some PHP extensions
895
896 ### Fixed
897 - Thumbnails removed for imgur.com/a/ URLs (Thumbnails are not available for albums on imgur)
898 - Shaarli now correctly only tries to get thumbnails for vimeo video URLs
899 - Fix a bug in imgur.com URLs handling that would cause some thumbnails not to appear
900 - The search engine would not return a result if the word to search was the first in description
901 - Extracted title is now correct if the page has two `title` html tags
902
903
904 ## [v0.0.27beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-10-18
905 ### Added
906 - Add a picture wall, which can be filtered too: it will use the same filters
907 (tags,text search) as current page when clicked.
908
909
910 ## [v0.0.26beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-10-17
911 ### Changed
912 - Made permalink more visible (smallHash)
913
914 ### Fixed
915 - Removed extras space in description when URLs are converted to clickable links
916 - Thumbnail for subreddit imgur urls (/r/...) were corrected (thanks to Accent Grave)
917
918
919 ## [v0.0.25beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-10-13
920 ### Added
921 - Better CSS for printing (thanks to jerrywham suggestion)
922 - Allow using a redirector or anonymizing proxy for links
923 (such as `http://anonym.to/?` to mask you `HTTP_REFERER`).
924 Just go to `Tools > Configure > Redirector`
925 (thanks to Accent Grave for the suggestion).
926 - The `ENABLE_LOCALCACHE` option can be set to `false` for those who have
927 a limited quota on their host.
928 This will disable the local thumbnail cache.
929 Services which require the use of the cache will have no thumbnails
930 (vimeo, flickr, direct link to image).
931 Other services will still have a thumbnail (youtube,imgur.com,dailymotion,imageshack.us)
932
933 ### Changed
934 - Now thumbnails generated by Shaarli are croped to a height of 120 pixels
935 - YouTube thumbnails now use `default.jpg` instead of `2.jpg` (This is usually more pertinent)
936 - Configuration options (such as `HIDE_TIMESTAMPS`, `ENABLE_THUMBNAILS`, etc.)
937 can now be put in a an external file so that you do not have to tweak them again
938 when you upgrade Shaarli.
939 Just add the file `data/options.php`.
940 - If a single link is displayed, the page title contains the title of the link
941 - Shaarli page title is clickable (and has the same link as "Home")
942 - A few CSS tweaks (thanks to maethor for suggestion)
943
944 ### Fixed
945 - Shaarli now supports newlines in titles (thanks to dixy)
946 - The link to the RSS feed in page header was not correct
947
948
949 ## [v0.0.24beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
950 ### Added
951 - Allow posting an entry without a link. (You can use Shaarli as a kind of "personal twitter")
952 - Each Shaarli entry now has a short link (just click on the date of a link).
953 Now you can send a link that points to a single entry in your Shaarli
954 - In descriptions, URLs are now clickable
955 - Thumbnails will be generated for all link pointing to .jpg/png/gif
956 (as long as the images are less than 4 Mb and take less than 30 seconds to download)
957
958 ### Fixed
959 - Now thumbnails also work for imgur gallery links (/gallery/...)
960 (Thanks to Accent Grave for the correction)
961 - Removed useless debugging information in log
962 - The filter in RSS/ATOM feed now works again properly (it was broken in 0.0.17beta)
963
964
965 ## [v0.0.23beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
966 ### Added
967 - Added thumbnail support for imageshack.us
968
969 ### Changed
970 - Now you can clic the sentence "Stay signed in" to tick the checkbox (patch by Emilien)
971 - In tag editing, comma (,) are now automatically converted to spaces
972 - In tag editing, autocomplete no longuer suggests a tag you have already entered in the same line
973
974
975 ## [v0.0.22beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
976 ### Added
977 - Support for thumbnails for flickr.com
978 - Allow staying signed in:
979 Your session will be kept open even if you close the browser.
980 This is available through a checkbox in the login screen.
981
982 ### Changed
983 - Some hosts (flickr, vimeo) are slow as hell for the thumbnails,
984 or require an extra HTTP request.
985 For these hosts the thumbnail generation has been deported outside the generation
986 of the page to keep Shaarli snappy.
987 For these slow services, the thumbnails are also cached.
988
989 ### Fixed
990 - Title was not properly passed if you had to login when using the bookmarklet (patch by shenshei)
991
992
993 ## [v0.0.21beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
994 ### Added
995 - Thumbnails for some services
996 Currently supports: YouTube.com, dailymotion.com, vimeo.com (slow!) and imgur.com.
997 Thumbnails are enabled by default, but you can turn them off
998 (set `define('ENABLE_THUMBNAILS',true);` to `false`).
999
1000 ### Changed
1001 - Removed the focus on the searchbox (this is cumbersome when you want to browse pages
1002 and scroll with the keyboard)
1003
1004
1005 ## [v0.0.20beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1006 ### Fixed
1007 - RSS feed is now served as `application/rss+xml` instead of `application/xhtml+xml`
1008 (which was causing problem in //RSS Lounge//)
1009 - ATOM feed is now served as `application/atom+xml` instead of `application/xhtml+xml`
1010
1011
1012 ## [v0.0.19beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1013 ### Added
1014 - ATOM feed
1015
1016 ### Fixed
1017 - Patch by Emilien to remove the update notification after the update
1018
1019
1020 ## [v0.0.18beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1021 ### Added
1022 - You can now configure the title of your page
1023 - New screen to configure title and timezone
1024
1025 ### Changed
1026 - Nicer timezone selection patch by killruana
1027
1028 ### Fixed
1029 - New lines now appear correctly in the RSS feed descriptions.
1030
1031
1032 ## [v0.0.17beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1033 ### Added
1034 - Change password screen added (based on a patch by killruana)
1035 - Autocomplete in the tag search form
1036 - You can rename or delete a tag in all links
1037 (very handy if you misspelled a tag or want to merge tags)
1038 - When you click the RSS feed, the feed will be filtered with the same filters
1039 as the page you were viewing
1040
1041 ### Changed
1042 - CSS adjustments by jerrywham
1043 - Minor corrections
1044
1045
1046 ## [v0.0.16beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1047 ### Added
1048 - Upgrade notification:
1049 If a new version of Shaarli is available, you will be notified by a discreet
1050 message in top-right corner.
1051 This message will only be visible if you are logged in, and the check will be
1052 performed at most once a day.
1053 - Preliminary tag cloud (ugly for the moment, I need to find something better)
1054
1055 ### Changed
1056 - Replaced `preg_match()` with `version_compare()` to check PHP version
1057 - Includes a patch by Emilien K. to mask dates if user is not logged in.
1058 The option can be activated by changing `define('HIDE_TIMESTAMPS',false);` to `true`
1059
1060
1061 ## [v0.0.15beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1062 ### Added
1063 - New in import: Option to overwrite existing links when importing
1064 - On free.fr, automatic creation of the `/sessions` directory
1065
1066 ### Changed
1067 - CSS Stylesheet is now an external file (shaarli.css).
1068 This reduces page size and eases customization.
1069
1070 ### Removed
1071 - Removed some parameters in URL added by some feed proxies (`#xtor=RSS-...`)
1072
1073 ### Fixed
1074 - Bug corrected: Prevented loop on login screen upon successful login after a failed login
1075 - Bug corrected in import: HTML entities were not properly decoded.
1076 If you imported your Delicious/Diigo bookmarks, your should import them again
1077 and use the 'overwrite' option of the import feature.
1078
1079
1080 ## [v0.0.14beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1081 ### Added
1082 - You no longer need to disable `magic_quotes` on your host.
1083 Shaarli will cope with this option beeing activated.
1084
1085
1086 ## [v0.0.13beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1087 ### Added
1088 - Import: New option to import html bookmark file as private links
1089 - Import: Importing a bookmark file will not overwrite existing links anymore
1090 - Export: New options to export only public or private links
1091
1092 ### Changed
1093 - In tag autocomplete, tags are presented in use order
1094 (most used tags first, instead of alphabetical order)
1095 - RSS Feed can now be filtered by tags or fulltext search. Just add to the feed url:
1096 - `&searchtags=minecraft+video` for tag filtering
1097 - `&searchterm=portal` for fulltext search to the feed url
1098
1099
1100 ## [v0.0.12beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1101 ### Added
1102 - Add a check that the config file was properly created
1103 (in case Shaarli does not have the write rights in its folder)
1104 - Open Shaarli: there is an option to open your Shaarli to anyone.
1105 Anybody will be able to add/edit/delete links without having to login.
1106 In code, change `define('OPEN_SHAARLI',false);` to `true`.
1107 Note: No anti-spam for the moment. You are warned!
1108 - Autocomplete for tags
1109
1110
1111 ## [v0.0.11beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1112 ### Added
1113 - Add a check and a warning for some hosts which still have `magic_quotes` activated
1114
1115
1116 ## [v0.0.10beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1117 ### Added
1118 - Get rid of `&quot;` in titles
1119
1120
1121 ## [v0.0.9beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1122 ### Added
1123 - Now works on hosts `free.fr` and `1and1`
1124 - Now works with PHP 5.1
1125 - PHP version is now checked and an error message is displayed if version is not correct
1126
1127 ### Fixed
1128 - No more error messages if the browser does not send `HTTP_REFERER`
1129 - No more error messages if the host has disabled http protocol in PHP config (eg. 1and1)
1130
1131
1132 ## [v0.0.8beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history)
1133 ### Changed
1134 - In RSS feed, GUID content replaced with the URL of the link, because some
1135 stupid RSS reader (like Google Reader) use `<guid>` as a link instead of using `<link>`
1136
1137
1138 ## [v0.0.7beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) - 2011-09-16
1139 First public release by Sebsauvage, see original article:
1140 [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)