mirror of
https://github.com/janet-lang/janet
synced 2024-11-05 00:06:16 +00:00
9ba8728176
Add relative imports and path normalization. This should help towards a more composable build/dependency system.
117 lines
5.1 KiB
Markdown
117 lines
5.1 KiB
Markdown
# Changelog
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
## Unreleased
|
|
- Update module system to allow relative imports. The `:cur:` pattern
|
|
in `module/expand-path` will expand to the directory part of the current file, or
|
|
whatever the value of `(dyn :current-file)` is. The `:dir:` pattern gets
|
|
the directory part of the input path name.
|
|
- Remove `:native:` pattern in `module/paths`.
|
|
- Add `module/expand-path`
|
|
- Remove `module/*syspath*` and `module/*headerpath*` in favor of dynamic
|
|
bindings `:syspath` and `:headerpath`.
|
|
- Compiled PEGs can now be marshaled and unmarshaled.
|
|
- Change signature to `parser/state`
|
|
- Add `:until` verb to loop.
|
|
- Add `:p` flag to `fiber/new`.
|
|
- Add `file/{fdopen,fileno}` functions.
|
|
- Add `parser/clone` function.
|
|
- Add optional argument to `parser/where` to set parser byte index.
|
|
- Add optional `env` argument to `all-bindings` and `all-dynamics`.
|
|
- Add scratch memory C API functions for auto-released memory on next gc.
|
|
Scratch memory differs from normal GCed memory as it can also be freed normally
|
|
for better performance.
|
|
- Add API compatibility checking for modules. This will let native modules not load
|
|
when the host program is not of a compatible version or configuration.
|
|
- Change signature of `os/execute` to be much more flexible.
|
|
|
|
## 0.6.0 - 2019-05-29
|
|
- `file/close` returns exit code when closing file opened with `file/popen`.
|
|
- Add `os/rename`
|
|
- Update windows installer to include tools like `jpm`.
|
|
- Add `jpm` tool for building and managing projects.
|
|
- Change interface to `cook` tool.
|
|
- Add optional filters to `module/paths` to further refine import methods.
|
|
- Add keyword arguments via `&keys` in parameter list.
|
|
- Add `-k` flag for flychecking source.
|
|
- Change signature to `compile` function.
|
|
- Add `module/loaders` for custom loading functions.
|
|
- Add external unification to `match` macro.
|
|
- Add static library to main build.
|
|
- Add `janet/*headerpath*` and change location of installed headers.
|
|
- Let `partition` take strings.
|
|
- Haiku OS support
|
|
- Add `string/trim`, `string/trimr`, and `string/triml`.
|
|
- Add `dofile` function.
|
|
- Numbers require at least 1 significant digit.
|
|
- `file/read` will return nil on end of file.
|
|
- Fix various bugs.
|
|
|
|
## 0.5.0 - 2019-05-09
|
|
- Fix some bugs with buffers.
|
|
- Add `trace` and `untrace` to the core library.
|
|
- Add `string/has-prefix?` and `string/has-suffix?` to string module.
|
|
- Add simple debugger to repl that activates on errors or debug signal
|
|
- Remove `*env*` and `*doc-width*`.
|
|
- Add `fiber/getenv`, `fiber/setenv`, and `dyn`, and `setdyn`.
|
|
- Add support for dynamic bindings (via the `dyn` and `setdyn` functions).
|
|
- Change signatures of some functions like `eval` which no longer takes
|
|
an optional environment.
|
|
- Add printf function
|
|
- Make `pp` configurable with dynamic binding `:pretty-format`.
|
|
- Remove the `meta` function.
|
|
- Add `with-dyns` for blocks with dynamic bindings assigned.
|
|
- Allow leading and trailing newlines in backtick-delimited string (long strings).
|
|
These newlines will not be included in the actual string value.
|
|
|
|
## 0.4.1 - 2019-04-14
|
|
- Squash some bugs
|
|
- Peg patterns can now make captures in any position in a grammar.
|
|
- Add color to repl output
|
|
- Add array/remove function
|
|
- Add meson build support
|
|
- Add int module for int types
|
|
- Add meson build option
|
|
- Add (break) special form and improve loop macro
|
|
- Allow abstract types to specify custom tostring method
|
|
- Extend C API for marshalling abstract types and other values
|
|
- Add functions to `os` module.
|
|
|
|
## 0.4.0 - 2019-03-08
|
|
- Fix a number of smaller bugs
|
|
- Added :export option to import and require
|
|
- Added typed arrays
|
|
- Remove `callable?`.
|
|
- Remove `tuple/append` and `tuple/prepend`, which may have seemed like `O(1)`
|
|
operations. Instead, use the `splice` special to extend tuples.
|
|
- Add `-m` flag to main client to allow specifying where to load
|
|
system modules from.
|
|
- Add `-c` flag to main client to allow compiling Janet modules to images.
|
|
- Add `string/format` and `buffer/format`.
|
|
- Remove `string/pretty` and `string/number`.
|
|
- `make-image` function creates pre compiled images for janet. These images
|
|
link to the core library. They can be loaded via require or manually via
|
|
`load-image`.
|
|
- Add bracketed tuples as tuple constructor.
|
|
- Add partition function to core library.
|
|
- Pre-compile core library into an image for faster startup.
|
|
- Add methods to parser values that mirror the api.
|
|
- Add janet\_getmethod to CAPI for easier use of method like syntax.
|
|
- Add get/set to abstract types to allow them to behave more
|
|
like objects with methods.
|
|
- Add parser/insert to modify parser state programmatically
|
|
- Add debug/stacktrace for easy, pretty stacktraces
|
|
- Remove the status-pp function
|
|
- Update API to run-context to be much more sane
|
|
- Add :lflags option to cook/make-native
|
|
- Disallow NaNs as table or struct keys
|
|
- Update module resolution paths and format
|
|
|
|
## 0.3.0 - 2019-01-26
|
|
- Add amalgamated build to janet for easier embedding.
|
|
- Add os/date function
|
|
- Add slurp and spit to core library.
|
|
- Added this changelog.
|
|
- Added peg module (Parsing Expression Grammars)
|
|
- Move hand written documentation into website repository.
|