Skip to content

Releases: TI-Toolkit/tivars_lib_py

v0.9.1

30 May 21:52
Compare
Choose a tag to compare
v0.9.1 Pre-release
Pre-release

Newest stable release for tivars_lib_py. Install from this tag or from PyPI.

Full Changelog: https://github.com/TI-Toolkit/tivars_lib_py/commits/v0.9.1

New features

  • Smart tokenization mode — token munching better reflects program context
  • New tokenizer.normalize function to normalize certain Unicode chars for tokenization
  • New Self type annotations for 3.11+ to help static type analyzers
  • All typing type aliases (to-be deprecated in a future version of Python) have been removed
  • More warnings about invalid files and entry names

Bug fixes

  • Fixed ListEntry.load_list and TIMatrix.load_matrix not working
  • Entry name tokenization is now more consistent

Breaking changes

  • Smart tokenization mode is now the default; use mode=max to enable previous behavior
  • Some functions in tokenizer now use keyword-only arguments

Contributions

  • @adriweb - Set the spec for smart tokenization, reflecting much of the TI Connect CE program editor's behavior

v0.9.0

22 Apr 23:40
Compare
Choose a tag to compare
v0.9.0 Pre-release
Pre-release

Newest stable release for tivars_lib_py. Install from this tag or from PyPI.

Full Changelog: https://github.com/TI-Toolkit/tivars_lib_py/commits/v0.9.0

New features

  • Support for flash files — check out TIFlashHeader and its subclasses
  • DoorsCSE tokenized assembly programs are now (somewhat crudely) detected on load
  • All ByteString usages (to-be deprecated in Python 3.14) have been removed
  • Enhanced TIFeature docs
  • More frequent and verbose warnings

Newly-supported types (#5)

  • TIOperatingSystem
  • TIApp
  • TICertificate
  • TILicense

Bug fixes

  • Fixed a bug when initializing a ComplexEntry
  • Fixed a type mismatch in TIGroup.group
  • Removed a crash when detokenizing null bytes
  • Typing issues

Breaking changes

  • Flags values are now int instead of bytes
  • The default model is now TI_84PCE instead of TI_83P

Contributions

  • @LogicalJoe - Knows everything there is to know about flash files
  • @Zaalan3 - Reported a few bugs and insufficient warnings in TIGroup

v0.8.2

29 Oct 18:43
Compare
Choose a tag to compare
v0.8.2 Pre-release
Pre-release

Newest stable release for tivars_lib_py. Install from this tag or from PyPI.

Full Changelog: https://github.com/TI-Toolkit/tivars_lib_py/commits/v0.8.2

Bug fixes

  • Fixed plugin crash for PIL 10.1.0

v0.8.1

29 Sep 04:45
Compare
Choose a tag to compare
v0.8.1 Pre-release
Pre-release

Newest stable release for tivars_lib_py. Install from this tag or from PyPI.

Full Changelog: https://github.com/TI-Toolkit/tivars_lib_py/commits/v0.8.1

New features

  • New program subtypes: TIAsmProgram and TIProtectedAsmProgram
  • Crosslinks to PIL docs
  • Module and package docstrings

v0.8.0

13 Sep 15:58
Compare
Choose a tag to compare
v0.8.0 Pre-release
Pre-release

Newest stable release for tivars_lib_py. Install from this tag or from PyPI.

Full Changelog: https://github.com/TI-Toolkit/tivars_lib_py/commits/v0.8.0

New features

  • PIL plugins — import tivars.PIL to register the TI image types with PIL
  • Enhanced API docs and docstrings with pydoctor
  • Types which are normally archived on-calc are archived by default
  • List loaders now accept any Sequence type
  • New methods for GDBs: get_equations and get_color_data
  • New methods for programs: protect and unprotect
  • New attribute for pictures: np_shape

Newly-supported types (#5)

  • TIGroup

Bug fixes

  • get_version and get_min_os now accept arbitrary data for all entry types
  • Fixed a crash in TIComplexList.get_version and TIComplexList.get_min_os
  • Fixed lingering bytes != int comparisons
  • Typing issues

Breaking changes

  • open is now a classmethod for all types to permit shorter initialization calls
  • The data_length property has been renamed calc_data_length to avoid confusion for sized entries

Contributions

  • @LogicalJoe - Provided functional references for the layout of group objects

v0.7.3

26 Aug 17:19
Compare
Choose a tag to compare
v0.7.3 Pre-release
Pre-release

Newest stable release for tivars_lib_py and the first on PyPI.

Full Changelog: https://github.com/TI-Toolkit/tivars_lib_py/commits/v0.7.3

New features

  • More metadata is automatically set for entries
  • All 82/83/84 series models are available in models
  • Models store more information
  • Version byte and minimum OS/model compatibility calculation
  • Docstrings for (almost) every class and method

Newly-supported types (#5)

  • TIRealFraction, TIComplexFraction
  • TIRealRadical, TIComplexRadical
  • TIRealPi, TIComplexPi
  • TIRealPiFraction, TIComplexPiFraction
  • TIAppVar

Bug fixes

  • Static files now use correct relative pathing
  • Var extensions are correctly handled in more cases
  • Name handlers for several entry types have been fixed
  • Default entry names are now per-type
  • Typing issues

Breaking changes

  • Single byte data sections (e.g. type_id, version) are now integer-valued
  • The data section has been renamed to calc_data, with data being a subsection
  • derive_version has been renamed to get_version
  • flags is no longer imported into tivars at the top level

Contributions

  • @LogicalJoe - RE'd lots of versioning information
  • @rpitasky - Helped set up automatic wiki building

v0.6.0

05 Jun 17:49
Compare
Choose a tag to compare
v0.6.0 Pre-release
Pre-release

First packaged pre-release for tivars_lib_py, containing all cumulative progress in the last five months.

Full Changelog: https://github.com/TI-Toolkit/tivars_lib_py/commits/v0.6.0

New features

  • All of them

Newly-supported types (#5)

  • TIReal, TIComplex
  • TIRealList, TIComplexList
  • TIMatrix
  • TIEquation
  • TIString
  • TIProgram, TIProtectedProgram
  • TIPicture, TIMonoPicture, TIImage
  • TIGDB, TIMonoGDB
  • TIWindowSetttings, TIRecallWindow, TITableSettings

Bug fixes

  • Yes

Breaking changes

  • Nonexistent by definition

Contributions

  • @adriweb - Maintains tivars_lib_cpp, which this lib is an intentional replicate of
  • @LogicalJoe - Knows all the ancient secrets of TI var files for the rest of us to copy
  • @rpitasky - Helped write the first version of the tokenizer