Skip to content

Releases: Kushim-Jiang/mongolian

v0.15.3

Choose a tag to compare

@Kushim-Jiang Kushim-Jiang released this 05 Oct 11:36

What’s Changed

The latest revision of the UTN is UTN #57, Encoding and Shaping of the Mongolian Script.
The documentation is maintained at https://mongolian.kushim.workers.dev/, and its major revisions are archived and published as revisions of that Note.

  • Repository
    • Publish the site as an archived revision of the UTN when UTN_REVISION is set: the links of the prose, the links Mong renders and the written-units font the site imports now obey the base path /notes/tn57/utn57-mong-<revision>/, which nothing obeyed before, so an archived revision was a site of links that leave it; pdf.py takes that path off a URL before reading it as a file, and pdf.yml passes a revision through to the build and to the script
    • Make the colours the site declares itself follow the theme: the theme provider is Starlight’s own with light for a reader who has never chosen a theme, which is the value the picker shows them, and the colours the stylesheet and the tables declare are custom properties with a value for each theme, the light values being the ones they had
    • Take the dead styles and the doubled rules out of the site: the sidebar toggle, the .toc-under-page rules, the print rules for asides no page writes, and getWritten(), which nothing called; the four tables each repeated the same td, th alignment, which the global rule now carries, and the helper-glyph colours, written five times under three names, are declared once as custom properties
    • Let the punctuation table take the alignment the tables share, dropping the two rules of its own that said what the global rule already says
  • The model and the fonts
    • Important: Write the shape a written form takes before the mark that ends a syllable. The data gives N.fina and Hx.fina a drawing for the end of a syllable a mark separates — a pre_mvs code — and a chachlag onset writes it, the letter standing before the mark that precedes a chachlag a or e; the source fonts carry that drawing under the mvs suffix and no code read it at all. It is a new Phase IIb.2, which the phases after it move up one number for, and it is replaced in Phase IIb rather than by the condition that selects it, because Phase IIb runs after Phase III has consumed the FVS, so the substitution cannot take the form out of the class the FVS is shaped against and leave the FVS unshaped; it is asked for before the narrow MVS alone, since a wide MVS is the separator Phase IIb.3 splits in two
    • Important: Read the drawings of the per-writing-system fonts from unified.ufo again, since a font of a writing system is a copy of the glyphs that writing system writes and the copies had fallen behind: manchu.ufo drew _Hx2.fina with the drawing of _Hx.fina, and hundreds of glyphs across the three fonts no longer matched the source, anchors with them. A glyph a font has and unified.ufo does not is a drawing of that font alone and stays where it is, the glyph order, the font info and the two plists are the font’s own, and the Manchu _Zs.fina, which no lookup in the OTL ever reaches, is deleted; the templates are regenerated after them, the .glyphs files alone, since a .fea file carries the shaping of the written forms and not the drawings
    • Draw the marks and the digits in the fonts that write them: Hudum writes the digits and the punctuation its column of the documentation gives it, Manchu its own comma and full stop, and the drawings are the ones unified.ufo already had, copied as they are, so that a written form the documentation shows is the drawing the template carries; the vertical forms come with the marks, thirteen marks of Hudum having one
    • Write the vertical forms in the templates: a template takes the choice wherever its source font draws the form and writes the vert feature itself, only where there is a form to substitute, and both files of a template are written with \n whatever the platform, so that a template generated on one machine is the template generated on another; ccmp goes with them, since the substitution of NNBSP for MVS it held was retired by Phase Ia
    • Give the data the characters that do not join: the punctuation of writtenUnits.ts now names the writing systems that write each mark, which a writing system and its Ali Gali extension share, the ten Mongolian digits get an entry of their own, and export.ts writes the two as nonJoining.json, a set of code points for each writing system, checking that every mark is given a writing system the model has
    • Drop the rules that no shaping could reach and build the long vowel sign once: the nbsp substitution of Phase III.7 could only write the glyph it read, the marker lookup III.ig.preprocessing.H marked a vowel masculine for isol, where nothing reads the mark, the letters that precede an FVS were collected a second time for every locale, and lvsDescriptor() builds the descriptor of the Todo long vowel sign in one place instead of three
    • Draw the nnbsp guard around the nnbsp lookup only, so that III.controls.postprocessing — the reset of an ignored nirugu and of an ignored or valid FVS at the end of shaping — is written for every font; the docstrings of iii2c and iii2e had the letters the wrong way round
    • Index the aliases instead of scanning them for every lookup: getCharNameByAlias walked data.aliases from the top on every call and the composition asks it hundreds of thousands of times — a profile of the unified test font found 866,735 calls burning 26.6 s of the 42 s the build took — so the index is built once, in the order the data is written, and an alias written as a string still answers in every namespace
    • Remove the code the composition cannot reach: self.locale and self.writingSystems, the marked argument getDefault was never given, the TODO branches of iib1, a loop over a one-item list, [A, B][index] for what a tuple carries, and 0x1843 where the data spells u1843
    • Set languageSystems["DFLT"] in the constructor of templates/update.py, where it reaches the composition, rather than after compose(), where it cannot
  • Packaging and tests
    • Write the test UFOs the one way, by ufoLib2, which is the library ufo2ft builds them with, so that a glif, a plist and the font info agree from one font to the next; nothing but the layout of the files moves, the glyphs, their code points and their order, the anchors, the notes, the colours, the categories and the font info being read before and after and compared
    • Check the fonts draw what their writing systems write: a character that is not a letter is drawn rather than composed, so nothing in the composition would notice one the data gives a writing system and its font does not draw; the test reads the two off each other, and checks that a mark drawn with a vertical form has one wherever the mark is drawn
    • Reuse a built test font while its sources are unchanged: each build is stamped with a digest of its sources — the library, the source font, the composing code and the writing systems it targets — so a run after a change to the composer can no longer silently shape the font built before it, and a repeat run pays for the digest instead of the build, the unified font coming back in 1.7 s of the 66 s the suite took; MONGFONTBUILDER_REBUILD asks for the build again
    • Let every test shape a case the way the font it shapes is written for: assertWrittenUnits takes the language, so the suites of the single fonts no longer ask the same question with two meanings; the failure report asks for its font through the same stamp the suites build with instead of answering with whatever it finds in temp/; MARK_GLYPHS lives in the composer alone, since a fourth mark would have left the builder anchoring three; and UTNGlyphName is a str subclass again, its fields having been read by nothing while they made a name unhashable
    • Clean the test suite of what no run can reach: UTNGlyphName.codePoint(), the unused arguments of lvsFormMembers and markGeneratedGlyphs, the two paths test_unified asserted, and the export of the template font in test_templates, which was not checked at all, so a failed export on macOS turned the suite of the shipped template into an empty one; sourceStamp no longer hashes the bytecode Python writes beside the sources, which a fresh checkout could not reproduce and which made every font build twice
    • Give the tests the assertions and the example they were missing: test_fea composed a feature file for a locale and asserted nothing about it, the UTNGlyphName docstring showed a glyph name the class cannot be given, and the three tempDir.mkdir calls that could never fire are gone
  • Documentation and print
    • Important: Stop the pages from saying which revision they are: docs/index.mdx is the one place that tells the reader what they are looking at, and it tells them from UTN_REVISION — an archived revision says it is one, and the current documentation says that its revisions are published as revisions of the Note — so the other pages now say what the analysis is and leave the standing to the one place that knows, and the cover of the merged PDF is given the same treatment
    • Important: Describe the shape a written unit takes before the mark that ends a syllable where the phases are listed: the architecture chapter gains the step in its table of phases, says why it is asked of the chachlag onset and why it cannot be part of the condition that selects the letter, and the MVS it speaks of points at that step, its letters written as italics, as the rest of the chapter writes them
    • Render the punctuation table from the data: the table carried the membership of the data as check marks of its own, and the data carries it now, so the component reads the marks in the order the data keeps them and names each from the Unicode data, the way the le...
