Releases: EvilBeaver/OneScript
2.0.0-rc5
Версия 2.0.0-rc5
Релиз является тестовым для выпуска финальной версии 2.0
Новые возможности
- Добавлен встроенный http-сервер на базе Kestrel
- Добавлена функция остановки по условию при отладке
- Реализована возможность фильтрации точек остановы для исключений по тексту ошибки
- Существенно переработана внутренняя реализация "памяти" виртуальной машины
- Движок переведен на платформу .NET 6
- Возможность управления кодировкой дебаг консоли
Исправление ошибок
- fix #1411 расхождение английских алиасов для некоторых методов
- fix #1451: обновление глобального скоупа при загрузке внешнего модуля
- fix #1459: диагностика использования встроенной функции как процедуры
- fix #1441: функциональный вариант Новый с ФиксированнымМассивом +тест
- замена на системные функции
- fix #1429: некорректная привязка номера строки в тексте ошибки к строке исполняемого кода
- fix вывода сообщения об ошибке в условии брэйкпоинта
- fix #1418 отладчик одинаково реагирует на Stop и Disconnect, продолжая выполнение
- fix ошибки потери информации об ошибке при вычислении во фрейме
- fix #1427: исправление раскрутки стека при исключении в Выполнить
- fix #1419: не проверяются типы Перечислений при передаче их параметрами
- Свойство "Символы" было доступно для записи
- fix #1373, #1404 для v2: Ошибки чтения JSON
- fix #1396 В отладчике не показывается переменная, добавленная в "загрузить сценарий", как внешний контекст.
v1.9.2
Новое в версии 1.9.2
- В методе Добавить списка значений, параметр Значение необязательный (совместимость с 1С)
- Исправлено: Если функция Выполнить() обёрнута в Попытку, а в исполняемом коде возникает исключение, то информация об ошибке теряется, и возникает ошибка стека ВМ
- Исправлено: При вызове через COM пропущенные параметры получали значение Неопределено вместо значения по умолчанию
- Исправлено: Неверно работал метод ЧтениеJSON.Пропустить()
- Чтение JsonToken.Undefined сразу выбрасывает исключение
- Уточнены сообщения о неверных данных в json
- Существенно переработан алгоритм чтения JSON см. #1373
v1.9.1
v2.0.0-rc4
Новое в версии 2.0.0-rc4
Новые возможности
- Реализована возможность создавать собственные классы-коллекции, доступные к обходу в цикле Для Каждого
- Добавлена поддержка индексов в ТаблицеЗначений
- В Рефлектор добавлен метод
ИзвестныеТипы()
который возвращает все зарегистрированные типы в виде ТаблицыЗначений - Реализован метод
БуферДвоичныхДанных.Разделить()
- При вызове метода через Рефлектор контролируется сигнатура метода и количество параметров
- Добавлена возможность управления флагом "TCP_NODELAY" в объекте TcpClient
- Улучшена документация, добавлены инструкции по сборке в файл README
- В библиотеку парсера OneScript.Language добавлены синтаксические конструкции Асинх/Ждать и поддержка меток (Рантаймом не поддержано)
Исправление ошибок
- Исправлены различные ситуации вызова COM-методов, повышена стабильность работы с COM-объектами
- Исправлена ошибка при переопределении строкового представления объектов. В ряде случаев, переопределенное представление приводило к вызову другого метода
- Отладчик неверно работал с индексацией переменных и мог показывать неверные значения
- Для MacOSX и Linux изменено поведение запуска процесса в части разбора командной строки. (Experimental)
- И другие
v1.9.0
Новое в версии 1.9.0
Новые возможности
- В Рефлектор добавлен метод
ИзвестныеТипы()
который возвращает все зарегистрированные типы в виде ТаблицыЗначений - Реализован метод
БуферДвоичныхДанных.Разделить()
- При вызове метода через Рефлектор контролируется сигнатура метода и количество параметров
- Улучшена документация, добавлены инструкции по сборке в файл README
- В отладчике теперь отображаются в том числе приватные (не экспортные) переменные объектов
Исправление ошибок
- Исправлены различные ситуации вызова COM-методов, повышена стабильность работы с COM-объектами
- Исправлена ошибка при переопределении строкового представления объектов. В ряде случаев, переопределенное представление приводило к вызову другого метода
- Отладчик неверно работал с индексацией переменных и мог показывать неверные значения
Благодарности
Огромное спасибо авторам, сделавшим данный релиз возможным:
- Сергей Батанов
- Михаил Рыбакин
Также большое спасибо всем, кто сообщал о найденных ошибках и помогал их исправлять:
- @nikepopov
- @tormozit
- @240596448
- и многие другие
Постскриптум
Данный минорный релиз (1.9), я надеюсь, будет последним в ветке 1.x. Критичные ошибки будут исправляться, но новых функций добавляться, скорее всего, не будет. Версия 1.x получит статус Long-Term-Support (LTS) и в нее будут портироваться все важные ошибки, которые для нее будут актуальны.
Предлагаю сообществу потихоньку переходить версию 2.0, тестировать, проверять, сообщать об ошибках. Данное положение пока не окончательное, время покажет, но пока планы именно такие.
v2.0.0-rc3
v2.0.0-RC3 Предварительная версия
- Исправлено большое число ошибок режима native
- Исправлено большое число ошибок стандартного режима
- Синхронизированы изменения с версией 1.х
- Повышена стабильность работы
Почему стоит переходить на версию 2.0
- Более современный и быстрый .NET, 1Script работает быстрее
- Самостоятельная поставка в виде self-contained deployment (SCD), не требующая установки .net на целевую машину
- Строго-типизированный статический компилятор для высоконагруженых участков кода (экспериментальная фича) позволяет компилировать язык 1С напрямую в коды машины .NET а затем в машинный код. Производительность на уровне чистого C#
v1.8.4
Новое в версии 1.8.4
Исправление ошибок
- Некорректное поведение ЗаписатьJSON->ПрочитатьJSON для значений Неопределено
- Отладчик: выражения в watch вычисляются без учета выбранного фрейма стека вызовов
- Вложенные операции Выполнить выдавали ошибку
- Не обрабатываются исключения в Выполнить()
- Неверно форматируется пустая дата, исправлено поведение функции Формат
- Функции ЧтениеДанных.ПрочитатьЦелоеXX() не возвращают Неопределено в конце потока
- Функция ПолучитьИмяВременногоФайла() без параметров не устанавливает расширение ".tmp"
- Компилируются ошибочные выражения с оператором НЕ
- Реализован контроль обязательных и пропускаемых параметров встроенных функций
- Запрещено сравнение значений перечислений на больше-меньше. Поведение приведено в соответствие с 1С
- Не возвращалось значение выходных параметров при вызове COM-объектов
- При исполнении делегата в фоновом задании, результат исполнения делегата не помещался в Результат фонового задания
- Исправлен алгоритм приведения типов в методе ОписаниеТипа.ПривестиЗначение. Поведение приведено в соответствие с 1С
- XMLЗначение: исключение при передаче имени системного перечисления.
Новые возможности
- Обновлен плагин отладчика для VSCode, для поддержки функции Disconnect обновите отладчик.
- Добавлена поддержка логирования протокола отладчика, может быть полезно при расследовании ошибок отладки
- Добавлено управление флагом debug.wait в конфигурации запуска отладки для режима oscript.web
- Добавлены примеры настроек отладчика в README пакета расширения
- В перечисление ЦветаКонсоли добавлены дополнительные цвета
v2.0.0-rc2
Релиз-кандидат версии 2
- Исправлены найденные ошибки версии rc1
- Синхронизированы доработки с версией 1.х
v1.8.3
Новое в версии 1.8.3
Большинство доработок в релизе это исправления ошибок и функциональность, необходимая проектам ОСень и winow.
Улучшения
- Рефлектор возвращает таблицу значений для параметров аннотаций, даже если параметров нет. Ранее возвращал Неопределено.
- Реализована возможность работать с приватными полями через Рефлектор
- Обновлен Newtonsoft.Json (требование безопасности)
Исправление ошибок
- Не отлаживались фоновые задания
- Исправлена ошибка кеширования результатов Выполнить/Вычислить
- Существовала возможность выполнить приватный метод стороннего скрипта через механизм подписок на события
- Исправлены некоторые ошибки в компиляторе и отладчике
Благодарности
- Традиционная благодарность @Mr-Rm за поиск и исправление самых сложных и запутанных ошибок
- @Macegor за упорство в отладке фоновых заданий
- @Absolemus за его первый пулреквест "вслепую" без знания C#
- @nixel2007 и @Nivanchenko за мотивацию доработать рефлектор
v1.8.2
Новое в версии 1.8.2
Улучшения
- Рефлектор показывает значения параметров по умолчанию для методов
Исправление ошибок
- Не отлаживались фоновые задания
- В отладке вычисление выражений WATCH иногда выдавало ошибку "Индекс за пределами диапазона"