Skip to content

Commit

Permalink
chore(release): 0.13.0
Browse files Browse the repository at this point in the history
  • Loading branch information
alerque committed Jun 9, 2022
1 parent 4df0f0f commit d5bc855
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 2 deletions.
83 changes: 83 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,89 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [0.13.0](https://github.com/sile-typesetter/sile/compare/v0.12.5...v0.13.0) (2022-06-09)


### ⚠ BREAKING CHANGES

* **settings:** All the functions under `SILE.settings.*()` should now be
called using the instance notation `SILE.settings:*()`. Usage should be
shimmed with a warning for now.

Changing this in your code is relatively easy with a search and replace.
As an example with a project in Git, you could use perl like this:

```console
funcs="pushState|popState|declare|reset|toplevelState|get|set|temporarily|wrap"
git ls-files | xargs -n1 perl -i -pne "s#(SILE\.settings)\.($funcs)#\1:\2#g"
```
* **typesetter:** Making a new instance of the typesetter should now be
done by *calling* `SILE.defaultTypesetter()` instead of copying the
object. It has been changed from a std.object to a Penlight class. As
such the correct initialization function is also now `_init()` instead
of `init()`. A shim is in place to catch legacy usage, but this will be
removed in the future.
* **deps:** All calls to the Lua default string library have been
using a version monkey-patched by stdlib. This has created all sorts of
issues including not being able to properly use some of Lua's default
features and conflicts with out explicit meta methods. Also we're busy
dropping dependency stdlib altogether.

If you were relying on it for any of your string operations, replace
`string.func()` with `std.string.func()`. For now `std` is being
provided by SILE, but if you use it in your projects please add it as
a direct dependency yourself since that will eventually be removed as
well.

By the way in case anything ever `git bisect`s back to here, one way to
test if your problem is related to this change or not (especially if you
have downstream code that might have built on the assumption SILE's Lua
strings were monkey patched) is to load it manually yourself:

```console
$ sile -e 'require("std.string").monkey_patch()' your_file.sil
```
* **classes:** This changes the way classes are represented as Lua
objects and the mechanism used for inheritance. While shims will be in
place to catch most cases that use old syntax it is not possible to
grantee 100% API compatibility. If you have classes that do anything
remotely fancy (i.e. not just copy/paste from SILE examples) they may or
may not work at all; and even if they do they should be updated to
explicitly use the new API.

### Features

* **classes:** Add hook system for more versatile packages ([9287721](https://github.com/sile-typesetter/sile/commit/9287721217970a6262a25f5fe697ac211d1ebaca))
* **languages:** Add \ftl command to make adding fluent localizations easy ([b331456](https://github.com/sile-typesetter/sile/commit/b3314564afa5d4e38dc5f28277b13aa9dbe8668b))
* **languages:** Add fluent() command to output translations ([ad87995](https://github.com/sile-typesetter/sile/commit/ad87995ebbbce464b3a7075961db29e681607823))
* **languages:** Validate languages against CLDR database ([f96a331](https://github.com/sile-typesetter/sile/commit/f96a33133ecefa641e06139f90bc6b1931be5656))


### Bug Fixes

* **backends:** Add Pango shaper when selecting Cairo backend ([bbc2817](https://github.com/sile-typesetter/sile/commit/bbc2817c01e20ba04c5fe7d4c40de4c9b5155ffc))
* **backends:** Always output pdf on finish() even if no content ([3af7a94](https://github.com/sile-typesetter/sile/commit/3af7a94d39b11555cf2159f5f4a9c416259f7fa3))
* **backends:** Correct image sizing in Cairo and Podofo backends ([f2785ad](https://github.com/sile-typesetter/sile/commit/f2785ade39842caf40519239ee58e3db3e17cc9d))
* **core:** Avoid throwing deprecation errors when just inspecting SILE's internals ([b303059](https://github.com/sile-typesetter/sile/commit/b303059fe85d323d8a459e8025340464f4bdd0dd))
* **core:** Justify lines with ligatures (workaround) ([cf2cb3a](https://github.com/sile-typesetter/sile/commit/cf2cb3a34e72132705bda3e9fbe4bb97ac37e1f8))
* **core:** Patch Penlight 1.9.0 compatibility issue ([092fbd3](https://github.com/sile-typesetter/sile/commit/092fbd38c60677a92029a8504d5baa8c9e25c37b))
* **languages:** Correct bogus usage of resource loading / error catching ([fb1fd7f](https://github.com/sile-typesetter/sile/commit/fb1fd7f1cb39ee7d36b6d5253da94f906afba8f2))
* **packages:** An hrule with depth shall not affect current baseline ([c759892](https://github.com/sile-typesetter/sile/commit/c759892d09b9ffa1c3c2d25d69d0324b34884b13))
* **packages:** Don't destroy frames when defining masters, only when switching to one ([b7de7ca](https://github.com/sile-typesetter/sile/commit/b7de7caadf5b07f819f3e483f0f1712d06d9facc))
* **packages:** Fix autodoc parsing, typeset string not series of bytes ([14f6126](https://github.com/sile-typesetter/sile/commit/14f61266b6b19835d1019d94015d2e0bfa2612b1))


### Miscellaneous Chores

* **deps:** Drop std.string.monkey_patch() ([e8b2bdf](https://github.com/sile-typesetter/sile/commit/e8b2bdf96b50646698c75961fddff2da26ce57ec))


### Code Refactoring

* **classes:** Convert class inheritance from stdlib to Penlight ([f7dafe0](https://github.com/sile-typesetter/sile/commit/f7dafe0623a981e9532fbb0108876517786bd1d8))
* **settings:** Change settings object to be self referential ([dd97d05](https://github.com/sile-typesetter/sile/commit/dd97d05cf02e89213492d1308544177a482de7ea))
* **typesetter:** Change typesetter instancing to Penlight model ([a9400ad](https://github.com/sile-typesetter/sile/commit/a9400ad0e759b6b8787b4307c10984ce91e354dc))

### [0.12.5](https://github.com/sile-typesetter/sile/compare/v0.12.4...v0.12.5) (2022-04-18)


Expand Down
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ inputs:
default: ""
runs:
using: docker
image: docker://ghcr.io/sile-typesetter/sile:v0.12.5
image: docker://ghcr.io/sile-typesetter/sile:v0.13.0
entrypoint: sh
args:
- -c
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "sile",
"version": "0.12.5",
"version": "0.13.0",
"description": "The SILE Typesetter",
"main": "sile",
"scripts": {
Expand Down

0 comments on commit d5bc855

Please sign in to comment.