Read more

v0.15.1

Choose a tag to compare

@Kushim-Jiang Kushim-Jiang released this 04 Oct 16:45

What’s Changed

The latest revision of the UTN is UTN #57, Representing Mongolian in Unicode.
The working draft of the UTN is maintained at https://mongolian.kushim.workers.dev/.

  • Repository
    • Move the documentation site’s own components out of a lib/ directory at the repository root and into src/components/, and move outsideLetters.ts to data/ with the other specification data, since a root lib/ reads as the library the repository publishes and the only library published here is the Python one under mongfontbuilder/; follow the move through the imports of the pages and of the components themselves
    • Give data/, mongfontbuilder/ and templates/ their own READMEs, describe the documentation site in the main README, and drop the working-draft wording from the READMEs and the PDF subtitle
    • Remove the site’s banner and footer, since the publication is presented in a page of the Unicode site that carries the footer it is read under
    • Bump mongfontbuilder to 0.15.1 — the range carries 0.14.0 and 0.15.0 as well — bring the copyright year to 2026, and record the repository’s new name mongolian in package-lock.json, which the rename had left behind, so no install rewrites that line
    • Publish the site as an archived revision of the UTN when UTN_REVISION is set: the base becomes /notes/tn57/utn57-mong-<revision>/, and the index carries the archive note pointing to https://mongolian.kushim.workers.dev/ instead of the working-draft note
  • The model and the fonts
    • Important: Map U+3000 IDEOGRAPHIC SPACE, the code point the punctuation around it missed. The font maps U+3001 IDEOGRAPHIC COMMA through U+300F RIGHT WHITE CORNER BRACKET but not the space that belongs to the same run, and a layout that finds no glyph for it falls back to another font, so the spacing is that font’s and not this one’s; draw it as an empty glyph of the full-width advance the marks are drawn with and leave it to the vertical metrics (Refs notofonts/mongolian#44)
    • Important: Key the letters that lie outside every writing system by character name, joining position and FVS, write a position that borrows another as a reference, and move unrecommended onto the position it is about, exporting outsideLetters.json beside the files the library reads, so the font builder reads the written units of each joining position rather than hard-coding them; what the test suite compares is unchanged. Follow the change through the file list in docs/toolchain.mdx
    • Important: Name every writing system by its locale ID once, in the locale data, so the test fonts, the suite files and the site read one mapping instead of keeping a copy each; name the suite files for the writing systems they hold and read them as package data; and drop otf.py, since the compile step is ufo2ft.OTFCompiler used directly. Type the CLI’s --locales values and the writing system trace reads as LocaleID before they reach the library, which expects that type
    • Drop the eighteen of the thirty-five glyph-name mappings that no case reaches, keeping the names in the fonts and restoring a mapping when a case comes to shape it, and reintroduce the uXXXX names the existing test fonts are written with
  • Packaging and tests
    • Important: Require Python 3.11, since 3.10 reached end of life and fontTools dropped support for it
    • Simplify the Python dependencies and pyproject.toml: drop PyYAML and skia-pathops, raise unicodedata2 to 18, and remove the ruff lint selection, the pyright configuration and the pytest testpaths the workspace no longer needs
    • Write the test fonts with the XML declaration fontTools writes, so the sources no longer quote it with double quotes and the compile step no longer puts the declaration back after writing a composed font; 1716 files change their declaration and no line that means anything
    • Move the reference files from tests/data/ to references/, and organize the suites under the package’s own testSuites/, renamed from data/suites, so the suites are read as package data and the helpers that read them are sorted apart from the package
    • Opt in GdefFeatureWriter in the tests, since it writes GDEF FEA code from public.openTypeCategories; remove the CLI’s ability to compile to OTF, which only the tests used; simplify how the tests compile and import, dropping the sys.path manipulation each script repeated; and delete the unused Manchu Ali Gali test font, which nothing reads since the Manchu tests compose manchu.ufo and the unified font is composed from unified.ufo
    • Update the JavaScript dependencies with ncu -u -x typescript, move the dev dependencies back alongside the rest and drop the lodash override, and correct the @unicode/unicode-18.0.0 import, which named version 17 and a path the package does not export
  • Documentation and print
    • Important: Rework the documentation end to end: the Introduction becomes a list of destinations, Architecture is condensed with its preamble folded into its sections, and Single-font implementation is tightened with its sections named for what they collect; Background and History become one appendix re-sorted into three sections, and Phonology becomes charts of letters with the map of which writing system records which language; the chapter on the Unicode Standard states what the two hold and where they differ, without recounting the Standard’s citations of this document. Every table is laid out as a real table, and the i18n collection Starlight reads is defined, so that the build runs quiet
    • Important: Unify the citation tags into a single Mong component whose writing system is an attribute, <Mong MNG links=… /> or <Mong TODx links=… />, deleting the per-writing-system wrappers and moving Mong.svelte out of tags/
    • Name an implementation of the model, not just the model: the document now writes down Mongolian Baiti, which Windows and Office supply and whose specification is in the Microsoft typography library, and Noto Sans Mongolian, whose repository carries the sources, the composed layout and the FontBakery runs, since the fonts people have to write with are the other reading of the model
    • Reorganize the chapters and the appendices: the Introduction’s Structure section moves into Architecture, the phoneme inventory into a new Phonology appendix, and the Toolchain becomes a section of the Introduction with no page of its own; align the single-font tables with the per-writing-system tables
    • Point every citation at an anchor that exists, accepting · and – for the MVS and the NNBSP, pointing the written unit D at the Hudum chapter it is used in, and naming only the units each writing system actually uses
    • Point the references at copies that can be read: every path of rule.xueruhai.com and rule.xueruhai.cn answers 502 and the Internet Archive holds no capture of either host, so cite the Mongolian, Manchu and Todo rule pages of the earlier rule.mongoltoli.cn as the archive holds them, state the Sibe version in plain text where no capture exists, and name the EAC revision of 1.0.2 of 17 June 2018, which a public collection holds, in place of the offline 1.0.5
    • Reference the punctuation chapter from each writing system’s page, and note that the Sibe form of the quotation marks is requested with VS3 (U+FE02); carry the suite names, the writing-system names and the Menksoft reference file name through the documents
    • Build the documentation PDF only when the workflow is dispatched by hand, not on every push to main, and keep its cross-page links resolving: they used /introduction/#…, which no longer resolves now that the Introduction is the index, so the merge script rewrites / and /#anchor to the index and is kept as a checked-in .github/workflows/pdf.py that the workflow runs

Full Changelog: v0.13.0...v0.15.1

v0.13.0

Choose a tag to compare

@Kushim-Jiang Kushim-Jiang released this 21 Sep 08:18

What’s Changed

The latest revision of the UTN is UTN #57, Representing Mongolian in Unicode.
The working draft of the UTN is maintained at https://mongolian.kushim.workers.dev/.

  • Repository
    • Important: Make the repository a uv workspace and move the package into a project of its own. mongfontbuilder/ now holds the library, its CLI, its tests and the readme the package publishes, while one environment and one lockfile serve the whole repository, so uv sync, uv run pytest and the CLI are all run from the repository root; the lib/ module root the old layout needed goes with it
    • Promote the documentation site to the repository root: the pages are in docs/, the Svelte components in lib/, the styles and configuration in src/, and srcDir/publicDir are the defaults again
    • Put the test fonts in mongfontbuilder/tests/fonts/, where the 2,128 glyph files no longer sit beside the tests that shape them, and split the font the unified suite composes out of test_unified.py into mongfontbuilder/tests/unified.py
    • Rename the project to the title of the UTN it is the working draft of, Encoding and Shaping of the Mongolian Script, and reposition mongfontbuilder as its library; the repository is now Kushim-Jiang/mongolian, and the package metadata, the links and the site config name the new path
  • Shaping
    • Important: Anchor the marks to every written form of the font. The lookup the marks are positioned in held only the written forms of Hudum and its Ali Gali extension, so baluda, tribaluda and dagalga written over anything else were flung past the written form they belong over rather than drawn on it; a base is now any glyph carrying an advance, which takes in the ligatures, the localized written forms and the dotted circle, and the lookup is written after the composition, which is when a built glyph knows its advance
    • Draw the final form of the wa before a long vowel sign, and mark that variant of the final form as one a long vowel sign selects
    • Compile through a helper that removes the overlaps of every glyph with a boolean operation, so a glyph built from written units whose outlines meet and cross is filled the same in every renderer
  • Packaging and tests
    • Important: Read the conformance suites from the package's own data directory rather than from the tests, so the project and the fonts built from it read the one copy of them, and drop the second copy beside the tests
    • Point the publish workflow at uv build --package mongfontbuilder --out-dir mongfontbuilder/dist and publish from there, since uv build would otherwise write into the dist/ the documentation site builds into
    • Quote the XML declaration of a written UFO with double quotes like the sources, so a composed font no longer differs from the source it was read from in a line that carries no meaning
    • Draw the contours of the test fonts the same way round, since a clockwise contour and a counter-clockwise one are filled the same by the ink but are not interchangeable once overlaps are removed
  • Documentation and print
    • Important: Build the documentation PDF in CI instead of with tools/make_pdf.py and an npm script: pdf.yml merges the built pages in the order of the sidebar array and renders them with WeasyPrint as a downloadable artifact, so a run leaves nothing in the checkout
    • Set the print styling in the site's own stylesheet, where the paged view it describes belongs: @page stays outside @media print, and the contents carry dotted leaders and the page each entry lands on
    • Fix the publish and test workflows to read the Python version from the repository root and to sync the workspace there
    • Document the repository layout with one drawing of the whole root, and describe the uv workspace, the environment and the project in the readmes and the toolchain chapter

Full Changelog: v0.12.2...v0.13.0

v0.12.2

Choose a tag to compare

@Kushim-Jiang Kushim-Jiang released this 16 Sep 09:14

What's Changed

  • Shaping
    • Important: Phase Ia replaced every NNBSP with an MVS, so the glyph the source font draws for the character could never be written; the two are shaped alike without it, and what nothing shaped is written by Phase III.7, which is the phase that can tell them apart
    • Apply the localized and optional treatments of Phase IIb where both designs are drawn, so the Sibe and Manchu fonts build again
    • Build the written form of a long vowel sign and its ligature, and draw the glyphs of a spec after the glyphs they are built from
  • Docs and print
    • Important: Export the documentation as a PDF with tools/make_pdf.py, in an environment of its own: WeasyPrint and lxml are not project dependencies, and the tool needs a 64-bit Python on Windows
    • Print the hero of a page, and read the tagline and the action links with the address each one goes to, since a printed link is nothing to click
    • Find the Pango/GLib runtime along PATH, so WeasyPrint loads on a machine whose GTK ships with another program
    • Style the page hero and the note asides for print, and document the localized and optional treatments of Phase IIb in architecture.mdx

Full Changelog: v0.12.1...v0.12.2

v0.12.1

Choose a tag to compare

@Kushim-Jiang Kushim-Jiang released this 15 Sep 11:29

What's Changed

  • Unified font
    • Important: Compose several writing systems into one font — Hudum, Hudum Ali Gali, Todo, Todo Ali Gali, Sibe, Manchu and Manchu Ali Gali share a single source, so a text that mixes them shapes from one font
    • Important: Add unified.ufo, generated by a new tools/make_unified_ufo.py, and test it against the EAC and GB suites in test_unified.py
    • Important: Build the glyphs of the outside letters in the composer (Cx, Dz and the renamed written units), and list the standalone glyphs of the unified font as the designs do
    • Draw the wide MVS and the nirugu written unit in the composer; split a wide MVS into nbsp + mvs.ignored
    • Draw the C Wp A ligatures of Hudum Ali Gali
    • Merge the writing systems into the unified chapter tables in the docs
  • Data
    • Important: Rework the long vowel sign and FVS phases of the shaper; the ligated written form is built from the written form of the letter, so it matches the FVS lookup classes on its own
    • Important: Add written units for the letters outside the writing systems; correct the joining positions of the ligature written units, and add the WpA and NGAa ligatures
    • Merge I3 into Ip; give Sibe and Manchu their own final ma written unit
    • Repair the Todo and Todo Ali Gali shaping paths, including the bowed classes of Todo Ali Gali
    • Update the source data for the reworked shaper: the initial n that a consonant follows is written N rather than A
  • Shaping
    • Carry the marked that an initial consonant asks for across the consonants of a cluster to the vowel that ends the syllable, as GB 25914—2023 requires
    • Let a vowel carry the gender a word's first vowel fixes to the vowel that ends the word
    • Rework the cross-writing-system variant so that a written form is shared only where every writing system writes it with the same written units
  • Docs
    • Add a written units overview page and a unified writing system page
    • Add PDF export (make_pdf.py, print.css)
    • Update architecture.mdx, CONTRIBUTING.md and the external links
  • Tooling
    • Important: Flatten the OpenType feature code; let the type checker see the packages under lib
  • Tests
    • Important: Explain every expected failure and mark it in one place; add a failure report (failures.py) and a lookup trace (trace.py) for the unified font
    • Reorganize the suites on a per-writing-system basis, with the language each is shaped under declared in one map

Full Changelog: v0.12.0...v0.12.1

v0.12.0

Choose a tag to compare

@Kushim-Jiang Kushim-Jiang released this 09 Sep 03:21

What's Changed

  • Documentation
    • Important: Rewrite the Architecture doc; add new Toolchain and Other letters, digits and punctuation pages
    • Punctuation/digits rendering moved from .astro into a shared Svelte Punc component; page renamed numbers-and-punctuation → digits-and-punctuation
    • Add a ThemeProvider that prevents copying Private Use Area characters from the docs site
    • Add per-locale ### Particle mapping sections (Hudum, Todo, Sibe, Manchu) with a ParticleTable
    • Update UTN references; refresh README / CONTRIBUTING and the footer copyright notice
  • Data
    • Important: New written‑unit and variant definitions in writtenUnits.ts / variants.ts (regenerated JSON), incl. support for bow clusters used by particle forms
    • Remove duplicated MCHx masculine_onset at the source instead of an FEA workaround
    • Manchu test‑font glyph Hx renamed to Hx2
  • Tooling
    • Important: Add a unified root check.py running ruff, pyright, astro and svelte checks; fix all lint/type issues across the repo
    • Add uv.lock; upgrade the TypeScript/Astro package toolchain
    • Refactor Punc and LetterTable/WrittenUnitTable/Mong component internals for the new rendering
  • Tests
    • Add shaping expectations for the new particle mappings (MVS narrow/wide behaviour)
    • Update Manchu shaping cases for the Hx → Hx2 rename

Full Changelog: v0.11.0...v0.12.0

v0.11.0

Choose a tag to compare

@Kushim-Jiang Kushim-Jiang released this 10 Jul 03:21

What's Changed

  • Documentation
    • Rewrite introduction
    • Important: Support ligated variants; add ligature visualization table; removed font DraftNew-Regular.otffrom web/public; replaced with writtenunits‑Regular.ttf
    • Important: Synchronize the shaping rules base on the existing OTL, and fix #47
    • Add Starlight custom Footer component with UTN copyright notice
    • Add per‑locale tag components wrapping a shared Mong.svelte component
    • Update → init 0 to → init for default (no FVS designation) forms, support link to each variant
  • Data
    • Important: Fully support GB locale glyph names; add GB format validation
    • Important: New written unit definitions and control characters, move nirugu to written unit Ni
  • New: Templates
    • hudum.glyphs / hudum.fea — Glyphs templates for Hudum
    • manchu.glyphs / manchu.fea — Glyphs templates for Manchu
    • update.py — Script to update templates
  • Tooling
    • Important: Replaced .marked/.unmarked variant system with marker‑based approach using MARKER_MASCULINE_FALSE, MARKER_MASCULINE_TRUE, and MARKER_INITIAL glyphs — supporting backward propagation of masculinity
    • Refactor of preprocessing lookups (G–M) for the new marker system; update o_u_oe_ue marked vowel handling with MARKER_INITIAL propagation
    • Refactor fromData: Accept locale parameter for locale‑aware glyph name generation
    • New logic.py: Extracted resolveCmapVariants() and variantFromReference() from __init__.py; cross‑locale default detection now checks locale_data.written
    • Data reorganization: JoiningPosition and joiningPositions moved from data.misc to data.types
  • Tests
    • New: Added sibe.ufo and manchu.ufo test fonts with full glyph sets
    • New: Test structure
      • test_module.py — Verifies FEA code generation via MongFeaComposer
      • test_templates.py — macOS‑only test that builds from Glyphs template and validates shaping
      • test_shaping.py — Per‑locale parameterized shaping tests (test_MNG, test_MCH, test_SIB)
      • conftest.py — Session‑scoped fixtures for each locale font
    • fixtures.py: Replaced subprocess uv run with direct MongFeaComposer API calls; added buildFontForLocales() and loadRawTestCases()
    • Test data: core-hag.tsv renamed iHag → iX, kHag → kX, etc.; updated aliases across all Sanskrit syllabary test cases

Full Changelog: v0.10.6...v0.11.0

v0.10.6

Choose a tag to compare

@Kushim-Jiang Kushim-Jiang released this 27 Nov 07:06
cd6230c

What’s Changed

Full Changelog: v0.9.3...v0.10.6

v0.9.3

Choose a tag to compare

@Kushim-Jiang Kushim-Jiang released this 28 Oct 07:13

What’s Changed

Full Changelog: v0.6.6...v0.9.3

v0.6.6

Choose a tag to compare

@lianghai lianghai released this 30 Sep 12:20

See v0.6.0 (which failed to publish to PyPI) for feature changes since v0.5.0.

Changes since v0.6.0:

  • Fixed ModuleNotFoundError: No module named 'fs' in CI and downstream projects. 3a67d2a
  • Migrated from Poetry to uv. ae48140
  • Update EAC Hudum dataset, and thus pass all tests. ef7aadb

Full Changelog: v0.6.0...v0.6.6