Personal Knowledge Management. Use branch "minimal change" to deploy as laravel package.

Overview

Knowfox

Knowfox is my Personal Knowledge Management system. Having been an keen Evernote user since 2012, I finally got around to taking my precious notes to my own server.

Gitter

I want

  • Hierarchies. Inspired by Dave Winer's Worldoutline and Fargo, I want my knowledge base to have a deep structure, not be only two stories tall.
  • Tags. Where a single hierarchy is not enough, tags can link common topics in the least intrusive way. Since the times of Web 2.0, tags are everywhere.
  • Typed relationships. Sometimes though, hierarchies are too strict and tags are too loose. For example, I want to link authors to books, founders to companies, cause to effect. For this, typed, bi-directional relationships are king.
  • Markdown. There are other many similar and nice text formats, but Markdown is simple and popular and has won the race.
  • Bookmarking. I frequently take note of websites and like to mark them for later reading.
  • Pictures. My notes have lots of pictures. Mostly screenshots, but some photos or diagrams added as well.
  • Privacy. All my notes and pictures are mine and should be visible to no one.
  • Simple journalling. I used Evernote on a daily basis and will do so with Knowfox, too. Easy, date-based journalling is a feature I use every day.
  • Sharing. Sometimes I want to share a note and its pictures. This should be painless and explicit.
  • Publishing. Knowledge wants to be communicated sometimes. For this, I want to export a sub-tree of my hierarchy as beautiful slide deck, effortlessly.

This gives me the basic structure. On top of this,

  • all my Evernote notes should go in there,
  • my catalogue of eBooks as well,
  • my timelines, too.

The resulting system should be easy to understand, maintain and deploy. CouchDB would have been an nice option with Hoodie on to of it. Ultimately though, I felt more confident with Laravel 5 and MySQL so this is what Knowfox is built on.

Status

Knowfox is usable and very nicely so.

  • Full text search works, maybe even better than the one in Evernote.
  • The integrated Markdown editor has no inline preview of images, but otherwise is a joy to use.
  • Picture handling is very slick, thanks to the integrated Dropzone.js and automatic inclusion of image links into the note's Markdown.
  • A bookmarklet helps me to bookmark websites and gather their content for later reference.
  • I have imported my most important Evernote notebooks and now rely on it for my everyday work and projects.
  • There is a hosted version at https://knowfox.com which is free to use. However, I make no guarantees as to the stability of this service. Ultimately, Knowfox is meant for self hosting.

There is a brief presentation about the system, too.

The Future

I have built Knowfox in a frency to have a usable system as soon as possible. For others to be able to contribute, it most urgently needs automated tests. Some more importers for my other databases for eBooks and timelines will follow. Maybe native apps or a FUSE filesystem at some point.

