Releases: wvanderp/iwf
Time to Snak & Roll
π Time to Snak & Roll! Version 2.3.0 π
Get ready for a game-changing update with a powerhouse of features and enhancements! This release is packed with versatility, polish, and smarter tools to elevate your projects. Let's dive into what makes this release exceptional:
π Features & Enhancements
- π Three New Snak Classes!
- Introducing
EntitySchemaSnak
,WikibaseLexemeSnak
, andWikibaseSenseSnak
. These additions supercharge your toolkit for handling complex data with finesse.
- Introducing
- π― Consistent
dataType
Constants- Improved consistency across all snak classes with sleek, new constants.
- π§ͺ Enhanced Browser Testing!
- π¦ Library builds tested for perfection.
- π Upgraded login tests for added robustness.
- π Multi-stage upload tests to validate end-to-end workflows.
- π‘οΈ Type Guard Upgrades!
- Enhanced checks for new snak classes to safeguard your code. πͺ
π§Ή Refactoring & Polish
- π’ Hash Function Overhaul
- Sleek, new hexadecimal strings replace outdated buffers. Say hello to streamlined data handling!
- β¨ Snak Class Facelift
- Refactored JSON outputs for consistent and clean formatting across all classes.
- π Better Documentation
- Polished
FUTURE.md
for readability and upgradedDEPLOY.md
with clear instructions.
- Polished
π§ͺ Tests Galore!
- π New Unit Tests
- Thoroughly tested the new snak classes for reliability.
- π Integration Tests
- Validated
EntitySchemaSnak
with ID prefixes and Commons integration for smooth functionality.
- Validated
- β
Full Coverage Confidence
- Increased test coverage ensures rock-solid performance.
π Workflow Magic
- π€ GitHub Actions Boost
- Upgraded
codeql-action
to version 3 and expanded Node.js compatibility with a broader test matrix. - Streamlined workflows for speedier development cycles.
- Upgraded
- π― Codecov Upgrade
- Now using version 5 with improved reporting. Added
CODECOV_TOKEN
for seamless integration.
- Now using version 5 with improved reporting. Added
𧩠Miscellaneous
- π¦ Dependency Mastery
- Introduced
.npm-upgrade.json
for better dependency management and clarity.
- Introduced
- π URL Encoding Fixes
- Improved origin handling in API utilities for smoother operations.
- π οΈ Token Utilities Polished
- Enhanced for easier integration and testing.
πΎ Fun Bugs (Squashed) π
- β‘ Flaky Tests Disabled
- Bid farewell to unreliable tests. May they rest in peace. π
This release is all about making your development experience smoother, faster, and smarter. Ready to dive in? Letβs snak and roll! π
This fun change log is brought to you by AI
Where is the time going?
In this release, we fix the TimeSnak. The main reason for this change is that the date was wrongly formatted. This is now fixed.
We introduce a braking change that changes the signature of the TimeSnak.fromDate to use numbers instead of JS dates.
The JS date API is now available as TimeSnak.fromDateObject.
The JS date API works for current dates but is a bit broken for some things, including time zones and dates before 1970.
We also reenabled the upload unit tests.
v2.1.2
v2.1.1
There is a check when you try to use this lib in a browser and update wikidata. This is not possible because wikidata does not accept cors.
When you use a workaround for this error, it still blocks you from achieving your dreams.
So I downgraded the error to a warning and I did not throw it.
v2.1.0
Full Changelog: v2.0.0...v2.1.0
Some highlights:
- added more tests, including integration test on test.wikidata.org and browser tests
- added the ability to use different wikidata servers
- worked on the GitHub ci
Bring your own Axios
It's not possible to directly edit wikidata from the browser. So you would always need to proxy the request through something of a server.
I made this possible by letting you provide your own custom Axios implementation.
I've made https://github.com/wvanderp/axios-over-http to simplified this if you are using node and express on the backend
v2.0.0
In this release, I added the removal of statements. I thought this would work, but it didn't.
- fixed removing statements
- added diffing for items
- to support this, I also added:
- stable internal ids for some entries
- updated all equals functions to include property
- Label, description, alias and sitelink from string function
- solved all lining errors
- made isQstring and isPString typescript guards
- added many tests
known possible issues
There may be issues with deleting other things. More testing is needed to determine this
v1.1.0
this release fixes errors surrounding the quantitySnak and adds new QString and PString for typescript types
Another big change is dropping the support for version 15 of the node.
why QString
The QString is a big part of wikidata because it is used to refer to all items. We wanted to ensure that we always work with a QString in the library. And the best way to do this is to check that at the borders. so we started doing that by setting these types
all the changes
here are the changes in alphabetical order:
- committed
.vscode
to make spellcheck portable - upgrade
codeql-action
to V2 - dropped node 15 from support
- ignored ts-node 10.8.1 because there is a bug around the code coverage
- updated dependencies
- updated jsdoc blocks
- added the QString and PString type and type guards
- use QString and PString internally
- the parameters of
QuantitySnak
are optional, so the output should also be optional - added the ability to create
QuantitySnak
from numbers - added lining to the test files
- added to the test coverage