- Fix merge_set tool
- Better exception handling when parsing label inputs
- Fix lgr_validate tool
- Add IDNA 2008 compliance check for IDN tables
- Add more supported IDN tables formats
- Change label parsing method to limit confusion
- Fix union and intersection tools
- Fix arg parser for tools
- Add IDN review with core requirements
- Prevent variant duplication
- Remove cross-script tool
- Handle BOM when reading labels input file
- Handle some edge cases in IDN table review of variant sets
- Add some new relevant information in IDN table reviews
- Code cleaning
- Fix collision tools
- Improve advanced collision tool output
- Allow using pre-computed index in collision calculation
- Allow filtering mixed-script variants in variants computation
- Update variant index computation algorithm
- Add new general rules check in IDN tables review
- Make RFC parsers handle asymetric variants sets
- Make collision tools less verbose and display only relevant data
- Enhance collision computation performance
- Correctly ignore comments in RFC3743 parser
- Fix RFC 3743 parsing to handle sequences
- Change IDN review empty summary result status
- Add IDN table review tool
- Add an heuristic parser for any RFC format
- Drop compatibility for Python 2.7, 3.4 and 3.5
- Add compatibility for Python 3.8
- Factorize and create helpers for CLI tools
- Use Suppress-Script when retrieving LGR scripts from metadata
- Stop considering reflexive mapping when evaluating a variant label
- Add a way to provide a list of TLDs to collision tool
- Add new collision tool API with simplified output
- Stop support for python 2.7
- Improve collision tool output
- Handle contextual rules symmetry when populating variants
- Fix symmetry validator to keep consistency with conditional variants validator
- Fix memory leak with logs not correctly flushed
- Fix variant generation with sequences
- Add support for LGR validation:
- Introduce the concept of test label. Each test label has a test (i.e. a predicate on LGR files) and a human readable description.
- Introduce the concept of policy. A policy maps test labels to values of either "IGNORED", "WARNING" or "ERROR".
- Assign test labels to already existing tests, e.g. "valid_unicode_version" and "metadata_language".
- Add new labelled tests, e.g. tests for the "validity-start" and "validity-end" elements.
- Add aggregation of test results in terms of successful test labels.
- Add a method to calculate the validation result based on policy and test results.
- Add an RFC 7940 validation tool.
- Mark out-of-script codepoints as warnings instead of errors (Fixes #15).
- Fix processing of contextual rule without anchor (Fixes #14).
- Support of Python 3. Compatibility with python2 is preserved for this release.
- Add tox configuration for testing multiple Python versions (2.7 and 3.X).
- Add MSR-3 validating repertoire.
- Delete a tag from the LGR.
- Check id format when adding reference.
- Update harmonization tool.
- Better error reporting for CharInvalidContextRule.
- Collision-based tools do not stop at the first label not in the LGR.
- Include invalid variants in x-script variants.
- Add missing language exception in order to clarify cross script variant tool output.
- Remove label length limits based on heuristic by method that computes estimated number of variants.
- Make description of LGR union as text/html.
- Force inclusion of invalid code points when rebuilding LGR.
- Remove script parameter from harmonization function.
- Display rule name(s) when a code point does not comply with a contextual rule.
- Better notification for invalid language tags.
- Remove code points from tag-based classes on deletion.
- Replace number of variants by number of variant mappings in LGR validation statistics.
- Add 'blocked' type to tools that add variants.
- Update make_idna_repertoire to handle IDNA tables <= 6.0.0.
- In union comparison and intersection tools, do not duplicate rules, classes and actions.
- Add missing variants in LGR union.
- Workaround a libxml2 bug that do not normalize EOL in CDATA.
New features:
- New tool to check that multiple LGRs are harmonized.
- New function to populate the missing symmetric and transitive variants. Fixes:
- Validate that a generated variant label is valid based on LGR rules.
- Reduce verbosity of lgr_compare's diff output
- Improve handling of large LGR.
- Improve display for summary (now renamed to LGR validation).
- Fix generation of prefix list with a code point sequence and look-around rule.
Fixes:
- Remove script/mimetype from merged description when all descriptions use the text/html mimetype.
- Fix cross-script variants tool: output variants composed of code point which are in other scripts than the one(s) defined in the LGR.
Fixes:
- Merge LGR containing the same code point.
- Improve HTML formatting for description in HTML output.
- Improve merge for metadata's description element: if all descriptions are using HTML, then output will be in HTML.
- Include references in WLE table in HTML output.
- Better display of regex for WLE in HTML output.
- Order metadata section per language then per script.
- Fix size of variant set in HTML output.
- Download result links are now ordered with newest on top.
- Emphasize that the "Allocated set labels" file is optional.
- Fix typo on homepage.
- Update links to published RFC.
- Allow import of an LGR part of a set as a standalone LGR.
- Improve cross-script variants tool: generate the variants using the merged LGR, and list element LGRs used by the variants' code points.
- Use redis as default Celery's broker for better stability.
New features:
- Handling of LGR sets: import multiple LGR documents to create a set (merged LGR).
- Update difference and annotation tools to process LGR sets.
- New tool to list cross-script variants for LGR sets.
- HTML output of LGR: render LGR (or LGR set) in an HTML page.
Fixes:
- Update dispositions to RFC: default for variants is "blocked", update default rules.
- Improve design of homepage.
- 500 error when clicking on a code point's variant that is not in LGR.
- Fix Dockerfile: follow redirects for ICU downloads, add SHA-sum checks.
Fixes:
- Fix disposition handling in collision and diff tools
- Improve tools error description provided in e-mail
- Improve tools output
- Manage bidirectional text in tools output
- Improve tools performance
New features:
- Add cancel button on metadata screen
- Add a list of current and imported LGRs into import/new panels
- Add supported Unicode version in about page
- Add an annotation tool
- Add a checkbox to limit rules output in tools
- Save tools output on server and display download link in session
- Add a management command to clean storage
- Some comparison leads to invalid LGR, return a download link for user to fix it
Fixes:
- Fix manual import of RFC3743
- Fix error field position in "Import CP from file" screen
- Improve code point details view
- Various fixes in union and intersection
- Various fixes in variant generation
- Various display improvements
- Limit logging output
- Update RNG file
- Various code factorization
New features:
- Add documentation for core API and web-application global design.
- New tool for computing label collisions with two versions of an LGR. Add asynchronous interface for users to submit their requests and get result by email.
Fixes:
- Update RNG file to last version.
- Enable definition of when/not-when attribute on range.
Fixes:
- Fix processing of look-around when anchor code point was repeated.
- Fix processing of infinite look-behind rules.
- Fix range expansion references.
- Correctly process variant label in context rule.
- Catch regex exceptions.
- Fix WLE validation.
- Handle empty set/pattern in WLE processing.
- Ensure label is in LGR when computing variants when dealing with sequences.
- When/Not-when attributes are mutually exclusive.
- Fix count attributes on char match operator.
- Fix class combinations for intersection and symetric-difference.
- Update RNG file.
- Make the title more clear to be clickable as « home »
- Correctly include Docker configuration.
New features:
- WLE rules editor.
- Tag edition on code points.
- Context rules selection on code points.
- Expand ranges to single code point.
- New LGR comparison application:
- Union of 2 LGRs.
- Intersection of 2 LGRs.
- Diff (text output) of 2 LGRs.
- Save summary to file.
- Delete LGR from working session.
- Add Dockerfile.
- Update namespace: imported LGRs will be converted to new namespace on export.
Fixes:
- Disable external entities when parsing XML (security review report).
- Properly handle IDNA errors in label validation.
- Import variants when manually importing from RFC file.
- Fix label variants generation when context rules are used.