Skip to content

Releases: qr-merger/merger

Update 0.28.6: Deprecation of cdnjs.com Mirrors & Gulp Workflow Changes

27 Apr 22:47
Compare
Choose a tag to compare

Changes

  • A recent observation is that most if not all cdnjs.com mirrors in China are out-of-sync (staticfile.net, css.loli.net, cdn.bytedance.com) or otherwise inaccessible (cdn.baomitu.com). Therefore, with this update we are opting for fully localised library loading, including jQuery and jquery-qrcode. The one-file usage is still supported, in which cdnjs.com is directly used to include static libraries.
    • Regarding the use of Public CDNs, fastly.jsdelivr.net and cdnjs.cloudflare.com were both amongst the considerations made. We chose the latter because of its relative accessibility in China, lower packet-loss rate at evening 'peak' times despite relatively higher latency.
  • Updated the gulp workflow to include jQuery and jquery-qrcode in addition to some behaviour changes.
  • Minor changes in merger.html regarding behaviour, logic and code comments.
  • Updated README.md.

Overall, all this update does is:

  1. When used with npm, gulp will include all libraries in one file, eliminating reliance on external mirrors
  2. When used as a standalone html, libraries are served through cdnjs.com.

This release will remain as pre-release, pending further observation.

Full Changelog: 0.28.4...0.28.6

Update 0.28.4: Optimisation-Focused

16 Jun 00:47
Compare
Choose a tag to compare

The last production release of this project was 0.27.0, which was a year and a half ago.

Throughout this time period, despite grave challenges in the maintainer's personal circumstances, they released 0.27.1 (Pre-release), 0.28.0-beta, 0.28.0-rc, 0.28.1-beta and 0.28.2-beta, all gradually improving the experience over this project bits by bits.

Today, we are proud to bring you the next major version, 0.28.4. Here's what's changed:

News

🎉 merger now on cdnjs (and its mirrors!)

