Skip to content

Releases: EvilBeaver/OneScript

v2.0.0

01 Jan 18:13

Choose a tag to compare

Версия 2.0.0

Версия нового поколения, основанная на современной платформе .NET.
За счет этого обеспечивается кроссплатформенность без использования Mono на Linux и MacOS.

Требования по адаптации

За счет новой базовой платформы, потеряна бинарная совместимость с существующими внешними компонентами (dll).
Требуется перекомпиляция компоненты под новую версию .net, как минимум, под слой совместимости netstandard 2.0

Изменения по сравнению с ознакомительной версией 2.0.0-rc.10

  • Уточнена консольная справка по режимам работы
  • Исправлена лишняя остановка отладчиком на заголовке цикла Для Каждого
  • Исправлены шаги отладчика. Ранее, отладчик ошибочно не останавливался на строке КонецЦикла
  • Добавлена поддержка потока в ЗаписьТекста
  • Оптимизирована производительность рефлектора
  • Оптимизирована производительность компилятора
  • Оптимизирована производительность создания таблицы значений
  • В отладчике теперь отображаются переменные уровня модуля (ранее отображались только локальные)
  • Улучшена совместимость функции СтрНайти с платформой 1С

Большое спасибо @Mr-Rm, @dmpas, @Bayselonarrend за участие в этом релизе!

v1.9.4

16 Dec 19:02

Choose a tag to compare