Comments
  • SQL error when creating new concept

    SQL error when creating new concept

    Following the guide in the wiki I created a first concept ("Journal") and was greeted with the following error.

    SQLSTATE[42S22]: Column not found: 1054 Unknown column 'attachments.event_id' in 'where clause' (SQL: select * from `attachments` where `attachments`.`event_id` = 1 and `attachments`.`event_id` is not null order by `is_default` desc)
    (View: knowfox/resources/views/concept/show.blade.php) 
    (View: knowfox/resources/views/concept/show.blade.php)
    

    Same error appears when editing existing concepts.

    opened by dakira 6
  • journal entry

    journal entry

    Great project. I am looking for a personal knowledge management software (of course, open source - so that I can fiddle around when i have time) - which will let me manage information . I wandered around through a couple of project before I stumbled upon this one

    • DeepMehta (Connected Desktop) - great concept
    • CherryTree ( great - but features like relationships, web snippet etc are missing)
    • Joplin ( great ) I am leaving out commercial products which are awesome too - Evernote, Mindmapper I like Knowfox - because it solves most of my needs.

    I am having an issue to make a journal entry. When I click on the date on the top-menu I get this message -> "No "Journal" root". What does this mean? Should i fix it? OR leave it alone See image no-journal-root

    opened by 4asifm 4
  • [Error] Whoops, looks like something went wrong.

    [Error] Whoops, looks like something went wrong.

    This error occurs under the following use cases:

    1. Edit Concept
    2. Change the any of the fields under the bottom tabs
    3. Press [Save Changes]

    Result:

    Whoops, looks like something went wrong.

    opened by navigator8 4
  • Bookmarklet default URL

    Bookmarklet default URL

    The bookmarklet has the default URL https://knowfox.com, which is obviously different in my case.

    After changing it to my URL (without https) it shows the save dialog for a short time, but then gives a "Whoops, looks like something went wrong." notice.

    opened by nicogee 4
  • auth setup

    auth setup

    This looks like a fantastic project, very much in line with the kind of thing I have been looking for.

    I have been trying for a day or so to set it up as a self-hosted service but I am hitting a wall no matter which setting I tweak. In the env file, mailtrap.io is prefilled and I had seen you recommend it here. In the config file, however, I see that mailgun is prefilled

    I tried to setup gmail but have not succeeded.

    I am wondering if there is anyway to disable user authentication. I am happy to keep tweaking settings until I figure out authentication but - more importantly - I would like to really see the service in use on my server and see if it fits my workflow.

    Thank you for your attention and all your work

    opened by persianphilosopher 4
  • Bump guzzlehttp/guzzle from 6.3.0 to 6.5.8

    Bump guzzlehttp/guzzle from 6.3.0 to 6.5.8

    Bumps guzzlehttp/guzzle from 6.3.0 to 6.5.8.

    Release notes

    Sourced from guzzlehttp/guzzle's releases.

    Release 6.5.8

    See change log for changes.

    Release 6.5.7

    See change log for changes.

    Release 6.5.6

    See change log for changes.

    6.5.5

    No release notes provided.

    6.5.4

    No release notes provided.

    6.5.3

    No release notes provided.

    6.5.2

    • idn_to_ascii() fix for old PHP versions #2489

    6.5.1

    • Better defaults for PHP installations with old ICU lib #2454
    • IDN support for redirects #2424

    6.5.0

    No release notes provided.

    6.4.1

    No release notes provided.

    6.3.3

    No release notes provided.

    6.3.2

    • Bug fix: Parsing 0 epoch expiry times in cookies #2014
    • Improvement: Better ConnectException detection #2012
    • Bug fix: Malformed domain that contains a "/" #1999
    • Bug fix: Undefined offset when a cookie has no first key-value pair #1998
    • Improvement: Support PHPUnit 6 #1953
    • Bug fix: Support empty headers #1915
    • Bug fix: Ignore case during header modifications #1916
    • Minor code cleanups, documentation fixes and clarifications.
    Changelog

    Sourced from guzzlehttp/guzzle's changelog.

    6.5.8 - 2022-06-20

    • Fix change in port should be considered a change in origin
    • Fix CURLOPT_HTTPAUTH option not cleared on change of origin

    6.5.7 - 2022-06-09

    • Fix failure to strip Authorization header on HTTP downgrade
    • Fix failure to strip the Cookie header on change in host or HTTP downgrade

    6.5.6 - 2022-05-25

    • Fix cross-domain cookie leakage

    6.5.5 - 2020-06-16

    • Unpin version constraint for symfony/polyfill-intl-idn #2678

    6.5.4 - 2020-05-25

    • Fix various intl icu issues #2626

    6.5.3 - 2020-04-18

    • Use Symfony intl-idn polyfill #2550
    • Remove use of internal functions #2548

    6.5.2 - 2019-12-23

    • idn_to_ascii() fix for old PHP versions #2489

    6.5.1 - 2019-12-21

    • Better defaults for PHP installations with old ICU lib #2454
    • IDN support for redirects #2424

    6.5.0 - 2019-12-07

    • Improvement: Added support for reset internal queue in MockHandler. #2143
    • Improvement: Added support to pass arbitrary options to curl_multi_init. #2287
    • Fix: Gracefully handle passing null to the header option. #2132
    • Fix: RetryMiddleware did not do exponential delay between retries due unit mismatch. #2132 Previously, RetryMiddleware would sleep for 1 millisecond, then 2 milliseconds, then 4 milliseconds. After this change, RetryMiddleware will sleep for 1 second, then 2 seconds, then 4 seconds. Middleware::retry() accepts a second callback parameter to override the default timeouts if needed.
    • Fix: Prevent undefined offset when using array for ssl_key options. #2348
    • Deprecated ClientInterface::VERSION

    6.4.1 - 2019-10-23

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies php 
    opened by dependabot[bot] 1
  • Bump guzzlehttp/guzzle from 6.3.0 to 6.5.7

    Bump guzzlehttp/guzzle from 6.3.0 to 6.5.7

    Bumps guzzlehttp/guzzle from 6.3.0 to 6.5.7.

    Release notes

    Sourced from guzzlehttp/guzzle's releases.

    Release 6.5.7

    See change log for changes.

    Release 6.5.6

    See change log for changes.

    6.5.5

    No release notes provided.

    6.5.4

    No release notes provided.

    6.5.3

    No release notes provided.

    6.5.2

    • idn_to_ascii() fix for old PHP versions #2489

    6.5.1

    • Better defaults for PHP installations with old ICU lib #2454
    • IDN support for redirects #2424

    6.5.0

    No release notes provided.

    6.4.1

    No release notes provided.

    6.3.3

    No release notes provided.

    6.3.2

    • Bug fix: Parsing 0 epoch expiry times in cookies #2014
    • Improvement: Better ConnectException detection #2012
    • Bug fix: Malformed domain that contains a "/" #1999
    • Bug fix: Undefined offset when a cookie has no first key-value pair #1998
    • Improvement: Support PHPUnit 6 #1953
    • Bug fix: Support empty headers #1915
    • Bug fix: Ignore case during header modifications #1916
    • Minor code cleanups, documentation fixes and clarifications.
    Changelog

    Sourced from guzzlehttp/guzzle's changelog.

    6.5.7 - 2022-06-09

    • Fix failure to strip Authorization header on HTTP downgrade
    • Fix failure to strip the Cookie header on change in host or HTTP downgrade

    6.5.6 - 2022-05-25

    • Fix cross-domain cookie leakage

    6.5.5 - 2020-06-16

    • Unpin version constraint for symfony/polyfill-intl-idn #2678

    6.5.4 - 2020-05-25

    • Fix various intl icu issues #2626

    6.5.3 - 2020-04-18

    • Use Symfony intl-idn polyfill #2550
    • Remove use of internal functions #2548

    6.5.2 - 2019-12-23

    • idn_to_ascii() fix for old PHP versions #2489

    6.5.1 - 2019-12-21

    • Better defaults for PHP installations with old ICU lib #2454
    • IDN support for redirects #2424

    6.5.0 - 2019-12-07

    • Improvement: Added support for reset internal queue in MockHandler. #2143
    • Improvement: Added support to pass arbitrary options to curl_multi_init. #2287
    • Fix: Gracefully handle passing null to the header option. #2132
    • Fix: RetryMiddleware did not do exponential delay between retries due unit mismatch. #2132 Previously, RetryMiddleware would sleep for 1 millisecond, then 2 milliseconds, then 4 milliseconds. After this change, RetryMiddleware will sleep for 1 second, then 2 seconds, then 4 seconds. Middleware::retry() accepts a second callback parameter to override the default timeouts if needed.
    • Fix: Prevent undefined offset when using array for ssl_key options. #2348
    • Deprecated ClientInterface::VERSION

    6.4.1 - 2019-10-23

    • No guzzle.phar was created in 6.4.0 due expired API token. This release will fix that
    • Added parent::__construct() to FileCookieJar and SessionCookieJar

    6.4.0 - 2019-10-23

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies php 
    opened by dependabot[bot] 1
  • Bump guzzlehttp/guzzle from 6.3.0 to 6.5.6

    Bump guzzlehttp/guzzle from 6.3.0 to 6.5.6

    Bumps guzzlehttp/guzzle from 6.3.0 to 6.5.6.

    Release notes

    Sourced from guzzlehttp/guzzle's releases.

    Release 6.5.6

    See change log for changes.

    6.5.5

    No release notes provided.

    6.5.4

    No release notes provided.

    6.5.3

    No release notes provided.

    6.5.2

    • idn_to_ascii() fix for old PHP versions #2489

    6.5.1

    • Better defaults for PHP installations with old ICU lib #2454
    • IDN support for redirects #2424

    6.5.0

    No release notes provided.

    6.4.1

    No release notes provided.

    6.3.3

    No release notes provided.

    6.3.2

    • Bug fix: Parsing 0 epoch expiry times in cookies #2014
    • Improvement: Better ConnectException detection #2012
    • Bug fix: Malformed domain that contains a "/" #1999
    • Bug fix: Undefined offset when a cookie has no first key-value pair #1998
    • Improvement: Support PHPUnit 6 #1953
    • Bug fix: Support empty headers #1915
    • Bug fix: Ignore case during header modifications #1916
    • Minor code cleanups, documentation fixes and clarifications.
    Changelog

    Sourced from guzzlehttp/guzzle's changelog.

    6.5.6 - 2022-05-25

    • Fix cross-domain cookie leakage

    6.5.5 - 2020-06-16

    • Unpin version constraint for symfony/polyfill-intl-idn #2678

    6.5.4 - 2020-05-25

    • Fix various intl icu issues #2626

    6.5.3 - 2020-04-18

    • Use Symfony intl-idn polyfill #2550
    • Remove use of internal functions #2548

    6.5.2 - 2019-12-23

    • idn_to_ascii() fix for old PHP versions #2489

    6.5.1 - 2019-12-21

    • Better defaults for PHP installations with old ICU lib #2454
    • IDN support for redirects #2424

    6.5.0 - 2019-12-07

    • Improvement: Added support for reset internal queue in MockHandler. #2143
    • Improvement: Added support to pass arbitrary options to curl_multi_init. #2287
    • Fix: Gracefully handle passing null to the header option. #2132
    • Fix: RetryMiddleware did not do exponential delay between retries due unit mismatch. #2132 Previously, RetryMiddleware would sleep for 1 millisecond, then 2 milliseconds, then 4 milliseconds. After this change, RetryMiddleware will sleep for 1 second, then 2 seconds, then 4 seconds. Middleware::retry() accepts a second callback parameter to override the default timeouts if needed.
    • Fix: Prevent undefined offset when using array for ssl_key options. #2348
    • Deprecated ClientInterface::VERSION

    6.4.1 - 2019-10-23

    • No guzzle.phar was created in 6.4.0 due expired API token. This release will fix that
    • Added parent::__construct() to FileCookieJar and SessionCookieJar

    6.4.0 - 2019-10-23

    • Improvement: Improved error messages when using curl < 7.21.2 #2108
    • Fix: Test if response is readable before returning a summary in RequestException::getResponseBodySummary() #2081
    • Fix: Add support for GUZZLE_CURL_SELECT_TIMEOUT environment variable #2161
    • Improvement: Added GuzzleHttp\Exception\InvalidArgumentException #2163
    • Improvement: Added GuzzleHttp\_current_time() to use hrtime() if that function exists. #2242

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies php 
    opened by dependabot[bot] 1
  • some explanation of relationships

    some explanation of relationships

    I'm still not getting all abaout relationships. I manage to set a "similar" relationship through configuration, but can then apply this relationships between differents concepts? I see the Relations tab while editing a concept and the example 42: { type: uses }. What is this 42? Should set the relation by looking the id of the related concepts? Thanks

    opened by robertgarrigos 1
  • Add docker, docker-compose configuration

    Add docker, docker-compose configuration

    Also, I have added content to the wiki to document this. You can pull it in via:

    1. git clone https://github.com/oschettler/knowfox.wiki.git
    2. git remote add pr https://github.com/rctay/knowfox.git
    3. git fetch pr ray/wiki
    4. git merge --no-ff pr/ray/wiki
    opened by rctay 1
  • Bugsnag usage is problematic

    Bugsnag usage is problematic

    On a fresh install a user usually doesn't have a bugsnag account. Yet the ApplicationServiceProvider binds the default logging interface to bugsnag, even if it's not available. At the very least local logging shouldn't be disabled by using bugsnag.multi:

    $this->app->alias('bugsnag.multi', \Illuminate\Contracts\Logging\Log::class);
    $this->app->alias('bugsnag.multi', \Psr\Log\LoggerInterface::class);
    

    With Laravel 5.6 this can of course be handled better.

    opened by dakira 1
  • Bump erusev/parsedown from 1.6.3 to 1.7.4

    Bump erusev/parsedown from 1.6.3 to 1.7.4

    Bumps erusev/parsedown from 1.6.3 to 1.7.4.

    Release notes

    Sourced from erusev/parsedown's releases.

    1.7.4

    Introduce rawHtml concept from beta 1.8 that extensions may optionally utilise. In 1.8 beta versions this feature is utilised internally and might have compatibility issues with extensions, this release does not use this feature internally so no such issues will be present.

    1.7.3

    No release notes provided.

    1.7.2

    This is a security release and resolves an issue which would allow a user to add arbitrary classes to fenced code blocks. This might have security consequences, see #699 for more detail.

    1.7.1

    This is a bugfix release. The following have been resolved:

    #475: "Loose" lists will now contain paragraphs in all items, not just some. #433: Links will no longer be double nested #525: The info-string when beginning a code block may now contain non-word characters (e.g. c++) #561: The mbstring extension (which we already depend on) has been added explicitly to composer.json #563: The Parsedown::version constant now matches the release version #560: Builds will now fail if we forget to update the version constant again 😉

    Thanks to @​PhrozenByte, @​harikt, @​erusev, @​luizbills, and @​aidantwoods for their contributions to this release.

    Safe Mode

    No release notes provided.

    Commits
    • cb17b64 Increment version for release
    • 21f99b1 Merge pull request #745 from aidantwoods/dev-1.7.x/opt-in-rawHtml
    • 791faca Test on 7.4
    • add8d18 Add rawHtml without using it (extensions may opt-in)
    • 7073ac3 Dev for 1.7.4
    • 3d2b25b Add test to prevent regression
    • 6d89393 New release due to mislabeled previous tag
    • d60bcdc Bump version
    • c390a9e Merge pull request #700 from aidantwoods/fix/spaces-in-class-names-1.7.x
    • 0f1e9da Fix test platforms
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies php 
    opened by dependabot[bot] 0
  • Bump guzzlehttp/psr7 from 1.4.2 to 1.8.5

    Bump guzzlehttp/psr7 from 1.4.2 to 1.8.5

    Bumps guzzlehttp/psr7 from 1.4.2 to 1.8.5.

    Release notes

    Sourced from guzzlehttp/psr7's releases.

    1.8.5

    See change log for changes.

    1.8.4

    See change log for changes.

    1.8.3

    See change log for changes.

    1.8.2

    See change log for changes.

    1.8.1

    See change log for changes.

    1.8.0

    See change log for changes.

    1.7.0

    See change log for changes.

    Revert PSR-7 type assertions

    1.6.0 introduced a few type assertions to enforce types defined by PSR-7. Unfortunately that break the library for users not strictly following the PSR-7 standard. Since the users impacted by this change seems to be rather large, this hotfix reverts that change with the note that we will reapply it in 2.0.0, so fixing this is recommended regardless of which version you use.

    Details are in #282 and #283

    1.6.0

    Version 1.6.0 is released which will likely be the last minor release in 1.x. We're focussing 2.0 now with support for psr/http-factory, PHP 7.2 requirement and type declarations.

    Added

    • Allowed version ^3.0 of ralouphie/getallheaders dependency (#244)
    • Added MIME type for WEBP image format (#246)
    • Added more validation of values according to PSR-7 and RFC standards, e.g. status code range (#250, #272)

    Changed

    • Tests don't pass with HHVM 4.0, so HHVM support got dropped. Other libraries like composer have done the same. (#262)
    • Accept port number 0 to be valid (#270)

    Fixed

    • Fixed subsequent reads from php://input in ServerRequest (#247)
    • Fixed readable/writable detection for certain stream modes (#248)
    • Fixed encoding of special characters in the userInfo component of an URI (#253)

    1.5.0

    After a really long waiting period, 1.5.0 is finally here with the following changes:

    Added

    ... (truncated)

    Changelog

    Sourced from guzzlehttp/psr7's changelog.

    1.8.5 - 2022-03-20

    Fixed

    • Correct header value validation

    1.8.4 - 2022-03-20

    Fixed

    • Validate header values properly

    1.8.3 - 2021-10-05

    Fixed

    • Return null in caching stream size if remote size is null

    1.8.2 - 2021-04-26

    Fixed

    • Handle possibly unset url in stream_get_meta_data

    1.8.1 - 2021-03-21

    Fixed

    • Issue parsing IPv6 URLs
    • Issue modifying ServerRequest lost all its attributes

    1.8.0 - 2021-03-21

    Added

    • Locale independent URL parsing
    • Most classes got a @final annotation to prepare for 2.0

    Fixed

    • Issue when creating stream from php://input and curl-ext is not installed
    • Broken Utils::tryFopen() on PHP 8

    1.7.0 - 2020-09-30

    Added

    • Replaced functions by static methods

    Fixed

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies php 
    opened by dependabot[bot] 0
  • Bump phpseclib/phpseclib from 2.0.9 to 2.0.31

    Bump phpseclib/phpseclib from 2.0.9 to 2.0.31

    Bumps phpseclib/phpseclib from 2.0.9 to 2.0.31.

    Release notes

    Sourced from phpseclib/phpseclib's releases.

    2.0.31

    • X509: always parse the first cert of a bundle (#1568)
    • SSH2: behave like putty with broken publickey auth (#1572)
    • SSH2: don't close channel on unexpected response to channel request (#1631)
    • RSA: support keys with PSS algorithm identifier (#1584)
    • RSA: cleanup RSA PKCS#1 v1.5 signature verification (CVE-2021-30130)
    • SFTP/Stream: make it so you can write past the end of a file (#1618)
    • SFTP: fix undefined index notice in stream touch() (#1615)
    • SFTP: digit only filenames were converted to integers by php (#1623)
    • BigInteger: fix issue with toBits on 32-bit PHP 8 installs
    • Crypt: use a custom error handler for mcrypt to avoid deprecation errors

    2.0.30

    • X509: don't attempt to parse multi-cert PEMs (#1542)
    • SFTP: add stream to get method (#1546)
    • SFTP: progress callback should report actual downloaded bytes (#1543)
    • SSH2: end connection faster for algorithm mismatch
    • SSH2: add setKeepAlive() method (#1529)
    • ANSI: fix PHP8 compatibility issues

    Download PHP Secure Communications Library

    2.0.29

    • SFTP: add enableDatePreservation() / disableDatePreservation() (#1496)
    • SFTP: uploads on low speed networks could get in infinite loop (#1507)
    • SSH2: when building algo list look at if crypto engine is set (#1500)
    • X509: really looong base64 encoded strings broke extractBER() (#1486)

    Download PHP Secure Communications Library

    2.0.28

    • SFTP: realpath('') produced an error (#1474)
    • SFTP: if /path/to/file is a file then /path/to/file/whatever errors (#1475)
    • SFTP: speed up uploads (by changing SFTP upload packet size from 4KB to 32KB)
    • ANSI: fix "Number of elements can't be negative" error

    2.0.27

    • SFTP: change the mode with a SETSTAT instead of MKDIR (#1463)
    • SFTP: make it so extending SFTP class doesn't cause a segfault (#1465)
    • Random::string didn't always return all the requested bytes (#1466)

    2.0.26

    • SFTP: another attempt at speeding up uploads (#1455)
    • SSH2: try logging in with none as an auth method first (#1454)
    • ASN1: fix for malformed ASN1 strings (#1456)

    2.0.25

    • SFTP: re-add buffering (#1455)

    2.0.24

    ... (truncated)

    Changelog

    Sourced from phpseclib/phpseclib's changelog.

    2.0.31 - 2021-04-06

    • X509: always parse the first cert of a bundle (#1568)
    • SSH2: behave like putty with broken publickey auth (#1572)
    • SSH2: don't close channel on unexpected response to channel request (#1631)
    • RSA: support keys with PSS algorithm identifier (#1584)
    • RSA: cleanup RSA PKCS#1 v1.5 signature verification (CVE-2021-30130)
    • SFTP/Stream: make it so you can write past the end of a file (#1618)
    • SFTP: fix undefined index notice in stream touch() (#1615)
    • SFTP: digit only filenames were converted to integers by php (#1623)
    • BigInteger: fix issue with toBits on 32-bit PHP 8 installs
    • Crypt: use a custom error handler for mcrypt to avoid deprecation errors

    2.0.30 - 2020-12-16

    • X509: don't attempt to parse multi-cert PEMs (#1542)
    • SFTP: add stream to get method (#1546)
    • SFTP: progress callback should report actual downloaded bytes (#1543)
    • SSH2: end connection faster for algorithm mismatch
    • SSH2: add setKeepAlive() method (#1529)
    • ANSI: fix PHP8 compatibility issues

    2.0.29 - 2020-09-07

    • SFTP: add enableDatePreservation() / disableDatePreservation() (#1496)
    • SFTP: uploads on low speed networks could get in infinite loop (#1507)
    • SSH2: when building algo list look at if crypto engine is set (#1500)
    • X509: really looong base64 encoded strings broke extractBER() (#1486)

    2.0.28 - 2020-07-08

    • SFTP: realpath('') produced an error (#1474)
    • SFTP: if /path/to/file is a file then /path/to/file/whatever errors (#1475)
    • SFTP: speed up uploads (by changing SFTP upload packet size from 4KB to 32KB)
    • ANSI: fix "Number of elements can't be negative" error

    2.0.27 - 2020-05-22

    • SFTP: another attempt at speeding up uploads (#1455)
    • SSH2: try logging in with none as an auth method first (#1454)
    • ASN1: fix for malformed ASN1 strings (#1456)

    2.0.26 - 2020-03-22

    • SFTP: another attempt at speeding up uploads (#1455)
    • SSH2: try logging in with none as an auth method first (#1454)
    • ASN1: fix for malformed ASN1 strings (#1456)

    2.0.25 - 2020-02-25

    ... (truncated)

    Commits
    • 233a920 CHANGELOG: add 2.0.31 release
    • 364704a Merge branch '1.0' into 2.0
    • 05550b9 Merge pull request #1635 from terrafrost/moosa-1.0
    • f95b039 Merge branch 'moosa-1.0' into moosa-2.0
    • 149b4d2 RSA: fix for PHP8
    • 74435e1 Merge branch 'moosa-1.0' into moosa-2.0
    • 8af4280 RSA: misc fixes for 'without NULL' PKCS1 signature validation
    • d70abb9 fix broken unit test
    • 43eeb85 Merge branch 'moosa-1.0' into moosa-2.0
    • 581fbdb CS adjustments
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies php 
    opened by dependabot[bot] 0
  • Registering results in error

    Registering results in error

    When registering I get this: Whoops, looks like something went wrong. 1/1 FatalErrorException in HandleExceptions.php line 59: Maximum execution time of 30 seconds exceeded

    Is there some documentation as to how the installation has to be done exactly? Something seems to be wrong.

    opened by nickbe 4
  • Bump symfony/http-foundation from 3.3.10 to 3.4.36

    Bump symfony/http-foundation from 3.3.10 to 3.4.36

    Bumps symfony/http-foundation from 3.3.10 to 3.4.36.

    Changelog

    Sourced from symfony/http-foundation's changelog.

    CHANGELOG

    5.1.0

    • Deprecate Response::create(), JsonResponse::create(), RedirectResponse::create(), and StreamedResponse::create() methods (use __construct() instead)

    5.0.0

    • made Cookie auto-secure and lax by default
    • removed classes in the MimeType namespace, use the Symfony Mime component instead
    • removed method UploadedFile::getClientSize() and the related constructor argument
    • made Request::getSession() throw if the session has not been set before
    • removed Response::HTTP_RESERVED_FOR_WEBDAV_ADVANCED_COLLECTIONS_EXPIRED_PROPOSAL
    • passing a null url when instantiating a RedirectResponse is not allowed

    4.4.0

    • passing arguments to Request::isMethodSafe() is deprecated.
    • ApacheRequest is deprecated, use the Request class instead.
    • passing a third argument to HeaderBag::get() is deprecated, use method all() instead
    • [BC BREAK] PdoSessionHandler with MySQL changed the type of the lifetime column, make sure to run ALTER TABLE sessions MODIFY sess_lifetime INTEGER UNSIGNED NOT NULL to update your database.
    • PdoSessionHandler now precalculates the expiry timestamp in the lifetime column, make sure to run CREATE INDEX EXPIRY ON sessions (sess_lifetime) to update your database to speed up garbage collection of expired sessions.
    • added SessionHandlerFactory to create session handlers with a DSN
    • added IpUtils::anonymize() to help with GDPR compliance.

    4.3.0

    • added PHPUnit constraints: RequestAttributeValueSame, ResponseCookieValueSame, ResponseHasCookie, ResponseHasHeader, ResponseHeaderSame, ResponseIsRedirected, ResponseIsSuccessful, and ResponseStatusCodeSame
    • deprecated MimeTypeGuesserInterface and ExtensionGuesserInterface in favor of Symfony\Component\Mime\MimeTypesInterface.
    • deprecated MimeType and MimeTypeExtensionGuesser in favor of Symfony\Component\Mime\MimeTypes.
    • deprecated FileBinaryMimeTypeGuesser in favor of Symfony\Component\Mime\FileBinaryMimeTypeGuesser.
    • deprecated FileinfoMimeTypeGuesser in favor of Symfony\Component\Mime\FileinfoMimeTypeGuesser.
    • added UrlHelper that allows to get an absolute URL and a relative path for a given path

    4.2.0

    • the default value of the "$secure" and "$samesite" arguments of Cookie's constructor
    ... (truncated)
    Commits
    • d2d0cfe [HttpFoundation] Fixed typo
    • f7efd0b Simpler example for Apache basic auth workaround
    • ef5fed4 [HttpFoundation] Allow redirecting to URLs that contain a semicolon
    • c9425ba Fix MySQL column type definition.
    • 9e4b3ac [HttpFoundation] fix guessing mime-types of files with leading dash
    • a5d46a3 Fix MockFileSessionStorageTest::sessionDir being used after it's unset
    • 7b4626a Remove unused local variables in tests
    • 4db558c Add plus character + to legal mime subtype
    • 233f40c [HttpFoundation] Check if data passed to SessionBagProxy::initialize is an array
    • 35ffbbf [HttpFoundation] allow additinal characters in not raw cookies
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v0.2.2)
Examination tasks to test backend knowledge (for junior level)

Task 1 The website of one of our old clients was hacked. After hacking, a strange red bar appeared on the site at the bottom of the page (https://imgu

dev.family 4 Apr 29, 2022
A full-featured personal project management tool with task boards.

Dingo Project Management A full-featured personal project management tool with task boards. Installation You can install using the following way: Clon

Zeeshan Ahmad 267 Oct 30, 2022
Drupal is an open source content management platform supporting a variety of websites ranging from personal weblogs to large community-driven websites.

Drupal is an open source content management platform supporting a variety of websites ranging from personal weblogs to large community-driven websites.

Drupal 3.8k Nov 28, 2022
PHP web based Password Manager for business and personal use.

sysPass - Systems Password Manager Join us in the Gitter chat room: PHP web based Password Manager for business and personal use. AES-256 encryption i

RubénD 894 Dec 5, 2022
DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

kuaifan 2.8k Dec 1, 2022
Koel is a simple web-based personal audio streaming service written in Vue and Laravel

Koel (also stylized as koel, with a lowercase k) is a simple web-based personal audio streaming service written in Vue on the client side and Laravel on the server side. Targeting web developers, Koel embraces some of the more modern web technologies – CSS grid, audio, and drag-and-drop API to name a few – to do its job.

Koel 14.2k Dec 1, 2022
This is a personal portfolio and blog project based on Laravel 5.1.

nahid.co [Laravel 5.1] This is my personal blog project develop with latest Laravel version 5.1. Its opensource for students learning purpose. Install

Nahid Bin Azhar 22 Aug 12, 2022
Firefly III: a personal finances manager

"Firefly III" is a (self-hosted) manager for your personal finances. It can help you keep track of your expenses and income, so you can spend less and save more. Firefly III supports the use of budgets, categories and tags. Using a bunch of external tools, you can import data. It also has many neat financial reports available.

Firefly III 9.3k Dec 3, 2022
My personal blog - written in Gatsby

Gatsby's blog starter Kick off your project with this blog boilerplate. This starter ships with the main Gatsby configuration files you might need to

Dwight Watson 2 Jan 8, 2022
My personal note-taking application.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Ryan Chandler 3 Oct 31, 2021
This repository contains source code of my personal portfolio at naurislinde.com

The source code of naurislinde.com This repository contains source code of my personal portfolio at naurislinde.com Getting Started These instructions

Nauris Linde 7 Sep 12, 2022
Online personal and group chat application using HTML, CSS, JS, PHP,SQL and AJAX that allows users to create own groups, chat

Online personal and group chat application using HTML, CSS, JS, PHP,SQL and AJAX that allows users to create own groups, chat, make friends, check new notifications and edit functionality. Chat automatically updates using AJAX to allow for real-time chatting with other users collected from the database.

Dave Sharma 2 Aug 5, 2022
The classic email sending library for PHP - this is my personal fork, please post issues on the upstream project

PHPMailer - A full-featured email creation and transfer class for PHP Build status: Class Features Probably the world's most popular code for sending

Marcus Bointon 1.5k Nov 25, 2022
A full-featured home hosted Cloud Drive, Personal Assistant, App Launcher, File Converter, Streamer, Share Tool & More!

A Fully Featured home-hosted Cloud Storage platform and Personal Assistant that Converts files, OCR's images & documents, Creates archives, Scans for viruses, Protects your server, Keeps itself up-to-date, and Runs your own AppLauncher!

Justin Grimes 176 Nov 11, 2022
mini Project in Laravel and vue js. Real World Laravel 8x + vue js Dashboard.Task management and project management system

mini Project in Laravel and vue js. Real World Laravel 8x + vue js Dashboard.Task management and project management system. Dashboard features such as: Complete Dashboard, Custom Authentication, Email Verification, custom-login-register-forgot password (without jetstream).

Hasmukh Dharajiya 2 Sep 20, 2022
Laravel-Library-Management-system is nice to management library system...

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Eng Hasan Hajjar 2 Sep 30, 2022
Open Source Voucher Management System is a web application for manage voucher. used PHP with Laravel Framework and use MySQL for Database.

Voucher Management System is a web application for manage voucher. You can create and manage your voucher. Voucher Management System is used PHP with Laravel Framework and use MySQL for Database.

Artha Nugraha Jonar 34 Sep 17, 2022
This is a visitor management system, developed by the use of Laravel 8 combined with Jetstream, Livewire and Tailwind CSS.

This is a visitor management system, developed by the use of Laravel 8 combined with Jetstream, Livewire and Tailwind CSS.

Marios Tsouras 0 Apr 23, 2022
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

Lychee A great looking and easy-to-use photo-management-system. Since the 1st of April 2018 this project has moved to it's own Organisation (https://g

Tobias Reich 6.1k Nov 30, 2022