v0.3.2 (2018-09-24)
Implemented enhancements:
- Change Grok to keep the current parameter in
code
form, and instead change other parameters to be bold #312 (josephschorr) - Fix formatting of long attributes in SML tags #310 (josephschorr)
- SourceTracker performance and code improvements #307 (josephschorr)
- Add a configurable timeout for Grok handle construction #306 (josephschorr)
Fixed bugs:
- Fix range lookup in Grok of externally imported types #311 (josephschorr)
- Fix bug where formatter was removing explicitly declared types on lambda parameters #309 (josephschorr)
- Fix intersection between
null
types and other types #308 (josephschorr) - Fix bug where formatter would drop
const
in favor ofvar
#305 (josephschorr) - Fix translation of promises #304 (josephschorr)
- Fix various panics when accessing graphs under Grok #303 (josephschorr)
- Ensure that a return statement is never allowed under a generator #302 (josephschorr)
Merged pull requests:
- Some small internal fixes #301 (josephschorr)
v0.3.1 (2018-07-15)
Implemented enhancements:
- Have more descriptive parser errors when caused by a lexer error #296 (josephschorr)
Fixed bugs:
- Fix panic in Grok when user is typing nominal or agent definitions #299 (josephschorr)
- Fix handling of nominal root operator to always return the *root* data type #298 (josephschorr)
- Fix generation bug when assigning to function variables #297 (josephschorr)
- Ensure that null comparison operators are wrapped under access expressions #295 (josephschorr)
- Fix generator bug with Streamable's under loop expressions #294 (josephschorr)
- Fix bug in Grok cancelation that made it appear a valid handle was being returned #293 (josephschorr)
- Fix small bugs that lead to various goroutines never terminating #291 (josephschorr)
Merged pull requests:
- Some small improvements #300 (josephschorr)
- Disable support for integrations until the Golang plugin system is fixed #292 (josephschorr)
v0.3.0 (2018-06-16)
Implemented enhancements:
- Add support for cancelation #290 (josephschorr)
- Disallow repeated fields in structural new expressions #287 (josephschorr)
- Fix type completion in Grok #282 (josephschorr)
- Allow lambda parameters in inline lambdas to have explicitly declared types #277 (josephschorr)
- Add support for constant fields at the module level #276 (josephschorr)
Fixed bugs:
- Various fixes to the formatter #288 (josephschorr)
- Fix scope checks for lambda return types and add a generator test #286 (josephschorr)
- Anonymous function and SML fixes #284 (josephschorr)
- Fix bug in generating flow expressions that marked them as async when they weren't #283 (josephschorr)
- Fix panic in SRG if given a type path with more than 2 segments #275 (josephschorr)
- Add extra checks on the
build
command to prevent building non-Serulian source #274 (josephschorr)
Closed issues:
- Anonymous function expression fails to compile #264
Merged pull requests:
- Enable support for casting streams #285 (josephschorr)
- Fix toolkit for updates to downstream libraries #281 (josephschorr)
- Major refactoring and addition of integration tooling #280 (josephschorr)
- Output differences in source mapping tests using diff and fix golden file #279 (josephschorr)
- Code cleanup in prep for better integration support #278 (josephschorr)
v0.2.0 (2017-12-09)
Implemented enhancements:
- Add support for upgrading the syntax of source code via the formatter #272 (josephschorr)
- Add new toolkit command: package rev #271 (josephschorr)
- Add a new toolkit command: package diff #270 (josephschorr)
Fixed bugs:
- Fix bug in SML scope check which allows functions with extra non-nullable parameters to be used #269 (josephschorr)
- Fix fmt statements #266 (josephschorr)
Merged pull requests:
- Update Serulian's syntax for the declared and return type of type and module members #273 (josephschorr)
- Improvements to the diff engine #268 (josephschorr)
- Add library for computing the difference between the contents of two type graphs #267 (josephschorr)
- More performant ImmutableMap #265 (josephschorr)
v0.1.0 (2017-11-02)
Implemented enhancements:
- Add a local name cache to significantly speed up scoping, and add some other small optimizations #263 (josephschorr)
Fixed bugs:
- Fix error handling of invalid typegraph construction #261 (josephschorr)
Merged pull requests:
- Small FilteredQuery optimizations #262 (josephschorr)
v0.0.2 (2017-10-28)
Fixed bugs:
- Fix panics when using Grok due to concurrent reads and writes #260 (josephschorr)
- Various small fixes for discovered bugs #257 (josephschorr)
Merged pull requests:
- Additional testing of completions in Grok #259 (josephschorr)
- Add validation of basic types during typegraph construction #258 (josephschorr)
v0.0.1 (2017-10-26)
Implemented enhancements:
- Only promise of necessary #156 (josephschorr)
Fixed bugs:
- Support pluses in VCS paths for tags #255 (josephschorr)
- Fix module naming and pathing for paths containing dots #254 (josephschorr)
- Bug fixes for Grok #251 (josephschorr)
- Fix formatting issue on SML attributes without values #250 (josephschorr)
- Fix bug in generic type caching #249 (josephschorr)
- Small SML parsing fixes #244 (josephschorr)
- Parse and format fixes #242 (josephschorr)
- Exit code handling in the test runner was incorrect #241 (josephschorr)
- Fix a race condition in the packageloader #239 (josephschorr)
- Integer division optimization bug #238 (josephschorr)
- Fix version handling around corelib #233 (josephschorr)
- Libraries that are imported as aliases need to be imported with their kinds intact #224 (josephschorr)
- Fix bug in ES5 path normalization for absolute paths #223 (josephschorr)
- Various bug fixes around the resolve statement #218 (josephschorr)
- Fix panics due to invalid corelib path and entrypoint handling #217 (josephschorr)
- Fix formatting and generation of inline called lambda expressions #215 (josephschorr)
- Fix handling of non-promising dynamic accesses #214 (josephschorr)
- Really fix nativenew and add a test so we don't break it again #213 (josephschorr)
- Fixes, cleanup and additional warnings for working with VCS #208 (josephschorr)
- Don't offer operators in completion #192 (josephschorr)
- Fix parser to allow
any
values in mapping literals #170 (josephschorr) - Fix parsing of multiple annotations on WebIDL declarations #160 (josephschorr)
- Fix lookup of members directly under modules in type graph #159 (josephschorr)
- Fix handling of root ops over nullable expressions #158 (josephschorr)
- Properly check the expressions being returned #150 (josephschorr)
- Fix generation of nullable access operator #149 (josephschorr)
- Fix construction of read-write props in interfaces #147 (josephschorr)
- AssignmentType should never be overridden by context #146 (josephschorr)
Merged pull requests:
- Improvements to the release script, including updating homebrew #256 (josephschorr)
- Add a cache for lookup of types under modules #253 (josephschorr)
- Scoping and grok optimizations #252 (josephschorr)
- Add a scopegraph test for casting to agents #248 (josephschorr)
- Add better formatting of nested SML loops #247 (josephschorr)
- Add support for mixing streams and individual children under SML tags #246 (josephschorr)
- Add support for inline loops in SML #245 (josephschorr)
- Add a loop-that-yields test to scopegraph tests #243 (josephschorr)
- Some small tester improvements #240 (josephschorr)
- Improve the test running experience #237 (josephschorr)
- Remove unnecessary channel in packageloader #236 (josephschorr)
- Simplify graph modifier now that Cayley has a dedicated AddQuad method #235 (josephschorr)
- Change packageloader channels to be buffered #234 (josephschorr)
- Test runner improvements #232 (josephschorr)
- Add support for an exclusive range operator #231 (josephschorr)
- Add better comment onto the release script #230 (josephschorr)
- Add a "basic" release script for releasing new versions of Serulian #229 (josephschorr)
- Add Makefile for creating releases of the toolkit #228 (josephschorr)
- Add in-code support for versions #227 (josephschorr)
- Make the injected script in develop mode as async #226 (josephschorr)
- Add better sorting of aliased imports in formatter #225 (josephschorr)
- Add import alias support #222 (josephschorr)
- Add support for nested SML attributes #221 (josephschorr)
- Assign statement auto-unboxing support #220 (josephschorr)
- Change lexer and parser to treat negative numbers correctly #219 (josephschorr)
- Change ES5 state machine generation to use a continue where possible #216 (josephschorr)
- Remove Go 1.6 support, as we now use the plugin lib #212 (josephschorr)
- Various compilation fixes and some small improvements #211 (josephschorr)
- Formal support for language integration plugins #210 (josephschorr)
- Start work on allowing for formal integration of other languages and services into Serulian #209 (josephschorr)
- Add profile flag to the toolkit #207 (josephschorr)
- Fix range over composed type reference in Grok #206 (josephschorr)
- Small Grok improvements #205 (josephschorr)
- Fix missing change for Grok #204 (josephschorr)
- Prevent PrincipalType from panicing #203 (josephschorr)
- Source may not be present on imports when the graph is partial #202 (josephschorr)
- Fix bug in optimizing binary expression operators #201 (josephschorr)
- Make names optional on SRGNamedScope, as they may not be available on partial graphs #200 (josephschorr)
- Move parameter formatting into Grok #199 (josephschorr)
- Remove param documentation formatting #198 (josephschorr)
- Fix broken tests #197 (josephschorr)
- Add ContainsSource to Grok Handle #196 (josephschorr)
- Allow the PathLoader to override the packages cache path #195 (josephschorr)
- Some small fixes to source and grok #194 (josephschorr)
- Docstring improvements in Grok #193 (josephschorr)
- Lock VCS write operations globally by path #191 (josephschorr)
- Code context and actions support in Grok #190 (josephschorr)
- Add call signature lookup support to Grok #189 (josephschorr)
- Parameter-level documentation and better code summary support #188 (josephschorr)
- Expression parsing improvements #187 (josephschorr)
- Completion improvements #186 (josephschorr)
- Hardening for tooling #185 (josephschorr)
- Change compiler to use SourceRange's instead of SourceLocation's #184 (josephschorr)
- More fixes and improvements for IDE tooling #183 (josephschorr)
- Change packageloader to support an Entrypoint type #182 (josephschorr)
- Add support for multiple locations in the various graphs and in Grok #181 (josephschorr)
- Further range improvements in Grok #180 (josephschorr)
- Additional changes for IDE tooling #179 (josephschorr)
- Change Grok symbol ordering to use a score metric #178 (josephschorr)
- Add additional support to Grok #177 (josephschorr)
- Provide a library for building easy IDE and other tooling #176 (josephschorr)
- Change list and map literals to be immutable Slice and Mapping literals #175 (josephschorr)
- Add support for structural function mapping expressions #174 (josephschorr)
- Statically verify agent construction location #173 (josephschorr)
- Validate principals of agents after composition occurs #172 (josephschorr)
- Add the concept of agents to the type system #171 (josephschorr)
- Fix casting of nulls to any and add some additional tests #169 (josephschorr)
- Remove support for class composition #168 (josephschorr)
- Proper handling of native errors #167 (josephschorr)
- Better handling of conflicts between WebIDL files #166 (josephschorr)
- Fix panic on systems with dashes in their path #165 (josephschorr)
- Small fixes for resolve and structs #164 (josephschorr)
- Support semantic versioning in import commands #163 (josephschorr)
- Further formatter improvements #162 (josephschorr)
- Improvements and additional tests for the source formatter #161 (josephschorr)
- Fix handling of parsing errors in WebIDL #157 (josephschorr)
- Basic optimization of generated ES5 code #155 (josephschorr)
- Property optimizations #154 (josephschorr)
- Depromise vars for a small performance boost #153 (josephschorr)
- Dependent variable initialization fix #152 (josephschorr)
- Change lookup of containing nodes to use the local scope context #151 (josephschorr)
- Better define the rules around when types can be cast and cannot #148 (josephschorr)
- Struct default values #145 (josephschorr)
- Add support for using classes as props in SML expressions #144 (josephschorr)
- Small bug fixes #143 (josephschorr)
- Structural any type reference suppot #142 (josephschorr)
- Reduce the noise of errors by skipping checks on invalid scoped names #141 (josephschorr)
- Fix generics bug when referencing a generic scope under a generic static scope #140 (josephschorr)
- Fix formatting of nullable op nesting #139 (josephschorr)
- Add an ES5 integration test with a single call state #138 (josephschorr)
- Use strict, bug fixes and code gen optimizations #137 (josephschorr)
- Remove superfluous warning #136 (josephschorr)
- Bug fixes #135 (josephschorr)
- Various small fixes #134 (josephschorr)
- Fix handling of paths in Docker image #133 (josephschorr)
- Remove .dockerignore and add badge #132 (josephschorr)
- Add Dockerfile #131 (josephschorr)
- Additional testing and implementation for formatting tool #130 (josephschorr)
- Fix whitespace parsing of text under SML #129 (josephschorr)
- Change access rules for unexported names #128 (josephschorr)
- Fix source mapping and add a simple test #127 (josephschorr)
- Add missing formatter methods #126 (josephschorr)
- Fix generation of static op calls under generic types #125 (josephschorr)
- Add a cache for the containing implemented query in the SRG #124 (josephschorr)
- Some small optimizations #123 (josephschorr)
- Add check to disallow nullable types in match statements #122 (josephschorr)
- Update .gitignore #121 (josephschorr)
- Nullable if and not operator support #120 (josephschorr)
- Match type statement #119 (josephschorr)
- Change
match
statements toswitch
statements #118 (josephschorr) - Add prefix-parsing for nullable and streams in type references #117 (josephschorr)
- Fix for Cayley changes #116 (josephschorr)
- Simplify generation of structs #115 (josephschorr)
- Struct clone #114 (josephschorr)
- See if we can fix travis by enabling sudo for more memory #113 (josephschorr)
- Small query performance improvements #112 (josephschorr)
- Various small fixes #111 (josephschorr)
- Changes to make use of typed cayley graph values #110 (josephschorr)
- Nullable cast checking fix #109 (josephschorr)
- Fix for recent cobra changes #108 (josephschorr)
- Relative import support #107 (josephschorr)
- Fix for recent cobra changes #106 (josephschorr)
- Add support for the resolve statement #105 (josephschorr)
- Nominal shortcutting support #104 (josephschorr)
- Various smaller optimizations #103 (josephschorr)
- Any-related things #102 (josephschorr)
- Change to new namespace for Cayley #101 (josephschorr)
- Various small fixes #100 (josephschorr)
- Serulian Markup Language support #99 (josephschorr)
- Inline loop expression support #98 (josephschorr)
- Add a generator test using a resource #97 (josephschorr)
- Add support for generators #96 (josephschorr)
- Short circuiting fixes and improvements #95 (josephschorr)
- True casting #94 (josephschorr)
- Multiple import support #92 (josephschorr)
- Various small fixes #91 (josephschorr)
- Another set of small optimizations #90 (josephschorr)
- Disable GC when run as a single step binary #89 (josephschorr)
- Small fixes and optimization #88 (josephschorr)
- Various optimizations #87 (josephschorr)
- Change Iter on ordered_map usage to UnsafeIter #86 (josephschorr)
- Make sure boxing of null returns null #85 (josephschorr)
- Fix void settlement error #84 (josephschorr)
- Fix handling of args to async functions #83 (josephschorr)
- Optimize generation of root nominal operator #82 (josephschorr)
- Add basic README about the various toolkit commands #81 (josephschorr)
- Start on README and Travis support #80 (josephschorr)
- Move Serulian main package into a cmd folder #79 (josephschorr)
- Refactor the entire ES5 generator #78 (josephschorr)
- Start on ES builder library for better code generation #77 (josephschorr)
- Initial work on testing plugin and framework support #76 (josephschorr)
- Small source mapping improvements #75 (josephschorr)
- Add basic source mapping support for all generated code #74 (josephschorr)
- Add commands for freezing and unfreezing VCS imports #73 (josephschorr)
- Fix formatting of template strings #72 (josephschorr)
- Fix formatting of imports #71 (josephschorr)
- Formatter command #70 (josephschorr)
- State machine optimizations #69 (josephschorr)
- Optimize handling of structs and nominals #68 (josephschorr)
- Various bug fixes and improvements #67 (josephschorr)
- Add binary numeric literal support #66 (josephschorr)
- Basic development mode for the compiler #65 (josephschorr)
- Require explicitly declared types on module and class-level vars #64 (josephschorr)
- Fix lazy checking of nominal fields in structs #63 (josephschorr)
- Fix bug where we were not properly transforming binary and unary op return types #62 (josephschorr)
- Mapping literal support #61 (josephschorr)
- Large set of fixes for bugs discovered recently #60 (josephschorr)
- Add missing finish node call #59 (josephschorr)
- WebIDL and slice improvements #58 (josephschorr)
- Better numeric literals #57 (josephschorr)
- Regenerate golden files and add --vcs-dev-dir flag #56 (josephschorr)
- Structural equality #55 (josephschorr)
- Better resolution error messages #54 (josephschorr)
- Disallow slicing and indexing on nullable values #53 (josephschorr)
- In operator support #52 (josephschorr)
- Change nominals to always be a single-level wrapping #51 (josephschorr)
- Add unexported member test #50 (josephschorr)
- Fix some possible infinite loops in the parser #49 (josephschorr)
- Fixes for serialization, async, nominals and the type system #48 (josephschorr)
- Async functions #47 (josephschorr)
- Basic serialization support for structs with JSON #46 (josephschorr)
- Adding mapping and generic nominal types #45 (josephschorr)
- Some small optimizations #44 (josephschorr)
- Structural type support #43 (josephschorr)
- Better Messaging #42 (josephschorr)
- Transactional changes #41 (josephschorr)
- Ensure we have non-nullable types where expected #40 (josephschorr)
- Add code generation for remaining literals #39 (josephschorr)
- Slice typeref support and some small fixes #38 (josephschorr)
- Fix panic when trying to resolve under 'any' constrained generic #37 (josephschorr)
- Some small fixes and root type operator #36 (josephschorr)
- Fix handling of nominal types #35 (josephschorr)
- Fix handling of generic constraints with subtypes and member resolution #34 (josephschorr)
- Null equality comparison operator #33 (josephschorr)
- Better messaging #32 (josephschorr)
- Ensure all promise paths resolve #31 (josephschorr)
- Smaller fixes #30 (josephschorr)
- Have WebIDL operators construct their types from the definitions #29 (josephschorr)
- Fix generation of loops over expressions #28 (josephschorr)
- Fix ReplaceType for unequal replacement strings #27 (josephschorr)
- Add support for Streamable to loops #26 (josephschorr)
- Fix handling of identifiers referring to aliased types #25 (josephschorr)
- Add tests and parsing for accessing a member under a literal value #24 (josephschorr)
- Fix parsing of numeric literal ranges #23 (josephschorr)
- Small code fix for a test #22 (josephschorr)
- Fix parsing issue around multiline comments #21 (josephschorr)
- WebIDL indexer support #20 (josephschorr)
- Small fixes and improvements #19 (josephschorr)
- Better handling of promises and arrows #18 (josephschorr)
- New generation of ES5 based on a CodeDOM model. #17 (josephschorr)
- Disallow inheritance from special type references (any, nullable, str… #16 (josephschorr)
- Nominal type support #15 (josephschorr)
- WebIDL operator support #14 (josephschorr)
- WebIDL support #13 (josephschorr)
- Switch to using a github-based core library #12 (josephschorr)
- Initial implementation of ES5 code generation #11 (josephschorr)
- Full scoping and scope graph construction #10 (josephschorr)
- Full type graph construction and semantic checking #9 (josephschorr)
- Initial package loader merge PR #7 (josephschorr)
- Begin work on VCS import support #5 (josephschorr)
- Full implementation of the parser for the initial Serulian spec'ed language #4 (josephschorr)
- Merge parser into master #3 (josephschorr)
- Foundation of the Serulian parser #2 (josephschorr)
- Initial implementation of the Serulian compiler's lexer #1 (josephschorr)
* This Change Log was automatically generated by github_changelog_generator