Skip to content

Releases: vlang/v

0.1.20

17 Sep 10:58
Compare
Choose a tag to compare
  • JavaScript backend!
  • Hundreds of C warnings were fixed. gcc v.c now builds without
    any warnings.
  • The mutability check now applies to function args (mutable
    receivers that are not modified result in a compilation error).
  • V tests now show how long each test took.
  • Official Android support (only console applications via Termux for now).
  • Typo check. If a variable/function/module etc is misspelled,
    V will suggest the correct name.
  • Lots of Microsoft C fixes, and a separate Travis instance for
    this backend.
  • Bitwise operators |, ^, & no longer work with booleans.

0.1.19

13 Sep 11:21
Compare
Choose a tag to compare
  • Lots of refactoring, simplifications, and optimizations in the compiler.
  • Experimental memory management at compilation (only for the V compiler itself for now).
  • Lots of ORM fixes.
  • Functions can now be inlined via the [inline] attribute.
  • New mysql module.
  • Better error format that is supported by all major editors (go to error).
  • Error messages now point to the actual place where the error happened.
  • Custom json field names: struct User { last_name string [json:lastName] }.
  • Raw json fields via the [raw] attribute.
  • All C code was removed from the freetype module.
  • gg module can now render all Unicode characters.
  • [typedef] attribute for imported C struct typedefs.
  • Support of Objective C interfaces (primarily for using Cocoa).
  • REPL: clear command and custom functions.
  • REPL tests (which are also used for testing certain compiler errors).
  • Syntax bug fixed: foo[0] += 10 is now possible.
  • http: support plain HTTP protocol and follow redirects.
  • http: header data is now processed correctly.
  • net: basic UDP support.
  • import const was removed from the language.
  • array.contains() was removed from the language (in should be used instead).
  • [0; len] syntax was removed (replaced with a simpler [0].repeat(len))
  • Primitive aliases were removed to simplify the language.
  • GitHub supports V now!
  • Backtraces are now printed on panics.
  • A new awesome readline module.
  • V.c is now regenerated automatically after every commit.
  • A bug with struct ordering was fixed, now structs can be declared in any order.
  • V modules can now be built with v build module.
  • @FILE, @LINE, @FN, @COLUMN for debugging.
  • JavaScript backend!

0.1.18

16 Aug 21:48
Compare
Choose a tag to compare
  • Built-in ORM (uk_customers = db.select from Customer where country == 'uk' && nr_orders > 0)
  • Map initialization syntax: m := { ‘foo’: ‘bar’, ‘baz’: ‘kek’ }
  • map.delete(key).
  • libcurl dependency was removed from the http module.
  • All function arguments are now immutable by default (previously they could be
    modifed inside the function).
  • http functions now return optionals.
  • sync.WaitGroup.
  • vweb static files serving.
  • crypto.rand module.
  • v up to update V.
  • SChannel support on Windows.
  • net.urllib module.
  • vpm package manager, v install.
  • () are now required in complex bool expressions: (a && b) || c instead of `a && b || c
  • All arrays now have a default .str() method.
  • Bootstrapping V with MSVC.
  • Experimental etc support.
  • encoding.csv module.
  • $if debug { for running code in debug mode only.
  • Map struct fields are now initialized automatically, just like arrays.
  • Maps now support array values.
  • json functions can no longer be used if the json module is not imported.

0.1.17

29 Jul 16:32
Compare
Choose a tag to compare
  • vweb module for developing web apps in V.
  • vtalk, open source V forum software.
  • Generics (very limited right now, but they will be gradually improved).
  • Comptime codegen (foo.$method() where method is a string).
  • @ for escaping keywords (e.g. struct Foo { @type string }).
  • Windows Unicode fixes (V can now work with non-ASCII paths etc on Windows).
  • Fix mutable args bugs + don't allow primitive arguments to be modified.
  • Declaring a mutable variable and never modifying it results in a compilation error.
  • Interactive debugging support.
  • sync module for Windows.
  • #! support on Unix systems (V scripts).
  • Lots of Visual Studio fixes.
  • crypto.aes and crypto.rc4 modules.
  • Internal modules.

0.1.16

23 Jul 22:45
Compare
Choose a tag to compare
  • V can now be used with Visual Studio!
  • Hot code reloading now works with graphical applications (e.g. graph.v, bounce.v).
  • Compile time memory management for arrays.
  • High order functions.
  • match expression (replacing switch).
  • Import cycle detection.
  • crypto/md5, crypto/sha256, and crypro/sha512 modules.
  • os.executable() - a cross platform function that returns full path to current executable.
  • ~/.vlang and VROOT were removed entirely. The installation is a lot cleaner now.
  • V can now be packaged for all Linux distros.
  • Arch Linux package.
  • string(bytes_buffer, len), string(bytes_array) casts.
  • Multiple defers.
  • key in map syntax (replacing map.exists(key)).

0.1.15

16 Jul 21:40
Compare
Choose a tag to compare
  • gg module Windows support, V Tetris runs on Windows.

  • glad and cJSON are now compiled only once, this makes compilation of programs using gg and `json
    a bit faster.

  • v.c has been cleaned up and minimized (~16k => ~10k lines of code).

  • type aliases can now have methods.

  • Const overflow check during compilation (byte(1000) will no longer compile)

  • FreeBSD, OpenBSD, NetBSD, DragonFly support.

  • Hot code reloading now works with graphical applications: bounce.v

  • VROOT was removed, the installation process is now much simpler.

  • defer statement.

  • map.v was re-written. It's now much faster.

  • for key, val in map syntax.

  • flag module for parsing command line arguments.

  • zip module.

  • crypto/sha1 module.

  • Submodules and module aliases (import encoding.base64 as b64).

v0.1.13

10 Jul 00:07
Compare
Choose a tag to compare
  • New enum syntax (token == .name), enum values are no longer global consts.
  • Submodules (import encoding.base64).
  • Hot code reloading.
  • Special err variable for getting error values.
  • Complex numbers.
  • << can now append arrays (numbers << [1, 2, 3]).
  • Lots of Windows fixes (Windows still needs some work).
  • Lots of REPL improvements (e.g. >> 2 + 3 works now, no println required).
  • The website was made easily translatable, it's now partially available in several languages.

v0.1.12

04 Jul 00:22
Compare
Choose a tag to compare
  • V can finally compile itself on Windows. (https://github.com/vlang/v#mingw-w64)
  • os module now uses optionals in all functions that return File. Lots of bugs with optionals fixed.
  • println was optimized. It no longer results in allocations. Now it also works correctly with all integer types.
  • Lots of vfmt fixes, it will be enabled tomorrow.
  • New strings module.
  • Lots of other fixes and improvements, thanks to all the contributors.

v0.1.11

01 Jul 15:01
Compare
Choose a tag to compare
  • Cross compilation for Windows!
  • Lots of Windows fixes
  • socket.v
  • maps fixed

v0.1.10

29 Jun 19:51
Compare
Choose a tag to compare
  • Windows support via MinGW-w64. Pre-built Windows binary.
  • File structure has been simplified: all vlib modules were moved to the vlib/ directory,
    makefile was moved to the root.
  • One single archive with pre-built binaries for all operating systems.
  • mut var := val was fixed (previously mut var = val was allowed as well).