|
1 | | -# 2023-03-18 RELEASE 6.3.1 |
| 1 | +# 2023-03-26 RELEASE 6.3.2 |
| 2 | + |
| 3 | +## fix: `ROUND`, `ENCODE_FOR_URI` and `SECONDS` SPARQL functions (#2314) |
| 4 | + |
| 5 | +Commit [af17916](https://github.com/RDFLib/rdflib/commit/af17916), closes [#2314](https://github.com/RDFLib/rdflib/issues/2314). |
| 6 | + |
| 7 | + |
| 8 | +`ROUND` was not correctly rounding negative numbers towards positive infinity, |
| 9 | +`ENCODE_FOR_URI` incorrectly treated `/` as safe, and `SECONDS` did not include |
| 10 | +fractional seconds. |
| 11 | + |
| 12 | +This change corrects these issues. |
| 13 | + |
| 14 | +- Closes <https://github.com/RDFLib/rdflib/issues/2151>. |
| 15 | + |
| 16 | + |
| 17 | +## fix: add `__hash__` and `__eq__` back to `rdflib.paths.Path` (#2292) |
| 18 | + |
| 19 | +Commit [fe1a8f8](https://github.com/RDFLib/rdflib/commit/fe1a8f8), closes [#2292](https://github.com/RDFLib/rdflib/issues/2292). |
| 20 | + |
| 21 | + |
| 22 | +These methods were removed when `@total_ordering` was added, but |
| 23 | +`@total_ordering` does not add them, so removing them essentially |
| 24 | +removes functionality. |
| 25 | + |
| 26 | +This change adds the methods back and adds tests to ensure they work |
| 27 | +correctly. |
| 28 | + |
| 29 | +All path related tests are also moved into one file. |
| 30 | + |
| 31 | +- Closes <https://github.com/RDFLib/rdflib/issues/2281>. |
| 32 | +- Closes <https://github.com/RDFLib/rdflib/issues/2242>. |
| 33 | + |
| 34 | + |
| 35 | +## fix: Add `to_dict` method to the JSON-LD `Context` class. (#2310) |
| 36 | + |
| 37 | +Commit [d7883eb](https://github.com/RDFLib/rdflib/commit/d7883eb), closes [#2310](https://github.com/RDFLib/rdflib/issues/2310). |
| 38 | + |
| 39 | + |
| 40 | +`Context.to_dict` is used in JSON-LD serialization, but it was not implemented. |
| 41 | +This change adds the method. |
| 42 | + |
| 43 | +- Closes <https://github.com/RDFLib/rdflib/issues/2138>. |
| 44 | + |
| 45 | + |
| 46 | +## fix: add the `wgs` namespace binding back (#2294) |
| 47 | + |
| 48 | +Commit [adf8eb2](https://github.com/RDFLib/rdflib/commit/adf8eb2), closes [#2294](https://github.com/RDFLib/rdflib/issues/2294). |
| 49 | + |
| 50 | + |
| 51 | +<https://github.com/RDFLib/rdflib/pull/1686> inadvertently removed the `wgs` prefix. |
| 52 | +This change adds it back. |
| 53 | + |
| 54 | +- Closes <https://github.com/RDFLib/rdflib/issues/2196>. |
| 55 | + |
| 56 | + |
| 57 | +## fix: change the prefix for `https://schema.org/` back to `schema` (#2312) |
| 58 | + |
| 59 | +Commit [3faa01b](https://github.com/RDFLib/rdflib/commit/3faa01b), closes [#2312](https://github.com/RDFLib/rdflib/issues/2312). |
| 60 | + |
| 61 | + |
| 62 | +The default prefix for `https://schema.org/` registered with |
| 63 | +`rdflib.namespace.NamespaceManager` was inadvertently changed to `sdo` in 6.2.0, |
| 64 | +this however constitutes a breaking change, as code that was using the `schema` |
| 65 | +prefix would no longer have the same behaviour. This change changes the prefix |
| 66 | +back to `schema`. |
| 67 | + |
| 68 | + |
| 69 | +## fix: include docs and examples in the sdist tarball (#2289) |
| 70 | + |
| 71 | +Commit [394fb50](https://github.com/RDFLib/rdflib/commit/394fb50), closes [#2289](https://github.com/RDFLib/rdflib/issues/2289). |
| 72 | + |
| 73 | + |
| 74 | +The sdists generated by setuptools included the `docs` and `examples` |
| 75 | +directories, and they are needed for building docs and running tests using the |
| 76 | +sdist. |
| 77 | + |
| 78 | +This change includes these directories in the sdist tarball. |
| 79 | + |
| 80 | +A `test:sdist` task is also added to `Taskfile.yml` which uses the sdists to run |
| 81 | +pytest and build docs. |
| 82 | + |
| 83 | + |
| 84 | +## fix: IRI to URI conversion (#2304) |
| 85 | + |
| 86 | +Commit [dfa4054](https://github.com/RDFLib/rdflib/commit/dfa4054), closes [#2304](https://github.com/RDFLib/rdflib/issues/2304). |
| 87 | + |
2 | 88 |
|
| 89 | +The URI to IRI conversion was percentage-quoting characters that should not have |
| 90 | +been quoted, like equals in the query string. It was also not quoting things |
| 91 | +that should have been quoted, like the username and password components of a |
| 92 | +URI. |
| 93 | + |
| 94 | +This change improves the conversion by only quoting characters that are not |
| 95 | +allowed in specific parts of the URI and quoting previously unquoted components. |
| 96 | +The safe characters for each segment are taken from |
| 97 | +[RFC3986](https://datatracker.ietf.org/doc/html/rfc3986). |
| 98 | + |
| 99 | +The new behavior is heavily inspired by |
| 100 | + |
| 101 | +[`werkzeug.urls.iri_to_uri`](https://github.com/pallets/werkzeug/blob/92c6380248c7272ee668e1f8bbd80447027ccce2/src/werkzeug/urls.py#L926-L931) |
| 102 | +though there are some differences. |
| 103 | + |
| 104 | +- Closes <https://github.com/RDFLib/rdflib/issues/2120>. |
| 105 | + |
| 106 | +## fix: JSON-LD context construction from a `dict` (#2306) |
| 107 | + |
| 108 | +Commit [832e693](https://github.com/RDFLib/rdflib/commit/832e693), closes [#2306](https://github.com/RDFLib/rdflib/issues/2306). |
| 109 | + |
| 110 | + |
| 111 | +A variable was only being initialized for string-valued inputs, but if a `dict` |
| 112 | +input was passed the variable would still be accessed, resulting in a |
| 113 | +`UnboundLocalError`. |
| 114 | + |
| 115 | +This change initializes the variable always, instead of only when string-valued |
| 116 | +input is used to construct a JSON-LD context. |
| 117 | + |
| 118 | +- Closes <https://github.com/RDFLib/rdflib/issues/2303>. |
| 119 | + |
| 120 | + |
| 121 | +## fix: reference to global inside `get_target_namespace_elements` (#2311) |
| 122 | + |
| 123 | +Commit [4da67f9](https://github.com/RDFLib/rdflib/commit/4da67f9), closes [#2311](https://github.com/RDFLib/rdflib/issues/2311). |
| 124 | + |
| 125 | + |
| 126 | +`get_target_namespace_elements` references the `args` global, which is not |
| 127 | +defined if the function is called from outside the module. This commit fixes |
| 128 | +that instead referencing the argument passed to the function. |
| 129 | + |
| 130 | +- Closes <https://github.com/RDFLib/rdflib/issues/2072>. |
| 131 | + |
| 132 | + |
| 133 | +## fix: restore the 6.1.1 default bound namespaces (#2313) |
| 134 | + |
| 135 | +Commit [57bb428](https://github.com/RDFLib/rdflib/commit/57bb428), closes [#2313](https://github.com/RDFLib/rdflib/issues/2313). |
| 136 | + |
| 137 | + |
| 138 | +The namespaces bound by default by `rdflib.graph.Graph` and |
| 139 | +`rdflib.namespace.NamespaceManager` was reduced in version 6.2.0 of RDFLib, |
| 140 | +however, this also would cause code that worked with 6.1.1 to break, so this |
| 141 | +constituted a breaking change. This change restores the previous behaviour, |
| 142 | +binding the same namespaces as was bound in 6.1.1. |
| 143 | + |
| 144 | +To bind a reduced set of namespaces, the `bind_namespaces` parameter of |
| 145 | +`rdflib.graph.Graph` or `rdflib.namespace.NamespaceManager` can be used. |
| 146 | + |
| 147 | +- Closes <https://github.com/RDFLib/rdflib/issues/2103>. |
| 148 | + |
| 149 | + |
| 150 | +## test: add `webtest` marker to tests that use the internet (#2295) |
| 151 | + |
| 152 | +Commit [cfe6e37](https://github.com/RDFLib/rdflib/commit/cfe6e37), closes [#2295](https://github.com/RDFLib/rdflib/issues/2295). |
| 153 | + |
| 154 | + |
| 155 | +This is being done so that it is easier for downstream packagers to run the test |
| 156 | +suite without requiring internet access. |
| 157 | + |
| 158 | +To run only tests that does not use the internet, run `pytest -m "not webtest"`. |
| 159 | + |
| 160 | +The validation workflow validates that test run without internet access by |
| 161 | +running the tests inside `firejail --net=none`. |
| 162 | + |
| 163 | +- Closes <https://github.com/RDFLib/rdflib/issues/2293>. |
| 164 | + |
| 165 | +## chore: Update CONTRIBUTORS from commit history (#2305) |
| 166 | + |
| 167 | +Commit [1ab4fc0](https://github.com/RDFLib/rdflib/commit/1ab4fc0), closes [#2305](https://github.com/RDFLib/rdflib/issues/2305). |
| 168 | + |
| 169 | + |
| 170 | +This ensures contributors are credited. Also added .mailmap to fix early misattributed contributions. |
| 171 | + |
| 172 | +## docs: fix typo in NamespaceManager documentation (#2291) |
| 173 | + |
| 174 | +Commit [7a05c15](https://github.com/RDFLib/rdflib/commit/7a05c15), closes [#2291](https://github.com/RDFLib/rdflib/issues/2291). |
| 175 | + |
| 176 | + |
| 177 | +Changed `cdterms` to `dcterms`, see <https://github.com/RDFLib/rdflib/issues/2196> for more info. |
| 178 | + |
| 179 | + |
| 180 | +# 2023-03-18 RELEASE 6.3.1 |
3 | 181 |
|
4 | 182 | This is a patch release that includes a singular user facing fix, which is the |
5 | 183 | inclusion of the `test` directory in the `sdist` release artifact. |
|
0 commit comments