Add changelog page

This commit is contained in:
aNNiMON 2023-12-15 23:05:20 +02:00 committed by Victor Melnik
parent 6cdfd5173f
commit cea49f3c9d
3 changed files with 136 additions and 1 deletions

View File

@ -4,7 +4,8 @@ export default {
text: {'en': 'OwnLang', 'ru': 'OwnLang'},
pages: [
'README.md',
'links.md'
'links.md',
'changelog.md',
]
},

66
docs/docs/en/changelog.md Normal file
View File

@ -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

68
docs/docs/ru/changelog.md Normal file
View File

@ -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
- Добавлены примеры и помощь