Skip to content

Releases: dictu-lang/Dictu

Release 0.10.0

17 Sep 18:36
32d6399
Compare
Choose a tag to compare

Release 0.10.0

Change log

This is a change log from 0.9.0

  • Allow Dictu to compile on FreeBSD #247
  • Add System.access() #248
  • Fix some memory issues within the VM #249
  • VM cleanup #251
  • Fix "maybe uninitialised" variables in the socket lib #252
  • Add new Dictu logo to README and website #256

dictu-dark-with-clearspace-png-1x

Release 0.9.0

31 Jul 18:51
55f9409
Compare
Choose a tag to compare

Release 0.9.0

Change log

This is a change log from 0.8.0

Note: This is a small release. Reason being that the socket documentation is required for another related repository.

  • Fix a bug with default parameters in things which were not functions #244
  • Add Path.exists() #245
  • Add Sockets module #245

Release 0.8.0

23 Jul 18:55
Compare
Choose a tag to compare

Release 0.8.0

Change log

This is the change log from 0.7.0

  • Fix Datetime.strftime() #227
  • Fix an issue with nested module imports #228
  • Fix OPCODE disassembly #229
  • Fix missing OPCODES in the disassembler and fix an issue with dicts #230
  • Add list.remove() #231
  • Add dict.keys() #232
  • Refactor the internals to have traits be a class object #233
  • Add abstract classes #234
  • Add some OOP design pattern examples #235
  • Add the ability to define class variables #236
  • Remove "native classes" in favour of modules #237
  • Add Math.sqrt() #239
  • Add dedicated OPCODE for globals #240
  • Require most of the standard lib to need an import #241

Release 0.7.0

18 Jun 12:38
Compare
Choose a tag to compare

Release 0.7.0

Change log

This is the change log from 0.6.0

  • Add a new Datetime native class #218
  • Remove -Wno-unused-parameter compiler flag forcing unused variables to be handled #219
  • Remove the -Wno-strict-aliasing compiler flag #220
  • Simplify some of the OPCODES within the VM and fix a GC issue with files #221
  • Add modules and fix the issue with imports polluting the global namespace #222
  • Add examples README for better exposure to a range of Dictu programs #223
  • Update the benchmarks scores and create some python alternatives for a comparison point #224

Release 0.6.0

27 May 21:22
Compare
Choose a tag to compare

Release 0.6.0

Change log

This is the change log from 0.5.0

  • Add __file__ which holds the path of the current file. #192
  • Add not which is synonymous with !. #193
  • Change System.setCWD to return a status code, and not raise a runtime exception. #194
  • Change the hash table collision method to the Robin Hood hashing scheme. #195
  • Add System.remove() for removing files. #197
  • Add System.mkdir() and System.rmdir() for adding and removing directories. #198
  • New anonymous functions (arrow functions) #200
  • New System class methods #201
  • Addition of constants #202
  • A whole range of cleanup and bug fixes #204
  • Add error handling #206
  • toNumber returns nil on failure rather than 0 #207
  • Update to lists. + operator now creates a new list rather than mutating. .extend() method was added to lists to replace old + functionality #208
  • Allow set creation with initial values #209
  • Updated example programs #210
  • Fix an issue with file.readLine() where it had the wrong length. This PR also changes readLine to return nil when it reaches the end of a file rather than an empty string #212
  • Update file documentation #213
  • Fix bugs with JSON.stringify() and add some missing tests based on a coverage tool #214
  • Add some more tests and update documentation #215

Release 0.5.0

10 Apr 20:30
Compare
Choose a tag to compare

Release 0.5.0

Change log

This is the change log from 0.4.0

  • Fix the GC prematurely cleaning some values #159
  • Changed OP_POP to not check every value for a file and instead have file closing be its own opcode #160
  • Rewrite internal logic of dictionaries to use Table type #161
  • Rewrite internal logic for native methods, now stored in hash tables rather than an if/elif chain #164
  • Fix a bug in the compiler where stringConstants were not being free'd #166
  • Allow more types to be dictionary keys (strings, numbers, booleans, nil) #167
  • Add break statement #168
  • Add Path native class #169
  • Add native class properties which act similar to constants #171
  • Moved "magic" argv into the System native class #173
  • Added System.platform which is a string of the users OS platform #175
  • Move len() builtin to a method on values #176
  • Whole range of bug fixes and cleanup (see PR for more info) #177
  • Fix issue with runtime error reporting incorrect filenames #178
  • Whole range of bug fixes and cleanup (see PR for more info) #182
  • Move str() builtin to a method on values #183
  • Rework toString to return consistently formatted quotes and move some functions from snprintf to memcpy #186
  • Add "raw strings" #187
  • Move number() builtin to a method on strings #188
  • Add toString on classes and instances. #189
  • Moved bool() builtin to be a method on values #190

Release 0.4.0

24 Mar 02:55
Compare
Choose a tag to compare

Release 0.4.0

Change log

This is the change log from 0.3.0

Documentation

  • Updated documentation to have a page for each native class
  • Rewrite documentation for most pages #133
  • Add documentation for new additions (HTTP, System)
  • Add documentation for new builtin isDefined

Code changes

  • Fixed an issue with argv variable and GC #122
  • Add native classes to encapsulate like methods and remove global space pollution #123
  • Added Env class to get / set ENV vars #125
  • Reworked how native functions work with the addition of EMPTY_VAL #125
  • New System class. This class contains clock, time, sleep, exit and collect #127
  • Fix issue with snprintf length #129
  • Fix memory leak in list.join() #130
  • Add JSON support #132
  • Added System.getCwd() #136
  • New HTTP class (get / post) #138
  • Cleanup and fix GC issue with JSON parse #139
  • Remove vm.gc flag and use stack instead #140
  • Ability to copy (deepCopy also) objects #141
  • Add setCWD to System class #144
  • Add extra compiler flags to catch more potential issues #145
  • Allow Dictu to be build on TCC #146
  • Make the building of the HTTP class optional #147
  • Remove global VM, compiler and parser variables! #152
  • Add new isDefined() builtin function #154
  • Add a cache to variables to avoid constants filling up #156
  • Allow multiple variables to be defined in a single statement #157

Release 0.3.0

08 Feb 02:34
6e4d23c
Compare
Choose a tag to compare

Release 0.3.0

Change log

This is the change log from 0.2.0

Documentation

  • Fixed broken documentation page
  • Added dark theme to documentation page
    • Based on whether the browser is in "dark mode"
  • Documentation page changes #105
  • More example Dictu programs #106

Code changes

  • Added import cache #92
    • This caches imports, and stops the same file being imported multiple times.
  • Added CLI variables #93
    • Added argv variable which is a list containing all the arguments passed to the script.
  • Added hasAttribute on instances #96
    • A runtime exception will be raised if a property which does not exist is tried to be accessed. This method allows runtime checking for a present attribute
  • Added getAttribute and setAttribute on instances #98
    • These methods allow properties to be set / retrieved when the name of the property is unknown
  • Added traits #100
  • Added slicing on lists and strings #108
  • Bunch of cleanup throughout the codebase #112
  • Added list.join() #114
  • Added default values in function header #116

Release 0.2.0

26 Jan 20:37
Compare
Choose a tag to compare

Release 0.2.0

This is the first ever release for Dictu! A lot has happened since the creation of Dictu, and there is a lot still to be done, however I feel after the recent changes Dictu ready for a release.

Building Dictu

$ git clone https://github.com/Jason2605/Dictu.git
$ cd Dictu
$ make dictu
$ ./dictu tests/runTests.du

Documentation

The documentation for Dictu is kept up to date and hosted here.