🥤 Gulp Support Enables Custom-Built Assets and Minification

  • As a part of 0.28.0-rc (#35), we have added gulp support to the project. Previously, merger was nothing more than a single-page HTML application, with minification of html and other asset files done via external integrations.
    • The addition of gulp enables a one-stop shop for html/css/js minification & bundling. In addition, via the npm run build command, a compressed merger site will be exported to the /build directory, preserving all of your customisations made to the code.

🚫 Tenpay (QQ Wallet) Support has been Dropped

  • Due to limitations placed on the QQ Mobile app making scanning QR Code to open merger extremely difficult, while the QQ Wallet holds very little market share and usage today, we have decided to drop support for Tenpay (QQ Wallet)
    • This means the qrcodeapi variable is no longer necessary, while relevant code enabling QQ Wallet support was wholly removed

Changes

Breaking

  • 6f61852 249924a fe296a4 Tenpay (QQ Wallet) support has been dropped due to limitations on QR Code scanning and recognising placed by QQ

Optimisations

  • a96fe30 Changed font families under different langauges for better experiences on some devices.
  • 1b43f96 The loading of the avatar has been prioritised. This is accommplished by putting the relevant JavaScript code before loading external JavaScripts.
  • 9a6d5bf Avatars are now loading avaptively in respect to the device screen size, rounded to the nearest 50px, ranging from 200-500 px.
  • 9b797e7 Update DNS Preconnect header for better speed.
  • 4f8f0f0 Slightly improved performance achieved by moving the MD5 function around.
  • 0f5dfaa After some considerations, the placeholder avatar, considering it's rare practicality, will be loaded remotely on-demand, reversing 088a72c
  • 4ec7f71 The gravatar_url has been changed to sdn.geekzu.org due to the official source experiencing connection_reset issue regionally in China
    • gravatar.loli.net is removed due to a bug on its caching behavour, neglecting the ?s=xxx parameter
    • cravatar.cn was considered but appearenly it involves censorship mechanisms, while confidence is lacked from this project in regards to its long-term sustainability and fundamental philosophy
  • 249924a The logic in verifying whether profile is link or email has been improved to be nearer a good practice
  • d64d207 s1.pstatp.com has been dropped due to its lack of synchronisation; cdn.staticfile.org is now being used, which still offers global CDNs
    • 006d0cc jQuery has been updated to 3.7.0
  • d986ce3 a1c7f04 preconnect headers has been correspondingly updated

Developer Experience

  • 2ece0f3 Rename/remove minified files; at this stage, minified files will no longer rely on particular Code Editors' feature set to be generated. They are now generatable through gulp compile.
  • 472476e, 545b25c, 6a53fa3 and e3fac47 Enable complete gulpjs support
    • npm i
    • npm run compile
    • npm run build - the build will be at /build directory
  • 6f61852 The repository url across the project has been changed to https://github.com/qr-merger/merger
  • c5332e1 A web-analytics script provided by Microsoft Clarity has been added to allow the project to track its usage; disable it by modifying the tracking variable in Config Section from true to false
  • 0f1fc4c Relative paths are used in gulp build to resolve path issues when placed in a sub-directory
  • 63b69e2 jQuery has been added as a NPM package for vulnerability tracking

Sponsorship

  • 08a1c83 42ed171 This project has been sponsored by CloudFlare, correlating logo and link are placed at the README

What's Changed

  • Update 28 Part 1: Functionality Update by @hifocus in #33
  • Update 28 Part 2: Dev Features by @hifocus in #35
  • Bump gulp-html-minifier-terser from 7.0.0-beta.0 to 7.1.0 by @dependabot in #38

Full Changelog: 0.27.0...0.28.4

Update 0.28.2-beta

15 Jun 17:58
Compare
Choose a tag to compare
Update 0.28.2-beta Pre-release
Pre-release

Update 0.28.2-beta is a minor update featuring bug fixes on gulp build and introducing @jquery as a dependency for vulnerability tracking.

Additionally, cdnjs does not appear to have issues with recognition of a file like function.main.js, therefore, the workarounds are removed.

Full Changelog: 0.28.1-beta...0.28.2-beta

Update 0.28.1-beta: Polish and cdnjs adaptation

15 Jun 06:44
Compare
Choose a tag to compare

Update 0.28.1-beta is a transition version featuring polish to overall code quality, while the project awaits a pull request to be merged to enable cdnjs to fetch the bundled static files.

Meanwhile, efforts has been commited on rebuilding the documentation site to offer better interpretation of the use of this project.

News

  • 08a1c83 42ed171 This project has been sponsored by CloudFlare, correlating logo and link are placed at the README

Changes

User-Facing

  • [Breaking] 6f61852 249924a fe296a4 Tenpay (QQ Wallet) support has been dropped due to limitations on QR Code scanning and recognising placed by QQ

Developer-Facing

  • 6f61852 The repository url across the project has been changed to https://github.com/qr-merger/merger
  • 4ec7f71 Significant improvements has been made on code comments of the merger.html file, while the gravatar_url had been changed to sdn.geekzu.org due to the official source experiencing connection_reset issue regionally in China
    • gravatar.loli.net is removed due to a bug on its caching behavour, neglecting the ?s=xxx parameter
    • cravatar.cn was considered but appearenly it involves censorship mechanisms, while confidence is lacked from this project in regards to its long-term sustainability and fundamental philosophy
  • 249924a The logic in verifying whether profile is link or email has been improved to be nearer a good practice
  • d64d207 s1.pstatp.com has been dropped due to its lack of synchronisation; cdn.staticfile.org is now used, which still offers global CDNs
    • 006d0cc jQuery has been updated to 3.7.0
  • d986ce3 a1c7f04 preconnect headers has been correspondingly updated
  • c2b0519 cdnjs/packages#1566 Due to an issue with cdnjs' file matching logic configured for this project, an extra copy of function.main.js and style.main.css has been made under the bundles directory, temporaily enabling loading bundled files through cdnjs and its mirrors

Full Changelog: 0.28.0-rc...0.28.1-beta

Update 28 Part 2: Dev Features | RC

08 Oct 18:24
3a952a4
Compare
Choose a tag to compare
Pre-release

See #35

Update 0.28.0-beta: Functionality Improvements

03 Oct 19:46
7839a15
Compare
Choose a tag to compare

Releasing 0.28.0-beta for testing and early preview. The entire Update 28 is not completed.

For changes see #33.

Update 27.1 jsDelivr Deprecation and Gravatar Fix

28 Apr 16:11
Compare
Choose a tag to compare

Update: this version does not fully replace all jsDelivr links, a futher update is on its way

Changes

  • Replace jsDelivr assets to local jsdelivr/jsdelivr#18392
  • Replace Gravatar mirror to official source amid service status issues

Upgrading to this version is advised as otherwise merger will not work.
As all changes are minor and had been tested to work, this version will be released as stable immediately.

Full Changelog: 0.27.0...0.27.1

Update 27 # Address jsDelivr ICP Revokement & Minor Improvements

20 Dec 19:05
Compare
Choose a tag to compare

Changes

General Changes

  • Please read from the bottom of this release note for more info.
  • Amid jsDelivr degradation, two new Gravatar sources has been added (provided respectively by css.loli.net and the official source) to increase developer's options. 410a0d2
  • Several preconnect Link types has been added to the header of the merger.html, to help resolving and establishing the secure connection to external domains. 410a0d2, 4cfd8c0

jsDelivr Changes

  • jsDelivr has lost its ICP license yesterday, jsdelivr/jsdelivr#18348 (comment)
  • This update altered all jsDelivr links for external libraries - jQuery and jquery-qrcode to the CDN service cdn.baomitu.com. This new CDN source has optimal global access speed; however it's not as versatile as jsDelivr, so part of the jsDelivr links - self-written libraries, remain on jsDelivr. db39b89

Developer-facing Changes

  • From this update all future numbers will be formatted as like 0.0.0 892ddd1
  • The previous version number 0.27 has been withdrawn.

Prospects to the Future

  • This project is no doubt still under maintanence, but given my personal circumstances it may not be possible to actively update this project.
  • Some thoughts for the future direction of this project includes:
    • More extensive Alipay support. #4 (comment)
    • Better code quality. Smaller code scale.
    • More accessible and directive copywritings.
    • Tech-stack update.

As this update is directly based on Update 26.2 (pre-release), and the modifications made are simple therefore unlikely to cause any new issues. This release will therefore marked as stable immediately.

Please may I advise any user of this project to Watch - Custom - Releases of this repository to receive updates in the future when a new release is available.

image

What's Changed

Full Changelog: 0.26.2...0.27.0

Update 26.2 # Gravatar Update (Testing Only)

28 Aug 07:26
84a954f
Compare
Choose a tag to compare

This update contains a change in the gravatar source and minor code comments update.

This update should not be used in production as the new gravatar source contains unknown availibility and stability risks. Use it at your own risk and judgement.

#25

Update 26.1 # Separated jQuery Loading and NPM-Package-wise Changes

11 Oct 17:17
Compare
Choose a tag to compare

For previous changes and some extra notes, please refer to Update 26.

Changes

  • After some consideration and experiments, jQuery will now be loaded separately, as https://cdn.jsdelivr.net/npm/jquery@3, instead of using the combine jsDelivr link like before. This is because any 'version aliasing' links will only have the cache length of half an hour, however if versions are specified, the cache expires much later. Though the requests number is increased by one, I believe by making this change the general loading time will decrease slightly, as we now have very solid caches.
  • The version number across the whole project had also been updated; from 0.21.1 to 0.26.1.

Developer-facing Changes

  • @hifocus/merger at GitHub registry had been deprecated. qr-merger at official NPM registry will be back to work.
  • When switch to alternative asset links (service provided by Zhihu), you could notice subtle loading performance degradations. Please be advised to only do so in the event of jsDelivr goes down.

The 'pre-release' mark for this release will be removed once I can confirm everything works normally.
[Update] - I can now confirm there shouldn't be any issues that would affect the usage of the project. Update 26.1 is now a stable release. Please do report any issues to us as always. Thank you for your continuous support.