From cea49f3c9d54dbe26952a500cb510d9caa9daf6f Mon Sep 17 00:00:00 2001 From: aNNiMON Date: Fri, 15 Dec 2023 23:05:20 +0200 Subject: [PATCH] Add changelog page --- docs/docs/.vuepress/configs/pages.js | 3 +- docs/docs/en/changelog.md | 66 +++++++++++++++++++++++++++ docs/docs/ru/changelog.md | 68 ++++++++++++++++++++++++++++ 3 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 docs/docs/en/changelog.md create mode 100644 docs/docs/ru/changelog.md diff --git a/docs/docs/.vuepress/configs/pages.js b/docs/docs/.vuepress/configs/pages.js index ff894be..d60daba 100644 --- a/docs/docs/.vuepress/configs/pages.js +++ b/docs/docs/.vuepress/configs/pages.js @@ -4,7 +4,8 @@ export default { text: {'en': 'OwnLang', 'ru': 'OwnLang'}, pages: [ 'README.md', - 'links.md' + 'links.md', + 'changelog.md', ] }, diff --git a/docs/docs/en/changelog.md b/docs/docs/en/changelog.md new file mode 100644 index 0000000..b3f0a0a --- /dev/null +++ b/docs/docs/en/changelog.md @@ -0,0 +1,66 @@ +# Changelog + +## 1.5.0 + +- Added modules `zip`, `gzip`, `okhttp` +- Added functions `std::getBytes`, `std::stringFromBytes`, `std::stripMargin` +- Added JProgressBar, JTextArea, JScrollPane to `forms`, methods for JButton, JTextField and WindowListener +- Added function `joining` to `functional::stream` +- Added array properties: `arr.length`, `arr.isEmpty()`, `arr.joinToString(...)` +- Added null coalesce operator `??` +- Added basic support for classes +- Strict string to number conversion +- `for` supports iterating strings and arrays with index: + `for ch : "test"` + `for ch, code : "test"` + `for el : arr` + `for el, index : arr` +- Pretty-print for `jsonencode`: + `jsonencode(obj)` — minified json + `jsonencode(obj, 2)` — pretty-print json with 2 spaces indent +- Ability to set options for yaml parser/dumper +- Fixed mysql connection in `jdbc` +- Fixed `str::range` for reversed ranges +- Fixed files::readBytes with offset and length +- Fixed matching class constructor in `java::new`. Ability to instantiate classes with `new` operator +- Other minor changes + + +## 1.4.0 + +- Added modules `downloader`, `regex` +- Added functions `std::arraySplice`, `std::default` +- Added constant `std::OwnLang` which stores language version and platform metadata +- Added `peek`, `sorted` to StreamValue +- An ability to import several modules `use ["std", "types", "math"]` +- String internal fields support (length, lower, upper, chars, trim(), startsWith(s), endsWith(s), matches(s), contains(s), equalsIgnoreCase(s), isEmpty()). Also support for extensions: `"%d. %s".sprintf(1, "OwnLang")` -> `sprintf("%d. %s", 1, "OwnLang")` +- Added kawaii-operator `^^` +- Improved REPL mode. Now command history (up key) supported on all platforms. Added autocompletion by Tab key. +- Improved error output +- Updated examples + + +## 1.3.0 + +- Function and function call chaining support (`func().func()` and `func()()`) +- Added `takewhile`, `dropwhile`, `stream` functions to `functional` module +- Added `parseInt`, `parseLong`, `toHexString` functions to `std` module +- Added `copy` function to `files` module +- Added `socket`, `base64`, `java`, `forms`, `jdbc` modules +- Improved optimization +- Updated examples +- Minor fixes and improvements + +## 1.2.0 + +- Added `canvasfx`, `date`, `yml`, `aimp` modules +- Updated `std`, `math`, `files`, `functional` modules +- Added `std::ARGS` constant for accessing command-line arguments +- Added REPL mode, Beautifier, Linter, Optimizer +- Fixed error recovering in parser and deadlock in lexer +- Added merging objects operation `map1 + map2` +- Fixed variables scope +- Speed up files reading +- Added NumberValue cache +- Updated Netbeans plugin +- Added examples and help diff --git a/docs/docs/ru/changelog.md b/docs/docs/ru/changelog.md new file mode 100644 index 0000000..82056eb --- /dev/null +++ b/docs/docs/ru/changelog.md @@ -0,0 +1,68 @@ +# История изменений + +## 1.5.0 + +- Добавлены модули `zip`, `gzip`, `okhttp` +- Добавлены функции `std::getBytes`, `std::stringFromBytes`, `std::stripMargin` +- В `forms` добавлены JProgressBar, JTextArea, JScrollPane, методы для JButton, JTextField и WindowListener +- В `functional::stream` добавлена функция `joining` +- Добавлены свойства и функции для массивов: `arr.length`, `arr.isEmpty()`, `arr.joinToString(...)` +- Добавлен оператор объединения с null `??` (null coalesce) +- Добавлены классы (пока без наследования, как структура) +- Строгое преобразование строк в числа (раньше int("test") выдавало 0, а теперь ошибку) +- В `for` теперь можно итерировать строки и массивы с индексом: + `for ch : "test"` + `for ch, code : "test"` + `for el : arr` + `for el, index : arr` +- В jsonencode можно задать отступ для читабельного форматирования: + `jsonencode(obj)` — минифицированный json + `jsonencode(obj, 2)` — pretty-print с отступом в 2 пробела +- Возможность задать параметры парсера/дампера yaml +- Исправлено подключение к mysql в модуле `jdbc` +- Исправлен `str::range` для реверсивных промежутков +- Исправлена функция files::readBytes с заданными offset и length +- Исправлен поиск подходящего конструктора класса в `java::new`, так же можно инстанцировать класс через оператор new +- Другие мелкие изменения + + +## 1.4.0 + +- Добавлены модули `downloader`, `regex` +- Добавлены функции `std::arraySplice`, `std::default` +- Добавлена константа `OwnLang` в модуль `std`, содержащая метаинформацию о версии языка и платформы +- В StreamValue добавлены функции `peek`, `sorted` +- Возможность импортировать сразу несколько модулей `use ["std", "types", "math"]` +- Поддержка внутренних полей и функций у строк (length, lower, upper, chars, trim(), startsWith(s), endsWith(s), matches(s), contains(s), equalsIgnoreCase(s), isEmpty()). Также доступны автоматические функции расширения: `"%d. %s".sprintf(1, "OwnLang")` -> `sprintf("%d. %s", 1, "OwnLang")` +- Добавлен kawaii-оператор `^^` для возможного переопределения +- Улучшен режим REPL, теперь история команд (клавиша вверх) поддерживается на всех платформах, а по табу теперь всплывают подсказки автодополнения +- Немного улучшен вывод ошибок +- Обновлены примеры + + +## 1.3.0 + +- Поддержка цепочек функций и функциональных вызовов (`func().func()` и `func()()`) +- Добавлены функции `takewhile`, `dropwhile`, `stream` в модуль `functional` +- Добавлены функции `parseInt`, `parseLong`, `toHexString` в модуль `std` +- Добавлена функция `copy` в модуль `files` +- Добавлены модули `socket`, `base64`, `java`, `forms`, `jdbc` +- Улучшена оптимизация +- Обновлены примеры +- Мелкие исправления и улучшения + + +## 1.2.0 + +- Добавлены модули `canvasfx`, `date`, `yml`, `aimp` +- Обновлены модули `std`, `math`, `files`, `functional` +- Добавлена константа `std::ARGS` для доступа к аргументам командной строки +- Добавлен режим REPL, Beautifier, линтер, оптимизатор +- Добавлена операция слияния объектов `map1 + map2` +- Исправлено восстановление при ошибках парсинга и зависание в лексере +- Исправлена область видимости переменных +- Ускорено чтение файлов +- Добавлен кэш числовых значений +- Обновлён плагин для Netbeans +- Добавлены примеры и помощь +