- Add
each(Dir, Fun) - Add
filter(Dir, pattern) - Add
Iter(Set) - Add
partitionk(Eachable2, pattern) - Add
partitionv(Eachable2, pattern) - Add
fields() - Add experimental
retry_assert() - Add
Durationtype - Add experimental
finally(Block, Fun) - Add
Path + StrandStr + Path - Add
avg(Eachable1) - Add
Valuepseudo-type for converting values and functions into values - Add
when(val, pattern, new_val) - Add
code(ArrLike) - Add
code(Type) - Add
flat_map(Eachable1, Fun) - Add
COR- Chain of Responsibility - Add
assert(val, pattern, Exception) - Add
connect() - Add
apply(Eachable1, Fun)andapply(Eachable2, Fun) - Add experimental
ensure(x, pat, how) - Patterns
- Add
F f(x:PATTERN_HERE) ...named parameter pattern syntax (previouslyPATTERN_HEREhad to be a type) - Add
F f(PATTERN_HERE) ...unnamed parameter pattern syntax (can be a type) - Add
Transformedpattern - Add experimental
Capturepattern for capturing values - Add experimental
Branchpattern for multiple matches
- Add
- Add
$[...]syntax for running external programs without capturing output - Add
x::{ ... }syntax and::(x, f:Fun)method definition. Works liketap().
- Fix
AtPathfor non-eachables - Improve
decode()for AWS CLI commands Setcomparison now ignores order- Fix
after_last(Str, Str) encode_json()- now supports{'pretty': 'best-effort'}hint- Various build improvements
- Fix edge case in
del(Hash, Any) echo(Table2::Table)now warns about hidden columns
- Deprecated
Deepin favor ofAtPath - Deprecated
~(Any, Type)in favor of=~(Any, Type) - Deprecated
only()in favor ifwhen()
- Remove deprecated
Pred - Remove deprecated
~(Any, Any)adapter for=~ - Remove deprecated
~(Any, Type) - Remove unused
get(MatchSuccess) - Remove unused
get(MatchFailure)
- Add
Iter(SubSeq) - Add
=~(Eachable1, Pfx, MatchContext) - Add
DecodeHints - Add
=~(DecodeHints, ProcessesPipeline, MatchContext) - Add
AtPathpattern - Add experimental
ResetPathpattern
- Add default
=~(Any, Any, MatchContext)which returnsfalse - Improve
decode()implementation forawscommand - Improve
=~(Str, SubSeq, MatchContext) - Fix MatchContext._path when matching elements in =~(Any, Arr, MatchContext)
- Fix
in(Int, NumRange)which was causingfor i in 0 ...to run once instead of not running
- Add
assert(Fun, Type, Str)for asserting that the code throws the given exception. The type must be subtype of Exception. - Add namespace
net - Add networking
c_sockaddr,c_sockaddr_un,c_sockaddr_in - Add networking functions:
socket(),bind(),listen(),accept(),recvfrom(),send() - Add networking constants:
SOCK_STREAM,SOCK_DGRAM,SOCK_RAW,MSG_OOB,MSG_PEEK,MSG_WAITALL(all prefixed withC_) - Add
Nottype and support in pattern matching - Add
env:option to pass environment when running external programs - Add
ensure(Int, NumRange) - Add
last(Eachable1, Any), the counterpart of first() - Add
skip(Iter, Any)- skip elements matching the pattern - Add
skip(Iter, Int)- skip given number of elements - When a function is called from CLI, the output is now displayed using experimental
echo_cli() - Add
AWS2::regions(CommandsPipeline, Arr) - Add
IfExistspattern for optionally present fields - Add
before_first(Str, Str)- get the piece before first occurrence of the delimiter - Add
after_last(Str, Str)- get the piece after the last occurrence of the delimiter
- Add
UndefinedUpVarexception, thrown when accessing undefined "upvar" - Following types now inherit from
Error, notException:NotImplemented,ReadFail,RequireFail,MainFail - Experimental syntax - allow many additional elements
x.HEREandx::HERE - Fix and improve documentation
- Improve
inspect() - Add
regsparameter toAWS2::regions(Fun) $(log: ...)can now take Str to prefix the message- Improve
retry()logging - Improve
Time(Str)
is_subtype(Type, Type)is now deprecated, use<=operator, example:T1 <= T2. Solves #391.typeof(Any)is now deprecated, useType(Any)instead.x \ fsyntax is now deprecated, usex.f()andx.{...}instead.
- GCC 9 on macOS is not supported anymore - it's broken
- Parsing of
curl -i ...command into {"code": Int, "message": Str, "headers": Hash, "headers_arr": Hash, "body": Str} - Add
decode(Str, p), wherepis aPathor its subtype. - Add
assert(Path) - Add
Bool(Real) - Add experimental
native_ll_maybe_wrap - Add
TmpDir - Add
replace(File, Any, Any)for in-place replacement
- Fix #451 - decode(Bool) is not strict enough
group(Eachable1, Fun)now has additional parameterv:group(e:Eachable1, k:Fun, v:Fun=...).vtells how to process values before adding to the resulting multi-value-map.- The
?operator now takesAnyinstead ofFunas the right argument. - Fix
trexception when pattern is aHashand it should match not at the top level. Argvnow acceptsRepeatkeys:{Repeat('--repeat'): my_arr}- Support
my_arr[idx] = valfor negativeidxes. c_pcre_execnow behaves correctly when too many captures are specified- Fix crash when accessing
RegExp#options. - Improve GitHub build action
- Add builds: Arch Linux, centos 7 and 8, fedora 34 and 35, Amazon Linux 2
- Better exception message when redirecting to
>${null}. - Website update & dark theme support
($())is now a valid syntax for the identifier$()
Argv-['--repeat']is deprecated in favor ofRepeat('--repeat')attrs()is deprecated, usemeta()instead
Str(Path)is now returning.path, not<Path path=...>the_one()is now fixed and will throw exception instead of returning null when appropriatefound_noneorfound_moreis not specified.
- Add
Hash(Hash)(a no-op) - Add experimental
PatternActiontype for combining a pattern and an action to take when there is a match - Add experimental
->syntax for constructingPatternAction - Add experimental
=~(x, PatternAction)which checks the pattern and conditionally runs the action - Add experimental
MatchContexttype - Add experimental
Deeptype for deep data structure matching - Add
Hash(Eachable1)- Issue #436 - Add Hash(array_of_key_value_pairs) - Add
exec()methods - Issue #459 partial()is now deprecated because it's not used- Add
Littype to convey literal value, devoid of any "magical" meaning - Add
collector(Stats, Fun) debug(Str, Fun)is now supported- Add
ensure(Arr, T)forTbeing subtype ofArrLike - Add
fork(), higher level wrapper aroundc_fork() - Add
Str(ArrLike)
inspect()fix for partially applied functions:ngs -pi 'X*2'does not fail anymore.=~(x, Hash)now supports patterns for keys- Documentation generation now handles well
ENVas default value for a parameter. - Reorganize stdlib to eleminate multiple
inherit()calls - Remove unused
most_by_cb() - Booleans now compare correctly when used as
Hashkeys exit_hooknow removes hooks in childfork()- It is now possible to redirect to File without using
.path-f=TmpFile(); $(echo a > $f)- Issue #490 test.ngsin the root folder now accepts optional file names; defaults tolang-tests.ngs,stdlib.ngs, and all*.ngsfiles inlib/autoload
- Remove deprecated
nofail:option write(f:File, s:Str)now returnsf
- Deprecate
without(Eachable1, Any) - Deprecate
without(Eachable2, Any)
- Add
replace(Str, RegExp, Str) - Add
Bool(UserDefinedMethod) - Add
c_pow(Real, Real),pow(Real, Real),pow(Int, Int) - Add
decode()for JSON Web Token (JWT) - Add
echo(File, Str) - Add
echo(File, Lines) - Add
C_DEFSnamespace for Cdefined constants (currently only with_SC_NPROCESSORS_ONLNbut will add more later, issue #113) - Add
c_sysconf(),sysconf() - Add
CleanupPolicy,KeepCleanupPolicy,RemoveCleanupPolicy,KeepOnErrorCleanupPolicyto be used withTmpFile TmpFilenow accepts optionalCleanupPolicyargument (defaults toRemoveCleanupPolicy)- When running
ngs -e ...,ngs -p ..., etc - allow using_instead offetch(). - Add "curl" installer.
- Fix
Str(File)- now display correct type name for subtypes - Make
decode_base64()more robust pmap(Eachable1, Fun)now limits number of threads (issue #113)- Add documentation for
MaybeFile TmpFileis not experimental anymoreencode_json()withpretty=truecan now handle larger inputs
- Remove unused
definedkeyword
- Add
write(Str)- write to stdout - Add
del(HashLike, Any)- remove item fromHashLike, similar todel(Hash, Any) - Add
trim(Str)- trim whitespace at the beginning and end of the string - Add
-ppjcommand line switch - print "pretty" JSON. Requiresjqprogram. - Add
assert(val, pattern, msg)-valmust match thepatternorAssertFailwill be thrown. - Add
Repeattype - Signifies repetition of a pattern (or something else), to be used in patterns (and maybe somewhere else). - Add
group(Eachable1, Str)- group by field - Add
uniq(Eachable1, Str)- uniq by field - Add
duplicates(Eachable1, field_or_callback)- find duplicates
- Introduced
=~and!~matching operators. - The
Predmachinery replaced with=~and!~match/non-match operators for simplification. - Some
guardclauses are now using=~and as a result are more concise. inspect()now shows attributes (including documentation) of methods and types.uniq()now works withEachable1(previouslyArr) and has optional callback.reduce(Eachable1, Fun)now does not assume that the givenEachable1supportsIter()encode_json()now supportshintsoptional prameter (of typeHash).prettyhint withtruevalue will "prettify" the output.partition(Eachable1, pattern)now has default pattern (Bool.constructors)store()now supportshintsoptional prameter (of typeHash).prettyhint withtruevalue will "prettify" the output.require()now treats./something.ngsas an absolute path (to fix later: treat as relative to the file)AnyOfandAllOfare no more experimental.- Increase fork-till-exec memory allocation from 1M to 10M (to avoid crashes)
Str(Set)now works properly.- Improve
exit_hookrobustness. - Fix exception handling when calling
map()with invalid arity callback.
=~match againstArrnow matches element-wise. Previously only one-element-array was supported as the second argument and it had to match all elements of the first argument.
- Add
Bool() - snap packaging (Thanks, @organom)
- CLI
- Fix Homebrew build (Issue #365)
- Fix GitHub actions (Thanks, @chenrui333)
- Add dependabot support to keep actions to the latest (Thanks, @chenrui333)
- Add toc for README (Thanks, @chenrui333)
- Improve build (Thanks, @chenrui333)
- Fix and improve documentation
ngs --helpandngs -hnow work
- Homebrew formula and readme instructions (Thanks, @SeekingMeaning)
- Homebrew badge (Thanks, @organom)
main()can now be defined as part ofNamespaceof the main file:ns { F main(...) ...}- Add experimental
only(val, predicate, mapper) - Add
realpath(Str) - Use
NGS_PATHenvironment variable forrequire().NGS_DIRis deprecated.
- Github actions instead of Travis (Thanks, @organom)
$(log ...)now logs i/o redirections- Remove unused
ValueWrappertype - Bootstrapping -
MY_NAMESPACE::mainworks even ifmainis not defined in the main file, allowingngs -e 'require("my_module.ngs")to run its ownmain() filterk(),rejectk(),filterv(),rejectv()- the predicate is now optional and defaults toidentity.- Got rid of
xxdbuild time dependency - make
sys/poll.hdependency optional
- Remove deprecated
n() switchandcondare now consistent with if, accepting{...}code blocks for the LHS (switch {a=1; a+a} {...},cond { {a=b+c; a>0 } ... }).
- Add
setup-dev-envtarget in Makefile - Add
get(MatchSuccess, Int, dflt) - Add
Null()constructor - Add experimental
AllOf() - Add experimental
Bool(AllOf) - Add experimental
Bool(AnyOf) - Add
linuxandwindowsparameter toec2din.ngs - More concise tests with
THROWSpseudo-operator - Add
NamedInstances(aka enums) - Add experimental
Arg(Program)
- Function with only guard statement no more crashes NGS
- Add missing
Bool()call infor(..., HERE, ...) - Functions that take predicates - default the predicates to
identity()and improve documentation filter(HashLike, predicate)- thepredicatedoesn't have to beFunanymorefilter(hl:HashLike, predicate)now returns value of the same type ashlescape_bash()- fixed and it's not experimental anymoresectioninsidensnow working properly- Top-level/commands syntax now treats as expression syntax any expression that starts with identifier followed by "." or "::".
- Support
block.return()to returnnull each(MultiMethod, Fun)now returns the first parameter- Improve readability of
partition(Eachable1, predicate) Int(Str)now throws if the string contains garbage in the endIPAddr()andIPNet()now validate input+(Hash, Hash)now handles subtypes properly (does not return aHashbut the subtype)ns { ... }syntax now allows empty body -ns { }.- Native
attrs()methods - not crash on invalid argument attrs()now defaults to emptyHash, not tonull.- Improve
Str(Type) echo(INVALID_FILE_DESCRIPTOR, ...)now throwsWriteFailwrite(INVALID_FILE_DESCRIPTOR, ...)now throwsWriteFail
- Experimental
OneOfrenamed toAnyOffor naming consistency - Remove unused literal syntax for table
- Syntax:
Ffunction definition must be followed by a space when the function is named - Remove deprecated
table(Arr) - Remove deprecated
filter(Eachable1, Str, Any) - Remove experimental
min(Eachable1, Fun)andmax(Eachable1, Fun)
- Deprecated
ensure_array(x)in favor of the newerensure(x, Arr)
- Concurrency
- Add
c_pthread_cond_*methods - Add
Condtype that exposespthread_cond_*functionality - Add
BlockingListlinked list type with bockingshift()andpop()methods - Add
Executortype - Add
ThreadedExecutortype for simplified processing in threads - Add
pmap(Eachable1, Int, Fun)- parallel map using limited numbers of threads - Add
pfilter(Eachable1, predicate)- parallel filter - Add
pfilter(Eachable1, Int, predicate)- parallel filter using limited numbers of threads
- Add
- Add
block IDENTIFIER BODYsyntax - Add
section NAME BODYsyntax - Add experimental
TmpFile- temporary file that is deleted automatically on exit - Add experimental
Program(allowsassert(Program("dd"))) - Add experimental
sortv() - Add experimental
OneOftype (allows"abc" ~ OneOf(Int, Str)) - Add
Listlinked list type - Add
JsonDatamethod which converts to JSON-compatible data structures; used byencode_jsonnow. - Add
has_no(container, element) - Add
echo(ProcessesPipeline, Str) - Automate updating
ngs.vimsyntax file - Add
lines()- returns all standard input as array of lines - Add
words(Str) - Add
Resultstype, array-like withResultitems - Add
ResultsExceptiontype (with.resultsbeingResultstype) - Add
Listtype - Add
inspect(Eachable1) - Add
len(Box) - Add
len(NumRange)forIntranges - Add
RetryBodyMissingexception - Add
Namespacetype. It is now returned bynsblock. - Add
Pred(NumRange). - Default code to run when not given on command line is
F default_argv_code() { fetch() }(). - Add Vagrantfile
- Add
~(x, t:Type) - Add
has_index(Eachable1, Int) - Add
len(Int) - Add experimental
Pred(OneOf) - Add experimental
TODO(Str) ec2din.ngsnow takes experimental-c COMMAND
- Rare crashes due to GC fixed
- Multi-stage builds for the docker image (thanks, @organom)
Hash(Arr, Str)is nowHash(Eachable1, Str)(to supportArrLike)Hash(Arr, Fun)is nowHash(Eachable1, Fun)(to supportArrLike)- Add missing brew dependencies to
install-mac.sh(thanks for reporting, @zzamboni) - Add
executabletoinspect(Process)and to exception reporting. basename()is now implemented instdlib.ngsas opposed to previously usingBASENAME(1).finished_ok()now checks for known programs by their basename and not absolute paths (@zzamboni reported failing tests; this changes should fix it)echo(Int, Lines)is nowecho(Any, Lines)- Fix
wait(Process)to behave correctly whenexit_codeis not set butexit_signalis set. - Fix
$(blah >${true}) print_exception()- add optional parameterechoexception_specific_message()- refactored for reusability- Improve error messages for syntax errors
push(e:Enum, name:Str)now returnsestat()methods now return timestamps too (access/modify/change)pmap()now throwsResultsExceptionif any of the threads failStats()now works withEachable1allowing counting characters in a string for examples- Fix Pred(SubSeq) and Pred(RegExp) to prevent endless recursion
- Fix
$(... >${false})syntax - Fix
c_strptime() - Improve
rand_uniqimplementation - Improve
MatchSuccess- include pattern - Improve
MatchFailure- include data and pattern - Move
get(Arr, Int, Any)from C to stdlib and support negative indexes. - Merged two
first()methods into one - Fix
Hashcomparison fornull +character is now valid "word" symbol -$(dig +short yahoo.com)is now valid syntax
- Remove
Returntype and associated machinery - Remove deprecated
filter(Eachable1) - Remove deprecated
to_exit_code()
- Brew packaging for MacOS
$()now returnsProcessesPipeline(a new type). You should check all the places in your code that useCommandsPipeline. Code that handles result of$(...)should be changed to expectProcessesPipeline, notCommandsPipeline.$(nofail my_command)was removed. Use$(ok: my_command). Deprecated$(nofail: my_command)still works.
- Add
chdir(). - Add
set(obj, **kwargs). Sets given fields. - Add
copy(nti:NormalTypeInstance). Make shallow copy of an object. Linestype. Array of strings to be processed as a unit for output purposes (echo,warn,error).inspect()now returnsLines.- Add
-pilcommand line switch for "Print Inspect()ed Lines" - Add
collectorforArrLike. Enablescollector/ArrLike() .... - Add
mapo(Str, Fun)(map to original data type) - map a string to a string, character by character. - Add
assert_bool(Any, Str)totests.ngs - Add
+(a:Eachable1, b:Eachable1)which is only defined for same types ofaandb. - Add
-(Str, Ifx) - Add experimental
is_subtype(t:Type, maybe_supertype:Type). - Add experimental
ensure(x, t:Type)forEachable1subtypes. Returns eitherxif it's already of typetor new object of typetwith single itemx. - Add
ProcessesPipelinetype - Add
inspect(pp:ProcessesPipeline) - Add
ProcessRedirtype;Redirtype was renamed toCommandRedir.CommandsPipelinehasCommandRedirwhileProcessesPipelinehasProcessRedir. - Add
Threads(ArrLike)type - Add
join(ArrLike, Str) - Add
.(ArrLike, Str) - Add
collector(Set, Fun), allowingcollector/Set() ... - Add
MethodParamstype - Add
MethodParamtype (and subtypesRequiredMethodParam,OptionalMethodParam,SplatMethodParam,ArrSplatMethodParam,HashSplatMethodParam) - Add
NGS_EXIT_BACKTRACEenvironment variable. If true, prints backtrace onexit(). - Add
NGS_WARN_BACKTRACEenvironment variable. If true, prints backtrace onwarn(). - Add
NGS_ERROR_BACKTRACEenvironment variable. If true, prints backtrace onerror(). - Add
$(ok_sig: ...)option. If external program terminates by specified signal, NGS will not throw exception. - Add
$(cd: ...)option. Runs the external program in the specified directory. - Add
$(log: ...)option. Logs the program to be executed first and then executes the program.
- Fixed
catchbug that was resultingdump Uncaught exceptionmessages whencatch(e:MyType)was handlingeof non-MyType. indexes(arr:Arr, predicate)upgraded to handle eachable:indexes(e:Eachable1, predicate)indexes(arr:Arr, r:PredRange)- now takes optionaldfltparameter:indexes(arr:Arr, r:PredRange, dflt=...)Box()now returns anEmptyBox(thanks @organom !)Predimproved so that.filter({"a": 1})will not throw exception if there is noafield.- Better
c_dlopen()error message T.user = xfor native types now returnsxand notT, consistent with other assignmentsReturnis now a subtype ofException. This fixes failingFailure(Return), which only works onException.- Remove
any()andnone()forBox- they work anyway becauseBoxisEachable1.any()andnone()are defined forEachable1. - Faster
==(Hash, Hash) - Faster
init(Hash) - Fix
C_WEXITSTATUS- return null whenWIFEXITEDreturns false. - Fix
C_WTERMSIG- return null whenWIFSIGNALEDreturns false. - Fix
decode_hex()- now handles inputs of even length, not specifically 2. This makesdecode_hex()exact reverse ofencode_hex(). - Work around strange error (Issue #180) after
execve()was failing on MacOS. Now executing minimal amount of code after failingexecve(). +(s:Str, a:Eachable1)and +(a:Eachable1, s:Str)now return result of exact the same type asa, notArr.- Improve
print_exception() - Improved exception message for environment variable access, when the environment variable is not set.
- Remove MacOS-specific "stupid" malloc. GC library appears to work OK on MacOS now.
- Got rid of uthash dependency
- Finished moving
todo.txtto GitHub issues - Improve
ArrLikeimplementation bin/elb-describe-lbs.ngs- Instances are now sorted by LaunchTime- Improve
finished_okimplementation: easier handling of "known programs", refactor to supportok_sigoption. - Warning on usage of
`line: `option on non-last command. CommandsPipelinerelated changes which have low probability of breaking anything.wait(cp:CommandsPipeline)is nowwait(pp:ProcessesPipeline)and returnspp.Str(cp:CommandsPipeline)is nowStr(pp:ProcessesPipeline).kill(cp:CommandsPipeline, sig:Int=SIGNALS.TERM)is nowkill(pp:ProcessesPipeline, sig:Int=SIGNALS.TERM)lines(cp:CommandsPipeline)is nowlines(pp:ProcessesPipeline)lines(cp:CommandsPipeline, cb:Fun)is nowlines(pp:ProcessesPipeline, cb:Fun)assert_...(cp:CommandsPipeline, ...)are nowassert_...(pp:ProcessesPipeline, ...)
Argv()- support for arguments that need repeated argument name
- Deprecated
Pred(BasicTypeInstance)
- Removed deprecated
nuke_null()
- Terminal
- Improving error messages shown when exceptions occur.
- Add experimental
escape_bash(Str)- quote argument for bash
- Running NGS without arguments no more produces an error but a friendly usage message
- Docker image for each commit; built by Travis
- Threads-related
- Add
Thread.local- thread local storage (a Hash)Thread.local.thread- current thread object
- Threads are now named:
- Add
init(t:Thread, name:Str, f:Fun) - Add
init(t:Thread, name:Str, f:Fun, arg)
- Add
- Add
awscommand output parsing -.Reservationrenamed to._Reservation- Add
eachk()andeachv() Str(s:Str, target_width:Int)extended toStr(s:Str, target_width:Int, ch=' '), allowing padding with given character- Exiting
- Add
ExitException- parent of all exceptions withexit_codefieldFatalErroris now a child ofExitException- Add
NormalExit(child ofExitException)
- Add
exit(exit_code:Int=1) - Add
exit(s:Str, exit_code:Int=1)
- Add
- Add
dollar \$ escaping syntax - Add
map_idx_val(e:Eachable1, mapper:Fun) - Add
myip()- returns your IP as observable from the Internet - Add
each()forSuccessandFailure - Add experimental
each_chunk(e:Eachable1, n:Int, cb:Fun) - Add experimental
decode(s:Str, t:Type) - Add experimental
nd(Ngs Data) command line tool
- Fix incorrect parsing of immediate hashes:
%{k1 v1 k2 v2 ...} - Improve
Pred(r:RegExp) - Fix
join(Arr)for array ofThreads Bool(Path)now checks that underlying file system object is of the correct typedir()now skips.and..entriesdir()now has "raw" parameterdecode()now parses "locate" outputnop()now takes any argumentsretry()- removed "catch_exceptions" parameterassert_path_exists() - improve implementationE_...constants from C now include all constants available during compilationinit(Failure, ...)- only accept Exception as second argumentdecode_json()- improve exception
AWS2-- second version of AWS (among other:.Regionrenamed to._Region)bin/na("NGS AWS") -- CLI for AWS wrapper around declarative primitives librarybin/nd("NGS Data") -- Data manipulation utility- documentation
- Moving
todo.txtto GitHub issues
- Add
Time, built on exposed c primitives - gettimeofday, strptime, mktime - Add
Settype - Add
.userfield for arbitrary data on types - Add
bin/hn.ngs-- "tail -f" like script for Hacker News - status() will override previous one on tty using escape codes if no other output was sent between the calls
- status() - use iTerm2 badges
join(Thread)- throw exception if the other thread had exception- Improve AWS declarative primitives library
- Implement file descriptors redirection:
$(my_prog 2>${1}) - Better
Hashiteration in stdlib due to additional exposedll_hash_*primitives andLLHashEntrytype. - Fix Linux installation instructions
- Update Mac installation instructions
- Automatically set reference to namespace in methods defined in
ns { ... } - Improve memory allocation - use "atomic" memory in few additional places
- Rename "Method" to "Multimethod" and "Method implementation" to "Method" all over
- Rename "attribute" to "field" all over
- Deprecate KV
- Rename
to_exit_codetoExitCodefor consistency (deprecateto_exit_code)
- AWS2 -- second version of AWS
bin/na("NGS AWS") -- CLI for AWS wrapper around declarative primitives libraryTable2-- the more advanced tabular data holder- documentation
- Experimental syntax for building documents
- Add experimental
MapIter,FilterIter,FunIter
- Fix missing
version.handChageLogupdate in 0.2.2
- Fix
assert_*functions after pipes support in 0.2.0
- Add
lines(cp:CommandsPipeline)to fix broken$(command).lines()after pipes support in 0.2.0 - Add
to_exit_code(cp:CommandsPipeline)to fix broken exit codes after pipes support in 0.2.0 - Fix tests broken with
RegExpsyntax change in 0.2.0 - Fix
Str(t:Time, format:Str=TIME_FORMAT, gmt:Bool=false)that was not usingformat - Add experimental
Pred(h:Hash)
- BREAKING: Swap write() arguments from write(what, file) to write(file, what) Many methods with old arguments order will still work but will give a deprecation warning.
- Pipes support
- Add optional "count" (bytes) parameter to read(fd:Int)
- Add preliminary
Str(t:c_pthread_t) - Add missing
id(rrset:RecordSetRes) - Add
abs(i:Int) - Add
decode_uri_component(s:Str)
- Slightly improved documentation
- Improve stability of
Str(r:Res) - Fix error handling in
[](arr:Arr, r:NumRange) - Add optional "max_parts" parameter to split(s:Str, delim:Str)
- A bit more readable inspect() output
- Fix backslashes syntax in
/regular expressions/
- Incorporate Mac OS X support contributed by Zeev Glozman