Исправления ошибок

  • Добавлена проверка типов при записи свойств (#1592)
  • Исправлена ошибка "Несовпадение типов" при повторном вызове COM-методов, которые изменяют тип параметра внутри метода. Теперь при передаче параметров по ссылке (ByRef) в COM-объекты корректно обрабатывается изменение типа (например, из Неопределено в Массив) (#1597)
  • Улучшена передача объектов в COM-методы: объектные типы теперь передаются без преобразования, что предотвращает потерю данных и ошибки несоответствия типов. Также корректно обрабатываются пропущенные (необязательные) параметры (#1588, #1597)
  • Исправлена ошибка доступа по индексу при передаче параметров, которая могла приводить к исключениям при работе с коллекциями (#1590, #1429)

2.0.0-rc.8

03 Aug 12:42
1563ad1

Choose a tag to compare

2.0.0-rc.8 Pre-release
Pre-release

Новое в версии 2.0.0-rc.8

  • Заменена библиотека DotNetZip на форк ProDotNetZip из-за незакрытой уязвимости CVE-2024-48510
  • Существенно ускорена компиляция большого числа модулей. Запуск тяжелых приложений с множеством классов стал намного быстрее.
  • Доработан отладчик и сервер отладки, введен новый протокол обмена данными для отказа от BinaryFormatter в рамках перехода на net8
  • Изменен формат конфигурации для включения лога отладки. См. каталог установки расширения и файл VSCode.DebugAdapter.exe.config
  • Изменен вывод компилятора в случае ошибки. Изменена отметка отметка позиции ошибки в строке. Более точное позиционирование ошибки

Исправление ошибок

  • Разрешены комментарии после аннотаций модуля
  • Разрешено использование комментариев в строке с директивой Использовать
  • Слово Ждать вне асинхронного метода не должно иметь специального значения

v2.0.0-rc.7

03 Aug 07:18
b0c6e04

Choose a tag to compare

v2.0.0-rc.7 Pre-release
Pre-release

Новое в версии 2.0.0-rc.7

  • Проведена масштабная доработка ядра в части управления потоками bsl и удаления глобальных статических классов.
  • Нумерация версий ошибочно не соответствовала semver в части пре-релизного номера. Нумерация приведена к semver
  • Полностью переписан генератор документации OneScriptDocumenter
  • ВебСервер учитывает настройку FormOptions в appsettings.json
  • Проведена оптимизация экранирования символов в ЗаписьJSON

Исправление ошибок

  • Отладчик неверно шагает, не встает на строку КонецПроцедуры/Функции при обработке возврата
  • Возвращено поведение загрузчика из версии 1 с приоритетом ключа lib.additional
  • TestApp не добавлялся в состав дистрибутива SCD для Windows
  • Поведение Соответствия с ключом Неопределено приведено к новым версиям платформы.
  • Метод ЧтениеДанных.ПрочитатьБайт не выбрасывает исключение в конце потока
  • Исправление английского варианта метода КаталогПрограммы. Теперь используется совместимое с 1С название BinDir. Старый (неверный) вариант ProgramDirectory также поддерживаются с выдачей предупреждения

New Contributors

v1.9.3

03 Jun 07:10
76c7fb7

Choose a tag to compare

Новое в версии 1.9.3

Исправление ошибок

  • #1478: Исправлена загрузка 32-битных внешних компонент NativeApi из ZIP-архива в 64-битной среде
  • #1513: Исправлена прокси-библиотека NativeApi для 32-битной архитектуры
  • #1498: Исключение не перехватывает попыткой в случае если была вложенная попытка
  • #1409: Сохранять позицию при переводе ДвоичныхДанных в строку
  • #1424: Рефлексия свойств у загруженного с контекстом сценария +тест

Доработки ядра (для пользователей, встраивающих oscript в приложения C#)

  • Возможность прерывать главный цикл машины
  • Фильтр типов при инициализации движка

Благодарности

Традиционная благодарность Михаилу Рыбакину (@Mr-Rm) за поиск и исправление ошибок.
Также, большое спасибо Антону Титовцу (@Bayselonarrend) за поиск ошибок в механизме внешних компонент NativeAPI

v2.0.0-rc6

18 Mar 11:37

Choose a tag to compare

v2.0.0-rc6 Pre-release
Pre-release

Версия 2.0.0-rc6

Релиз является тестовым для выпуска финальной версии 2.0

Новые возможности

  • Чтение конфигурации Kestrel из appsettings.json
  • Добавлены методы явного указания wwwroot и content-root в вебсерере
  • Добавлена возможность работы с данными форм в вебсервере.
  • Метод для остановки веб-сервера
  • Регистрация обработчика прерывания по Ctrl+C, теперь можно подписаться на событие Консоль.CancelKeyPressed.
  • Теперь при выбросе исключения с передачей ИнформацияОбОшибке в качестве параметра, создаётся новая ИнформацияОбОшибке которая содержит оригинальную информацию об ошибке в поле Причина
  • В конструктор ИнформацияОбОшибке, добавлен параметр "Причина" для возможности указания причины текущей ошибки

Исправление ошибок

  • Исправлена загрузка 32-битных внешних компонент NativeApi из ZIP-архива в 64-битной среде
  • Исправлен возврат объекта внешней компоненты NativeApi из bsl-метода
  • Исправлен конфигурационный параметр runtime.default позволяющий выбрать способ исполнения (нативный или классический стековый)
  • Исправлено сравнение значений при поиске в коллекцииях значений (строгое сравнение)
  • Объект Действие не ломает отображение переменных в отладке
  • Исправлена работа ЧтенияДанных из ДвоичныхДанных большого размера
  • Некорректный парсинг Асинх и Ждать в обычном контексте
  • Исправлена коммутативность сравнения булевых
  • Исправлен английский синоним для Консоль.КодировкаВыходногоПотока
  • Исправлено Вычислить() с именами параметров процедуры
  • И многие другие

Огромное спасибо всем участвовавшим в выпуске релиза!

2.0.0-rc5

05 Nov 20:07

Choose a tag to compare

2.0.0-rc5 Pre-release
Pre-release

Версия 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

19 Oct 16:59

Choose a tag to compare

Новое в версии 1.9.2

  • В методе Добавить списка значений, параметр Значение необязательный (совместимость с 1С)
  • Исправлено: Если функция Выполнить() обёрнута в Попытку, а в исполняемом коде возникает исключение, то информация об ошибке теряется, и возникает ошибка стека ВМ
  • Исправлено: При вызове через COM пропущенные параметры получали значение Неопределено вместо значения по умолчанию
  • Исправлено: Неверно работал метод ЧтениеJSON.Пропустить()
  • Чтение JsonToken.Undefined сразу выбрасывает исключение
  • Уточнены сообщения о неверных данных в json
  • Существенно переработан алгоритм чтения JSON см. #1373

v1.9.1

07 Oct 11:55

Choose a tag to compare

Ошибка #1395: вызов Рефлектором методов с динамической сигнатурой. Исправление рекомендуется для пользователей фреймворка ОСень. Спасибо @Mr-Rm за исправление!

v2.0.0-rc4

23 Jan 09:15

Choose a tag to compare

v2.0.0-rc4 Pre-release
Pre-release

Новое в версии 2.0.0-rc4

Новые возможности

  • Реализована возможность создавать собственные классы-коллекции, доступные к обходу в цикле Для Каждого
  • Добавлена поддержка индексов в ТаблицеЗначений
  • В Рефлектор добавлен метод ИзвестныеТипы() который возвращает все зарегистрированные типы в виде ТаблицыЗначений
  • Реализован метод БуферДвоичныхДанных.Разделить()
  • При вызове метода через Рефлектор контролируется сигнатура метода и количество параметров
  • Добавлена возможность управления флагом "TCP_NODELAY" в объекте TcpClient
  • Улучшена документация, добавлены инструкции по сборке в файл README
  • В библиотеку парсера OneScript.Language добавлены синтаксические конструкции Асинх/Ждать и поддержка меток (Рантаймом не поддержано)

Исправление ошибок

  • Исправлены различные ситуации вызова COM-методов, повышена стабильность работы с COM-объектами
  • Исправлена ошибка при переопределении строкового представления объектов. В ряде случаев, переопределенное представление приводило к вызову другого метода
  • Отладчик неверно работал с индексацией переменных и мог показывать неверные значения
  • Для MacOSX и Linux изменено поведение запуска процесса в части разбора командной строки. (Experimental)
  • И другие