0.20.5
New Features
- Sections can be clamped to fit within the page height in order to reduce scrolling with large saves.
- Changelog link icon now acts as a notification of new changes
- Font file now packaged as
woff2rather thantff - Minor layout tweaks
0.20.4
New Features
- Matrix Narrowing: Matrices and Groups can be modified to exclude segments they would normally match.
- Exclude single segments:
- e.g.
O:-s => [+voi] ;; Obstruents except /s/ become voiced sa.ta.kam => sa.da.gam- Exclude single group or matrix:
- e.g.
O:-F => [+voi] ;; Obstruents that are not fricatives become voiced sa.ta.kam => sa.da.gam- Exclude multiple segments, groups, or matrices:
- e.g.
O:-{t, [+cont]} => [+voi] ;; Obstruents that are not /t/ or [+cont] become voiced sa.ta.kam => sa.ta.gam- Place Groupings
- Introduce
K,Q, andJto represent Velar, Uvular, and Palatal Consonants respectfully.
- Prevent cases where suprasegmental features were being stolen by a neighbouring syllable in substitution rules with boundaries
- Long segments in an input set are skipped correctly if they are not successfully matched
- e.g.
{n:[-long]} > [+sg]results inkanː => kanːrather thankanː => kannʱin 0.20.3 - Add error for when a number is too large to be parsed i.e. exceeding 4294967295 (u32 max)
- 20% average reduction in both stack and heap memory usage (based on benchmarks of cli version)
0.20.3
New Features
- Saves can now be sorted by name/id, time of creation, or time of last modification.
- Saves can now be cloned.
- Fix typo in invalid share link message.
- Update syntax highlighting to reflect the fact that commas are not necessary inside a matrix with the current grammar.
0.20.2
Fixes
- Fixes a regression introduced in 0.20.1 that affected right-hand boundary checking within an underline structure.
- Specifically, rules such as
VN > [+nas] / <(..)_>now work as expected.
0.20.1
New Features
- Segments and matrices can be negated in input and environment with
-or¬ - e.g.
<(..)-G> > [+str] ;; a syllable that doesn't have an off-glide is stressed saj.nam => saj'nam- Boundaries can be used at the periphery of structures.
- Allows for boundary manipulation with all the benefits of underline structures.
- e.g.
V:[-str] $ > * / _S:[+str] | #<(..)_> me.da'ra.ni => me'dra.nika'ra.sa => ka'ra.sa
- Options at the beginning or end of a structure properly check if they fill a syllable.
0.20.0
BREAKING CHANGES
- Group
Cnow stands for[+cons, -syll], no longer just[-syll] - This is motivated in part so that
C:[+syll]has the expected behaviour. -
Note that as glides are
[-cons], they are no longer covered underC. Use{C,G}or[-syll](or after 0.20.1-V) to capture both consonants and glides. - Glottalic consonants (e.g.
h,ʔ) are now[+cons] - Rules such as
a > enow preserve length - Previously, this rule would cause a word such as
ha:tto becomehet. - This change now brings the behaviour of IPA Literals in line with Groups and Matrices.
- Previous behaviour is preserved when the input is matched by length e.g.
a:[+lng] > ewhich is equiv. toa:[+lng] > e:[-lng] - See here for an archived explanation for the previous behaviour.
- Allow for multi-dimensional suprasegmentals (stress and length) to be referenced with one alpha.
[A long, B overlong]can be replaced with just[A length][A stress, B sec.str]can be replaced with just[A anystress]- Allow for the underline to be placed within an environment structure.
- e.g.
VN > [+nas] / <(..)_>instead ofVN > [+nas] / _$guaranteesVandNare of the same syllable andNis coda. - Rework of Sets
- Allow for multiple items in set choices
- e.g.
{i:[+long], u:[+long]} > {aj, aw} - These items can be mixed type e.g.
{k<CV>, N$[-syll]} - Allow for sets, as a whole, to be modified by a matrix.
- e.g.
{i, u}:[+long]rather than{i:[+long], u:[+long]} - Rework of Metathesis logic
- Ellipses act to group elements on either side
- e.g.
pf..s > &to result inpfas => safpwhereas it currently would renderpfas => sfap - In general:
abcd..ef..ghi => ihg..fe..dcba - New
@metathesis operator which allows for maintaining grouped element orderings - e.g.
pf..s > @to result inpfas => sapf - In general:
abcd..ef..ghi => ghi..ef..abcd - Added aliases
JandWforʝandɯrespectively
ʁ̞is correctly encoded as[+cons]- (Metathesis) Swapping segments of different lengths in the same syllable works as expected
- Corrected structure location error highlighting
- Removed redundant error locations from error messages
- Increased Stability
- Attempt to detect hanging rules and provide error to user
- Rules such as
$ > a$no longer hang - Insertion rules with optionals that match zero times should no longer hang
- Potential matches with ellipsis input are not skipped if a previous match has the wrong environment
-
e.g.
k..h > & | #_results inka.ko.he => ka.ho.kerather than previouska.ko.he => ka.ko.he
0.19
Web Changes
- Separate this changelog from main page to decrease unnecessary loads
- Add grabber on rule blocks on mobile for easier scrolling
- Add
handednesstoggle for mobile so you can move rules with your preferred hand - Decrease padding and margins to increase useful space
- When an error occurs, the erroring rule block is now highlighted
0.18
Library Changes
StructuresandReferencesnow allowed inside sets- Various bug fixes. See release notes
- Trying to swap syllables between words, i.e.
% ## % > &, now works - Leading spaces before a phrase no longer affect output
- Avoided infinite loop after lengthening a segment in certain situations at the end of a word
- Enforce use of commas within a set i.e.
{p,t,k}not{ptk}(trailing comma allowed)
Web Changes
- Saves can now be shared
- Comments can now be retained in the output
- Finally moved input box to CodeMirror, allowing keybindings and syntax highlighting for comments
- Tab Indentation allowed in input and rule boxes, press
Escapebeforehand to allow tab navigation
0.17
Library Changes
- Cross Boundary Interactions with
##allowing for External Sandhi, Rebracketing, and Affixation (see docs). - New substitution implementation allowing for ellipses and implicit syllable boundary deletion/insertion.
- Retroflex diacritic
ʵworks as expected. Variablesare now calledReferences.- Long segments are correctly deleted and metathesised.
Web Changes
- Fixed potential HTML escaping issues when displaying errors.
- Ability to toggle output romanisation.
- Updated
pie-to-proto-germanicexample save.
0.16
Library Changes
[-long]matrices match correctly after an ellipsis.- A comment after a deletion rule with no environment no longer errors.
- Special environment checking works properly with a following comment.
- Reworked segment rendering to reduce weird edgecases.
Web Changes
- Comments delimited by
#now allowed in input. - Added
pie-to-proto-germanicexample save.
0.15
Library Changes
- Diacritic aliases are now preceded by
"instead of^to remove ambiguity betweenʔ͡handʔʰwhich are now?^hand?"hrespectively. - Added more inbuilt diacritic aliases using the new
"prefix. - Removed dedicated americanist aliases in favour of custom aliasing. See release notes for a replacement.
- Prenasalised palatal and retroflex consonants now use consistent diacritics (
ᶮCandᶯCrespectively). - Fixed infinite loop caused by erroneous use of
^in certain situations. - Fixed
qǀ,qǃ,qǁ,q‼, andqǂbeing falsely encoded as+voice. - Ellipses can now be wrapped in brackets i.e.
(..)to skip 'zero or more' segments instead of 'one or more' segments. - Options and Sets are now allowed in non-output Structures.
Web Changes
- Added formatting options for output.
0.14
Web Changes
- Brand-new saving system allowing for multiple files to be loaded at once.
0.13
Web Changes
- Move(ing) to CodeMirror inputs and added syntax highlighting.
Colours are work in progress and probably will change! - Add section collapse buttons for mobile and small screens to reduce scrolling.
- Added hotkeys for easier keyboard navigation.
0.12
Library Changes
- Inbuilt aliases for common diacritics.
- A
$or*alone in the output of a deromanisation rule is now allowed. - Added easy right-to-left propagation with the tilde
~ | ~>operator (see docs). - Aliases now work correctly when tracing.
- Segment length character
ːis correctly omitted when removing a long segment.
Web Changes
- The values of any segments that couldn't be represented are now displayed at the bottom of the output.
- These unknown segments are colour-coded in the output for easier debugging.
- Traced rules are now highlighted.
0.11
Library Changes
- A given word or phrase can now be traced throughout its evolution.
- Multiple words can now be placed on the same line separated by a space.
- Fixed infinite loop when inserting after a boundary in certain cases.
Web Changes
- Ability to specify adding a rule to either the beginning or the end of the list.
- Ability to duplicate a given rule.
- Sticky UI elements to reduce scrolling.
0.10
Library Changes
- Rules can now have single-line comments delimited by
;; - Multiple contiguous underlines are now allowed in environments.
- Environments can now be grouped so they can be checked all at once, similarly to a set (see docs).
- Structural Matching (see docs).
- Various performance improvements and bug fixes, see releases 0.5.0 and 0.5.1.
Web Changes
- Ability to temporarily enable/disable rules with quick global toggle button.
- Updated global rule collapse button change to also expand all.
0.9
Library Changes
- Various alias fixes, see releases 0.4.3 and 0.4.4
- Added the plus operator to alias rules (release 0.4.2) (see doc)
- Allow for the use of unicode escapes in alias rules (release 0.4.1)
- Ability to deromanise input and romanise output (release 0.4.0)
0.8
Library Changes
- Added "voiced stridentised" diacritic. (release 0.3.1)
- Fixed bug whereby IPA literals with a feature alpha modifier were not correctly matching. (release 0.2.1)
- Fixed options falsely matching in certain situations (issue #3)
- Fixed some bugs regarding matching ipa
- Added normalisation for some precomposed Unicode characters
- Rule errors now show rule and line numbers
Web Changes
- Added changelog as modal dialog
- Working drag and drop on mobile
0.7
Library Changes
- Some common Americanist characters such as
ƛcan now be used (no longer supported as of v0.15) - Rules with just whitespace no longer error
Web Changes
- Fixed some behavioural differences between chromium and firefox
Before 0.7
Library Changes
- Palatal lateral fricatives and affricates now use ExtIPA characters, matching their retroflex and velar counterparts
- Updated distinction between glides and their approximant counterparts
- Fixed neighbouring matches sometimes being skipped in substitution rule
- Added Strident diacritic to help catch possible errors when converting
+stridconsonants
Web Changes
- Now require confirmation before deleting rules
- Added collapse and clear buttons