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