OctoLinker — Links together, what belongs together
If this release deserves a name, I would call it Brian aka @xt0rted. Brian's contributions are remarkable and I'm so grateful for his contributions and help. Thank you Brian!
Until now, support for PHP was limited to composer files. We want to change this! This release adds support for classes and functions that will link to their respective php.net page.
use ArrayAccess; // => https://www.php.net/manual/en/class.arrayaccess.php
use function preg_last_error; // => https://www.php.net/manual/en/function.preg-last-error.php
Added in #1033 by @stefanbuck
Paket is a dependency manager for .NET projects. OctoLinker links dependencies defined in paket.dependencies
, paket.local
or paket.references
file like we do for package.json
files.
nuget Chessie >= 0.6 // => https://www.nuget.org/packages/Chessie
github fsharp/FAKE modules/Octokit/Octokit.fsx // => https://github.com/fsharp/FAKE/blob/master/modules/Octokit/Octokit.fsx
Added in #1064 by @xt0rted
Unlike many other browser extensions, OctoLinker is maintained and constantly updated since 2013. Please consider supporting our ongoing efforts. Thank you.
This release contains two improvements.
@xt0rted added better GitHub Actions support which adds links for local Actions in the current repo, as well as actions that have sub actions which are located in a sub folder for the given action #943
@stefanbuck worked on better OctoLinker notifications which is addressing #918 along with other improvements to make the notification less intrusive #975. Notifications will now appear in the bottom left corner in a new look and feel. Also dismissed, notification will be hidden for a period of time, if you're visiting a private repo without GitHub token or the token is invalid.
Unlike many other browser extensions, OctoLinker is maintained and constantly updated since 2013. Please consider supporting our ongoing efforts. Thank you.
All changes v6.4.0...v6.5.0
Svelte support + settings page with dark mode
All changes v6.3.0...v6.4.0
Does OctoLinker make your life easier? Support us with a monthly donation.
Hovercard, Go Modules and new permission
As you might have been noticed, OctoLinker requires a new permission to access https://github.com. We explain in detail why this change was needed.
We're thrilled to share this exciting new feature of OctoLinker with you. A hovercard that give you a sense of the linked GitHub repository. It holds the repository description, number of stars and forks, last update date and the primary language. Looks familiar, doesn't it? We borrowed this feature from GitHub.com. Check out #869 for implementation details.
All changes v6.2.2...v6.3.0
New extension permission
For details see https://github.com/OctoLinker/OctoLinker/issues/870
Cargo.toml support and other minor improvements
All changes v6.1.0...v6.2.0
Bug fixes and much better .net support
All changes v6.0.0...v6.1.0
Faster, better and more precisely than ever before
I'm extremely excited about today's release, but before we jump into the release notes for version 6 I want to welcome @xt0rted to the team. He has contributed several improvements ranging from bug fixes to adding .NET support and many other improvements. Welcome Brian 👋
Originally this release was all about performance, but unintentionally it fixed other issues as well.
Back in June last year, @fregante opened an issue with the title "A script in the extension "OctoLinker" is causing Firefox to slow down". Until then, I wasn't aware OctoLinker was slow in Firefox.
OctoLinker uses a library called findAndReplaceDOMText which allows us to apply regular expression against the DOM and wraps each match with a link (now you know our secret sauce). Traversing the DOM for larger files took some time (especially on Firefox). In some circumstances, this even caused Firefox to freeze. This was caused by too many DOM lookups when applying the same regular expression over and over again to find keywords in the DOM.
DOM lookups are expensive and the root cause of this performance problem. Our solution to this is a new step before traversing the DOM. All regular expressions are performed against a string representation first followed by a very targeted DOM query to take online lines into account with a match. This speeds it up significantly.
This reduced the processing time by ~80% on large files and by ~30% for medium size files. In addition, we cap files to the first 5.000 lines to support enormous files with tens of thousand lines.
gihtub:user/repo
#794I am truly grateful to all the wonderful humans and companies supporting the development of OctoLinker. If you find OctoLinker useful, please consider donations through GitHub Sponsors or Open Collective – Thank you 🙇♂️